This is a guide how to upload new firmware using Arduino IDE.
Sonoff is a ESP8266 based WiFi wireless switch that can connect to
appliance of different types and brands. This is a smart switch
to control any device on 110v and 230v. Note this operation will overwrite the original software, this guide is for people who want to use their own software.
Step 1: Components
Components for this project
SONOFF - WiFi Wireless Smart Switch
PL2303 - USB to UART Converter
USB cable
Several wires
Switch
Step 2: Arduino IDE setup
At the beginning we need the Arduino IDE, If you do not have it
then you can download from this site Arduino IDE download
To be able to program ESP8266 in the Arduino environment, we need
to install the additional platform ESP8266 to the Arduino environment.
Select preferencesEnter http://arduino.esp8266.com/stable/package_esp8266com_index.json into Additional Board Manager URLs field. You can add multiple URLs, separating them with commas.Open Boards Manager from Tools > Board menuInstall ESP8266 platformSelect generic ESP8266 module board from Tools > Board menuChange Flash Size: 1M (64K SPIFFS)
Our option settings in In the Arduino IDE should look like this:
Flash Mode: DIO
Flash Frequency: 40MHz
Upload Using: Serial
CPU Frequency: 80MHz
Flash Size: 1M (64K SPIFFS)
Debug Port: Disabled
Debug Level: None
Reset Method: ck
Upload Speed: 115200
Port: Your COM port connected to sonoff
Step 3: Connection of USB converter to ESP8266
PL2303 pin
ESP8266 pin
GND
GND
3.3v
3.3v
RX
TX
TX
RX
Step 4: Flashing a Custom Firmware to SONOFF
Do not connect AC power during the flash cable connection.
To flash the new software to our SONOFF, we have to start Sonoff in flash mode.
Follow this steps process:
Connection of USB converter to SONOFF
Hold down the SONOFF button
Toggle the switch to apply power to the Sonoff circuit
Then, we can release the SONOFF button
After SONOFF is in flash mode, we can upload new software.
This program is very simple, so it is great for first flashing.