Hacking IoT Smart Plugs

This is an update to a previous blog post I wrote about modifying smart sockets.

I think we all know what these smart sockets do. There’s an app, the app controls the socket, you can turn items on and off without needing to physically be near them. You either “get” them or think they’re a waste of time.

They work well, but could work better. Their main issue is the app ecosystem they’re part of. It’s not specifically bad, but the concept of needing the Internet in order to control items in your house is just daft. I know it’s done to make setting these devices up easier, but we know how well relying on external servers can be.

Ones based off ESP8266 chips can be flashed with Tasmota. It’s a fairly tricky and violent affair, involving physically cracking open the plugs and soldering a USB-Serial dongle to the programming pins of the microcontroller. However once done it never needs doing again.

What gets difficult is when manufacturers change the chips to be non-ESP based chips. And it’s impossible to know which chip they are using before buying them. The general trend seems to be to move away from ESP8266 microcontrollers, and towards others. This might be to stop people hacking them, but it’s probably more down to costs.

Fortunately there’s alternate firmware for the new chips that are being used. And if there isn’t, currently the new microcontrollers all use the same pinout and adapter board the ESP based controllers use. And it’s possible to buy replacement ESP boards.

The newer plugs seem to work with firmware called OpenBeken which is sort of like Tasmota, but for chips Tasmota doesn’t work on.