Sonoff Wifi powerline switch mod

Found this interesting Wifi power switch on Ebay for only $6,11.  It’s not clear to me if this is the original design or a copy of it. Detailed info can be found on this Wiki page.

Sonoff TH powerline switch

To connect it to my Mqtt broker and domotica I wanted to make my own firmware.
Easy said, easy done. There are plenty example on the net how to do this. Because there’s an esp8266 inside there are also numerous Arduino software example available.
First step was soldering a header to the empty programming socket and connect my Usb to serial adapter to it. Take a note that you must have a 3.3V usb to serial adapter, they can be found for under a dollar on ebay. Don’t know how they can make it for that amount and even send it to the other side of the world.
Connected the usb adpater to my pc and voila, I’m in. Keep also in mind not connect it to the mains when connected to your pc. Both powersupply’s are not happy with each other.
Simple led blink program was working, connecting to wifi was also working, but unfortunately the red led and ota (over the air) update was not working.
The ota was complaining that the authentication was not correct and I was sure it was correct.
After lot of Googleing and some tries it was clear that the memory settings in the Arduino ide where not correct, but what must it be then?
This setup was working for me, cant say it will work for all Sonoff versions, but you can try setting the ide like this.
/*
    Gerneric Esp8266 Module: Flash Mode: DIO, Flash Frequency: 40MHz, CPU Frequency: 80MHz
    Flash Size: 1M (64K SPIFFS), Debug Port: Disabled, Debug Level: None,  Reset Method: ck
 */

Now the red led.
In some Arduino code that I found they say that the red led will lit when the relay will be activated. But both didn’t work. Red led and relay didn’t worked. Relay was simply fixed, it needed the 5V from the Sonoff build in power supply, connected to the mains and the relay worked, but still no red led.
Looking at the schematic and the pcb some critical components for the led where not placed. Q3, Q4, R2 and R23 are not placed.
Q3 and R2/22 are used for the Sonoff version that have also the 433Mhz receiver. Q4 and R23 are used to lit the red led if the relay is activated.
Both are not placed, so that’s why the led will not lit. If you want to let the red led work together with the relay, just place Q4 (2N7002) and R23 (1K) and it works.
However I wanted the red led under software control and decided to use one of the free gpio ports from the Esp8266.
Soldered a wire from gpio4 (pin16) on the Esp8266 to the drain of Q3. See the pictures below for details.

That’s it everything working as wanted.

Wire connected to IO
Wire other side connected to Q3
Programmer connection
Usb 2 serial connection
Programmer connected to Sonoff
PlayPause
previous arrow
next arrow
 
Wire connected to IO
Wire other side connected to Q3
Programmer connection
Usb 2 serial connection
Programmer connected to Sonoff
previous arrow
next arrow