SONOFF - ESP8266 Update Firmware With Arduino IDE





Introduction: SONOFF - ESP8266 Update Firmware With Arduino IDE

About: Software, electronics, do-it-yourself

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.

See this project here: SONOFF - ESP8266 update firmware with Arduino IDE

Step 1: Components

  • 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.

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 pinESP8266 pin

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 SONOFFHold down the SONOFF buttonToggle the switch to apply power to the Sonoff circuitThen, we can release the SONOFF buttonAfter SONOFF is in flash mode, we can upload new software.This program is very simple, so it is great for first flashing.

#define LED_PIN 13

void setup() {




void loop() {

digitalWrite(LED_PIN, HIGH);


digitalWrite(LED_PIN, LOW);




ESP8266 and multiple temperature sensors DS18b20 with HTTP server



  • Oil Contest

    Oil Contest
  • Creative Misuse Contest

    Creative Misuse Contest
  • Water Contest

    Water Contest

5 Discussions


I uploaded the app but after I disconnected the flash cable and connect the power nothing happens. Any idea? How can I verify that the app was upload successfully?


My Sonoff I can programing when I select ESP8285 too, but MC on board is ESP8266.


I got 'new' version of sonoff basic and got the same flashing problem. I try to use this method but it doesn't work for me, I think I forgot something.

Juste a question, how do you put the sonoff flashing mode (power on +3.3 while pushing button ?) ?

thank you

PS : just a difference with you, I havn't got a 2303 usb (I got but driver problem on Win 10) and I try flashing with arduino nano ... Perhaps it's the problem.

1 reply

on the elecrrodragon v1.5 I had to power + 5v!


9 months ago

Thank you very much. Selecting ESP8285 worked perfect.