Flashing custom firmware on a Gosund SP111
We have some older generation Teckin SP22’s which I previously flashed with Espurna. They have since changed the model making it harder to flash due to the removal of the 4 screws on the back. People online reported some levels of success using Tuya Convert, but I wanted something that I could flash via serial.
This lead me to looking into alternatives, eventually leading me to the Gosund SP111 due to it also featuring power reading capabilities and higher load rating.
To flash this device, you will need:
There are several custom firmwares available for these ESP8266 based devices, including:
This time I went with Tasmota as it was well documented, has a big community, and I wanted to try something different.
Preparing the device
To be able to flash the device you must first remove a single screw which can be done from the back of the device.
Once losened you should be able pop off the top, around the translucent rim.
As you can see from the diagram there are the soldering points exposed which we must connect the relevant jumper cables too.
This table describes the way in which you should connect the devise to the FTDI.
I ended up sharpening the male ends of the jumper cables slightly so that they would fall slightly through the holes, using tape to secure them to the side of the device making it easier to work with.
Here is the other end of the FTDI wired up showing the two cables wired to
GND which will be used later for putting the device into flashing mode.
For the flashing process I used esptool a simple well documented command line tool.
To put the device into flashing mode you need to cross
GND for a few seconds whilst connecting the FTDI adaptor.
You can easily do this by holding the bridged cable on
GPI0 by hand and removing shortly after. To tell this worked correctly when removed the red LED turns dimmed, indicating it’s in flashing mode.
Backup existing firmware (optional):
sudo esptool.py --port /dev/ttyUSB0 read_flash 0x00000 0x100000 <name-of-backup>.bin
<name-of-backup> with something more meaningful like
Erasing existing firmware:
sudo esptool.py --port /dev/ttyUSB0 erase_flash
Flashing new firmware
sudo esptool.py --port /dev/ttyUSB0 write_flash -fs 1MB -fm dout 0x0 sonoff.bin
sonoff.bin is the latest Tasmota build.
Once finished, disconnect cables and assemble device. Follow the official documentation from here regarding setting up the device.
I noticed that the LED was always on no matter if the device is on or off. To fix this others reported pasting the following value into the console of the web UI.