SmartThings compatible smart plugs are annoyingly expensive — typically around £40. This is far too expensive to consider buying many of. There are however WiFi plugs available online for around £10 that don’t officially work with SmartThings. Most of them are based on the ESP8266 chip which can be reflashed with new firmware that will work with SmartThings. Below I document my trials and tribulations with hacking these plugs
As of March-2018 I’ve tried 4 diferent makes of plugs with a variety of results.
Note — Regardless of the software you plan to use to flash the device, and regardless of the flash image you use, I recommend using pin headers (ideally soldered) to get a reliable connection during flashing. I got a pack for around £10 which has enough headers to do hundreds of smart plugs. I also recommend using a CH340G USB to serial adapter instead of an FTDI adapter as there can be issues with the drivers for the FTDI adapters. If you already got an FTDI adapter make sure you are using the older drivers. Also ensure your adapter can supply 3.3v rather than 5v (which will likely fry the ESP8266 chip)
I have used Sonoff-Tasmota which I build and install via the Arduino IDE. I then installed a custom device handler, made by Brett Sheleski
By the end of my experiments I had 2 working SmartPlugs, having bought 4 different plugs (£44.94 total), 1 USB adapter (£5.99), and 1 set of pin headers (£6.69). If you don’t have a soldering iron you’ll need one of those too (£26.29). Including the soldering iron my total cost was £83.91. Had all 4 plugs worked this would have been decent value. As it is, I’ve got 2 working plugs, at a cost of £41.96 each. This is almost identical to a Belkin WeeMo, which might make the whole thing seem pointless — and if you only want a total of 1 or 2 plugs it probably isn’t the best way to go. However, I plan to have quite a few more plugs, and I can now add more plugs to my collection at a total cost of £8.97 each as I already have everything else I need to flash them.
1. COOSA SWA1 (has a purple button)
This has a second PCB inside it which is labelled as an SWA1. Googling this indicates that it uses an ESP8266 inside and a successful firmware hack has been documented (with pins shown) by Nathan Chantrell. I have followed Nathan’s method with success, although the module type didn’t show up the first time (I made an error modifying the code) but I was able to get the device working by selecting Generic and then configuring the pins myself. This worked but not quite flawlessly, so after a bit of reading I reflashed it. Nathan’s guide doesn’t make it clear that 3 changes are needed to the code before flashing — the large section at the bottom, and the matching name from it needs to be added to 2 lists above which should be obvious when viewing the file. Since reflashing (via the web interface) it has worked very well. To keep the soldering simple I fed 5v from my USB adapter to the 5v pin, but I left the adapter set to 3.3v (i.e. the setting for the data pins). So it is worth having an adapter with both 5v and 3.3v pins and a jumper to set the voltage of the data pins independently (as the CH340G I linked to on Amazon has)
2. The HowiseAcc S126 Smart plug with USB (curves in slightly in the middle)
Information online indicated that the TYWE3S component in this smart plug contains and ESP8266 and hence it should (in theory) be flashable. I have not as yet identified the correct pins, altho there are labels for 3.3v and ground on the underside and the TX, RX and GPIO0 pins on the TYWE3S are shown on a similar device on a post on GitHub. I found at least 1 other thread with another person asking about the same device, and some more information from Andreas Engel, but with 2 of my 4 “test plugs” working I decided that trying to solder this headers on this plug was too difficult and have ditched it. If you’ve got a steadier hand than me then take a look at the link, especially the second one and please let me know if you have any luck.
3. Floureon PS-16-MB Smart Plug
This has an ESP8285 chip onboard which is compatible with the ESP8266. It has trickier headers to solder but once soldered it flashed perfectly first time. Just connect the 4 regular pins (3.3v, ground, TX, RX) and hold the button down whilst powering it up (1−2 seconds was enough). As this is effectively a Sonoff S20 clone I suspect it can be flashed more easily with the NodeMCU flasher by following Eric M’s guide, S20 firmware, Device handler, and Smart App code. However, I preferred to go with the Tasmota firmware as I had already set everything up to build and flash it, and it supports the other smart plugs which aren’t all Sonoff S20 clones. The choice of which way to go is up to you.
4. The Aonokoy SE01 (16 Amp) smart plug
This has an ESP8266 and easy to access headers, although they are too close together to connect regular pin headers to so I used loose wires instead. I have been able to connect mine to my PC and flash it. After flashing it boots up as expected and the web interface of the firmware loads, but the unit crashes after around 10 seconds every time. I am not sure why this is, but it does it with several different firmwares flashed onto it. I am hoping it is just bad luck with a duff unit.
Got some thoughts of your own? Indulge yourself below by commenting! If you would like to subscribe please use the subscribe link on the menu at the top right. You can also share this with your friends by using the social links below. Cheers.