Backup & Restore Official Firmware of Sonoff WiFi Smart Switches

Contents:

Controlling Sonoff Smart Switches without internet over Local Area Network is hot topic for Sonoff enthusiasts. After loading any custom firmware to Sonoff, you cannot go back to the official firmware but now you can!!. Just backup your official firmware by following the instructions below and you can restore it later if you want. So Let’s get started..

Hardware Requirements:

Software Requirements:

Step-by-Step Procedure:

Step A:

Download and install Python 2.x or 3.x from https://www.python.org/downloads. Download Esptool from https://github.com/espressif/esptool/releases. Extract the contents of esptool compressed file to C:. All the contents of esptool should be under c:esptool.

Step B:

  • Open Command Prompt (Start > Run > cmd) and navigate to esptool folder.

cd c:/esptool

  • Install the esptool by issuing the command below.

python setup.py install

It takes few seconds to upload firmware and output will be shown as follows.
c:esptool>python setup.py installrunning installrunning bdist_eggrunning egg_infocreating esptool.egg-infowriting requirements to esptool.egg-inforequires.txtwriting esptool.egg-infoPKG-INFOwriting top-level names to esptool.egg-infotop_level.txtwriting dependency_links to esptool.egg-infodependency_links.txtwriting entry points to esptool.egg-infoentry_points.txtwriting manifest file 'esptool.egg-infoSOURCES.txt'reading manifest file 'esptool.egg-infoSOURCES.txt'reading manifest template 'MANIFEST.in'writing manifest file 'esptool.egg-infoSOURCES.txt'installing library code to buildbdist.win-amd64eggrunning install_librunning build_pycreating buildcreating buildlibcopying esptool.py -> buildlibcopying espsecure.py -> buildlibcopying espefuse.py -> buildlibcreating buildbdist.win-amd64creating buildbdist.win-amd64eggcopying buildlibespefuse.py -> buildbdist.win-amd64eggcopying buildlibespsecure.py -> buildbdist.win-amd64eggcopying buildlibesptool.py -> buildbdist.win-amd64eggbyte-compiling buildbdist.win-amd64eggespefuse.py to espefuse.pycbyte-compiling buildbdist.win-amd64eggespsecure.py to espsecure.pycbyte-compiling buildbdist.win-amd64eggesptool.py to esptool.pyccreating buildbdist.win-amd64eggEGG-INFOcopying esptool.egg-infoPKG-INFO -> buildbdist.win-amd64eggEGG-INFOcopying esptool.egg-infoSOURCES.txt -> buildbdist.win-amd64eggEGG-INFOcopying esptool.egg-infodependency_links.txt -> buildbdist.win-amd64eggEGG-INFOcopying esptool.egg-infoentry_points.txt -> buildbdist.win-amd64eggEGG-INFOcopying esptool.egg-inforequires.txt -> buildbdist.win-amd64eggEGG-INFOcopying esptool.egg-infotop_level.txt -> buildbdist.win-amd64eggEGG-INFOzip_safe flag not set; analyzing archive contents...esptool: module MAY be using inspect.tracecreating distcreating 'distesptool-2.3.1-py2.7.egg' and adding 'buildbdist.win-amd64egg' to itremoving 'buildbdist.win-amd64egg' (and everything under it)Processing esptool-2.3.1-py2.7.eggcreating c:python27libsite-packagesesptool-2.3.1-py2.7.eggExtracting esptool-2.3.1-py2.7.egg to c:python27libsite-packagesAdding esptool 2.3.1 to easy-install.pth fileInstalling espefuse.py-script.py script to C:Python27ScriptsInstalling espefuse.py.exe script to C:Python27ScriptsInstalling esptool.py-script.py script to C:Python27ScriptsInstalling esptool.py.exe script to C:Python27ScriptsInstalling espsecure.py-script.py script to C:Python27ScriptsInstalling espsecure.py.exe script to C:Python27ScriptsInstalled c:python27libsite-packagesesptool-2.3.1-py2.7.eggProcessing dependencies for esptool==2.3.1Searching for ecdsaReading https://pypi.python.org/simple/ecdsa/Best match: ecdsa 0.13Downloading https://files.pythonhosted.org/packages/f9/e5/99ebb176e47f150ac115ffeda5fedb6a3dbb3c00c74a59fd84ddf12f5857/ecdsa-0.13.tar.gz#sha256=64cf1ee26d1cde3c73c6d7d107f835fed7c6a2904aef9eac223d57ad800c43faProcessing ecdsa-0.13.tar.gzWriting c:usersahmedappdatalocaltempeasy_install-8dtzxwecdsa-0.13setup.cfgRunning ecdsa-0.13setup.py -q bdist_egg --dist-dir c:usersahmedappdatalocaltempeasy_install-8dtzxwecdsa-0.13egg-dist-tmp-q2eiv5zip_safe flag not set; analyzing archive contents...Moving ecdsa-0.13-py2.7.egg to c:python27libsite-packagesAdding ecdsa 0.13 to easy-install.pth fileInstalled c:python27libsite-packagesecdsa-0.13-py2.7.eggSearching for pyaesReading https://pypi.python.org/simple/pyaes/Best match: pyaes 1.6.1Downloading https://files.pythonhosted.org/packages/44/66/2c17bae31c906613795711fc78045c285048168919ace2220daa372c7d72/pyaes-1.6.1.tar.gz#sha256=02c1b1405c38d3c370b085fb952dd8bea3fadcee6411ad99f312cc129c536d8fProcessing pyaes-1.6.1.tar.gzWriting c:usersahmedappdatalocaltempeasy_install-lnc2v5pyaes-1.6.1setup.cfgRunning pyaes-1.6.1setup.py -q bdist_egg --dist-dir c:usersahmedappdatalocaltempeasy_install-lnc2v5pyaes-1.6.1egg-dist-tmp-yeqyykzip_safe flag not set; analyzing archive contents...Moving pyaes-1.6.1-py2.7.egg to c:python27libsite-packagesAdding pyaes 1.6.1 to easy-install.pth fileInstalled c:python27libsite-packagespyaes-1.6.1-py2.7.eggSearching for pyserial>=2.5Reading https://pypi.python.org/simple/pyserial/Best match: pyserial 3.4Downloading https://files.pythonhosted.org/packages/cc/74/11b04703ec416717b247d789103277269d567db575d2fd88f25d9767fe3d/pyserial-3.4.tar.gz#sha256=6e2d401fdee0eab996cf734e67773a0143b932772ca8b42451440cfed942c627Processing pyserial-3.4.tar.gzWriting c:usersahmedappdatalocaltempeasy_install-mgemllpyserial-3.4setup.cfgRunning pyserial-3.4setup.py -q bdist_egg --dist-dir c:usersahmedappdatalocaltempeasy_install-mgemllpyserial-3.4egg-dist-tmp-maag20zip_safe flag not set; analyzing archive contents...Moving pyserial-3.4-py2.7.egg to c:python27libsite-packagesAdding pyserial 3.4 to easy-install.pth fileInstalling miniterm.py script to C:Python27ScriptsInstalled c:python27libsite-packagespyserial-3.4-py2.7.eggFinished processing dependencies for esptool==2.3.1

Step C:

Now We are just one step behind to download / upload any firmware to our Sonoff Smart Switch. Connect FTDI to Sonoff Smart Switch (For detailed information about each Sonoff Switch, visit Sonoff Smart Switch LAN Control without Internet) and start Sonoff device in programming mode. Now find the port under Control Panel > System > Device Manager > Ports at which Sonoff device is connected.

Determine the Flash Size:

esptool.py --port COM5 flash_id

  • Change COM5 to your own Port.
  • Wait few seconds and it outputs the flash size as shown in picture below Detected flash size: 4MB.

c:esptool>esptool.py --port COM5 flash_idesptool.py v2.3.1Connecting....Detecting chip type... ESP8266Chip is ESP8266EXFeatures: WiFiUploading stub...Running stub...Stub running...Manufacturer: efDevice: 4016Detected flash size: 4MBHard resetting via RTS pin...

Backup / Download Official Firmware:

1MB Flash:

esptool.py --port COM5 read_flash 0x00000 0x100000 image1M.bin

4MB Flash:
esptool.py --port COM5 read_flash 0x00000 0x400000 image4M.bin

  • Change COM5 to your own Port.
  • Change flash size parameter 0x100000  for 1MB and 0x400000  for 4MB flash.
  • Wait a minute and firmware binary file will be downloaded and saved in to c:esptool

It takes few seconds to upload firmware and output will be shown as follows.

c:esptool>esptool.py --port COM3 read_flash 0x00000 0x100000 image1M.binesptool.py v2.3.1Connecting....Detecting chip type... ESP8266Chip is ESP8266EXFeatures: WiFiUploading stub...Running stub...Stub running...1048576 (100 %)1048576 (100 %)Read 1048576 bytes at 0x0 in 97.8 seconds (85.8 kbit/s)...Hard resetting via RTS pin...

Official Sonoff Firmware Binary Files:

Step D:

Erase Flash Memory:

Erase the custom firmware from flash memory before uploading any new firmware.

esptool.py --port COM5 erase_flash

  • Change COM5 to your own Port.

It takes few seconds to erase firmware and output will be shown as follows.

c:esptool>esptool.py --port COM3 erase_flashesptool.py v2.3.1Connecting....Detecting chip type... ESP8266Chip is ESP8266EXFeatures: WiFiUploading stub...Running stub...Stub running...Erasing flash (this may take a while)...Chip erase completed successfully in 9.6sHard resetting via RTS pin...

Upload Official / Third Party Firmware:

Determine the flash size as discussed in Determine the Flash Size section. Copy the official / any third party firmware binary file to c:esptool folder if it is not already there and upload it by issuing the command below.

1MB Flash:

esptool.py --port COM5 write_flash -fs 1MB -fm dout 0x0 sonoff.bin

4MB Flash:
esptool.py --port COM5 write_flash -fs 4MB -fm dout 0x0 sonoff.bin

  • Change COM5 to your own Port.
  • Change flash size parameter -fs 1MB  for 1MB and -fs 4MB  for 4MB flash.
  • Change sonoff.bin to the name of your firmware file inside c:esptool folder.

It takes few seconds to upload firmware and output will be shown as follows.

c:esptool>esptool.py --port COM5 write_flash -fs 1MB -fm dout 0x0 image1M.binesptool.py v2.3.1Connecting....Detecting chip type... ESP8266Chip is ESP8266EXFeatures: WiFiUploading stub...Running stub...Stub running...Configuring flash size...Flash params set to 0x0320Compressed 1048576 bytes to 499096...Wrote 1048576 bytes (499096 compressed) at 0x00000000 in 44.3 seconds (effective 189.1 kbit/s)...Hash of data verified.Leaving...Hard resetting via RTS pin...

Troubleshooting:

  • Choosing Wrong COM Port will cause the following error.

c:esptool>esptool.py --port COM5 write_flash -fs 1MB -fm dout 0x0 image1M.binesptool.py v2.3.1Traceback (most recent call last):File "C:esptoolesptool.py", line 2637, in <module>_main()File "C:esptoolesptool.py", line 2630, in _mainmain()File "C:esptoolesptool.py", line 2349, in mainesp = ESPLoader.detect_chip(args.port, initial_baud, args.before, args.trace)File "C:esptoolesptool.py", line 222, in detect_chipdetect_port = ESPLoader(port, baud, trace_enabled=trace_enabled)File "C:esptoolesptool.py", line 193, in __init__self._port = serial.serial_for_url(port)File "buildbdist.win-amd64eggserial__init__.py", line 88, in serial_for_urlFile "buildbdist.win-amd64eggserialserialwin32.py", line 62, in openserial.serialutil.SerialException: could not open port 'COM5': WindowsError(2, 'The system cannot find the file specified.')

  • If following output is shown, Sonoff is not correctly connected to FTDI, Check wire configuration or terminals.

c:esptool>esptool.py --port COM3 write_flash -fs 1MB -fm dout 0x0 image1M.binesptool.py v2.3.1Connecting........_____....._____....._____....._____....._____....._____....._____....._____....._____....._____A fatal error occurred: Failed to connect to Espressif device: Timed out waiting for packet header

  • After restoring the official firmware, if led does not blink, It means you have problem with backup image
    • either backup image is corrupt – Check 3.3v power supply during backup
    • Chose wrong flash size during backup – See Determine the Flash Size Section
5 1 vote
Article Rating
Subscribe
Notify of
guest
76 Comments
newest
oldest most voted
Inline Feedbacks
View all comments
XD525
XD525
21 days ago

I had downloaded the Sonoff basic R2 firmware to my device but when I go to connect to Ewelink app, it registers but it says the device is offline. Is there a way to fix this?

aloui zakaria
aloui zakaria
1 month ago

Hello everyone.
I lost the original firmware of my sonoff rf without making a backup. I tried other firmwares and the box starts up and connects with ewelink without being able to register. is it possible to have a new original firmware or to make one from a bin file knowing that I have the id and the mac address of my box

Xomi
Xomi
2 months ago

Me puede pasar firmware del sonoff s31 por favor?

Raiden
Raiden
4 months ago

Hi everyone, i tried to reinstall stock firmware for a SONOFF Basic R1 (with R2 firmware) and is able to find it but the SONOFF will not connect to WiFi (tested with 3 WIFI in 2.4GhZ with no special characters or else).

Anyone an idea?

zne2001
zne2001
4 months ago

Hi, I need to return the original FW for SonOff TH10 (16) to my device SonOff TH10. I tried the original FW on this site above. I also tried the FW from the newly purchased SonOff TH10, but the previously SonOff TH10 does not work. The checksum after upload is OK.
I also tried another FW SonOffIFAN02 and it works without any problems.

sidi
sidi
5 months ago

Do you have the firmware for a Sonoff 4CH PRO R2 ?

Roger
Roger
4 months ago
Reply to  sidi

You have the firw please

guips
guips
5 months ago

Hello, I try to find Sonoff SV stock firmawre. Someone have it ? Thank you veru much.

martin klims
martin klims
5 months ago

Hello, I tried to upload your firmware to sonoff pow r3, but led don´t light up and the button doesn´t work. I uploaded it using Tasmota PyFlasher. And a few days ago I tried using MacBook to download a backup of it and upload it to sonoff, but with the same result

Pmalitoni
Pmalitoni
8 months ago

DO you have firmware for Sonoff CH4 (not the pro version), please please please

SonMax
SonMax
9 months ago

Hi Dear ; Bridge 433 Mhz Do you have a firmware?

E_B
E_B
9 months ago
Reply to  SonMax

Hi, I need it too.

mcarav
mcarav
9 months ago

Hello, just for confirmation: I just downloaded the original firmware (previously updated to 3.3.0) using your perfectly working procedure, flashed tasmota, restored the original firmware and repaired with ewelink. Everything ok and flawless. I have a hunch……this is the md5 of the firmware of an original sonoff basic R2 3.3.0 52304de643cbf9539ccc9b0fbe8368a6 if anyone has any other device from iteac still working with the original firmware. Can you try to download it and see if it is has the same md5? I see no point in having so many different firmware, maybe the firmware is the same, depending only on chip’s… Read more »

Hardy Boyz
Hardy Boyz
5 months ago
Reply to  mcarav

any update on this ? somehow my original firmware is crashing and i don’t have backup nor ITEAD guys are helping me

Vpf
Vpf
5 months ago
Reply to  mcarav

just flashed an official image backup taken from basic r2, into a basic r3. It worked but the r3 is getting the same Device ID and Mac address as the r2 so that they got into conflict when registered through ewelink app. Wandering if there is any methon to change that to match each unique hardware specs

Sebastian
Sebastian
5 months ago
Reply to  Vpf

I thing MAC Address can be any value, but device ID must be generated from Itead in a way they can validate devices registered to their service. Thats the reason why it is important to make a full backup of each image before playing with new .bin files. Take down notes from the MAC and the DevID you see on ewelink app, then edit you .bin file with an hex editor like HxD. The MAC can be find as an hexadecimal value within the file, and the ID as decoded text. Good luck!

Prince Choudhary
Prince Choudhary
10 months ago

I need sonoff mini original firmware, Any one have backup of that?

qxs
qxs
11 months ago

hi,if u could help me with orig. firmware for sonoff s20 and sonoff SC.
Thk. you

M J
M J
1 year ago

Hi all – great resource!

Will there be an R3 firmware uploaded soon?

Thanks!

Kamil Mirza
Kamil Mirza
10 months ago
Reply to  M J

here’s the Sonoff Basic R3 v3.3.0 1MB image
LINK

M J
M J
10 months ago
Reply to  Kamil Mirza

Thank you!

Would you know if the Sonoff Basic R3 RF device would use the same image?

Kamil Mirza
Kamil Mirza
10 months ago
Reply to  M J

no RF image should be different

M J
M J
10 months ago
Reply to  Kamil Mirza

I’m being prompted for permission – do you know how I get that?

Francisco Javier Rojas Osorio
Francisco Javier Rojas Osorio
1 year ago

I did everything correctly and I already copied the fimware of a new device to the device to recover successfully. BUT when I try to use the eWelink application and try to add the device it says in a state of synchronization that a second generation device has been found, an error box pops up in the app saying: Invalid Data. And the operation is canceled

chathuranga
chathuranga
1 year ago

how to change the mac-address in the hex file pls.

Alex
Alex
1 year ago

Hi to all, i’m trying to restore a Sonoff th 16 with the original fw but, even if the entire procedure is correctly completed, i cannot see the blue led blink….
i’m trying different .bin files…my original and yours..
any suggestions?

Alex
Alex
1 year ago

yes sure

Josh
Josh
1 year ago
Reply to  Alex

I have the same problem. Please assist

Jonny
Jonny
1 year ago
Reply to  Josh

Same here with my Pow R2…. I did everything as described, flashing worked well but the Sonoff is dead.

c:\esptool>esptool.py --port COM5 write_flash -fs 4MB -fm dout 0x0 sonoff.bin
esptool.py v2.6
Serial port COM5
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
MAC: cc:50:e3:54:1c:21
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Flash params set to 0x0340
Compressed 4194304 bytes to 320857...
Wrote 4194304 bytes (320857 compressed) at 0x00000000 in 28.5 seconds (effective 1176.4 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

Btw flashing the restored tasmota works well with this method… Please help!!

carozoynarizota
carozoynarizota
1 year ago
Reply to  Josh

I think everyone trying to backup/restore their FW should be testing their backup in an alternative device before erasing their original itself. It should work on Sonoff Basic/RF, also in Sonoff TH but I haven´t got the chance to test this one . I didn´t analyze the Sonoff POW schematic, but if it is based on an ESP8266 as the others you shoud give it a try in the same way. In my case o tried all Basic/RF FW in an ESP-01 without problem, also a Shelly FW file found on the internet runs at least showing in my WiFi… Read more »

Chris
Chris
3 months ago
Reply to  Alex

Good day all,
Has anyone been able to find a solution for this? I have been trying to flash Sonoff firmware on my TH16 after running it with Tasmota for a while. I have tried all of the Sonoff firmware and the only one that allowed me to discover and add the device in eWeLink app was the iFan02.bin , I tried loading the Th16 firmware afterwards but same result.

Leon
Leon
1 year ago

Anyone have a working backup of a SonOff Basic R2?
I need to know where i must put the chipid.
I found the deviceid and apikey locations, but i need to put my chipid back for it to be restored to the “Original” SonOff state.

Leon
Leon
1 year ago
Reply to  Leon

So, after a lot of struggling i got it to work, this is what i did. 1. I used another unit and update to the latest firmware Ver. 3.3.0 2. Read the flash and save it – esptool.py –port COM5 read_flash 0x00000 0x100000 image1M.bin – in my case 3. Now edit the file in HEX and change the values as follow: – if you do not have the following two set of numbers, you can NEVER go back to the SonOff firmware. If you made a backup of your original firmware, you can get it or if you put you… Read more »

Serg k
Serg k
1 year ago

I need Official Sonoff Firmware for Sonoff rf BRIDGE

redlyon
redlyon
1 year ago

Does anyone have the original sonoff T1 US 2C firmware?
Thanks

D. Mora
D. Mora
1 year ago

The only problem I saw running this directions is that the ID flashed in the device is the one coming in the .bin file, which belongs to a real device, so it means that once flashed, the device will have a duplicated id, and when registered into eWelink cloud it will dump the real one, or even worst, all the people downloading this file will be deleting the registry of the device from each one.

So, How to generate a unique Device ID to edit with hex in the bin?

carozoynarizota
carozoynarizota
1 year ago
Reply to  D. Mora

D.Mora you are right, but both the Device ID and the MAC-ADDRESS are found as seen on eWelink on the HEX file. So you can edit the file before uploading to your new device. With that you can have any ESP module running at least Sonoff Basic and RF as if they were originals.

VickyMalik
VickyMalik
1 year ago

carozoynarizota, Is it possible on non rooted phones? And what is the procedure?

carozoynarizota
carozoynarizota
1 year ago
Reply to  VickyMalik

vickeymalikpc I´ve done everything through my desktop PC, procedure explained here to flash Sonoff devices is the same for every ESP8266 you come across. Once the right FW version flashed on your device it is supposed to work according to what is it in there. For example if you pick an ESP-01 and flash that device with Sonoff Basic R2 FW, then you can make it go up on ewelink in your phone (that can be downloaded from play store). D.Mora points here that you will be replicating the ID found on you FW file, then my answer that it… Read more »

D. Mora
D. Mora
1 year ago

Yes, it can be modified, the problem is that the Device ID is linked to a unique API key, so if you modify the device ID to any random number (or even the original one), it will register to the eWelink cloud, but it will never achieve the connection to work without the correspondent API Key. The only way to restore a Sonoff device to its original with this firmware, can happen if you know your original, Device ID (or anyone not used) and it’s API key; the MAC is not problem as it is not related to the firmware,… Read more »

Ahmed
Ahmed
1 year ago
Reply to  D. Mora

So these files are useless!!

mcgyver83
mcgyver83
1 year ago
Reply to  D. Mora

How can I get the Device ID if I already flashed the tasmota and I want to come back to original?

carozoynarizota
carozoynarizota
1 year ago
Reply to  mcgyver83

Did you flash it inmedately before testing your device with the original FW in the ewelink APP? If registered may be you can get the original ID from there. If not you can edit the files shared here to give them a different ID to see if the ewelink app recognises your device.

philiptpp
philiptpp
11 months ago
Reply to  mcgyver83

If anyone is interested, I have a script that can fetch your registered devices from the eWelink and will show you your deviceID and APIkey. Link to my repo below.

https://github.com/Philiptpp/sonoff_registered_devices

Fabiano
Fabiano
11 months ago
Reply to  philiptpp

Very good!

carozoynarizota
carozoynarizota
1 year ago
Reply to  D. Mora

Good point, they might be doing some kind of verification through their servers. But at least we know that the IDs are not linked to device type (as I was able to run a Basic like an RF module). Did you tried to change the device ID to see if it is rejected by the ewelink platform?

dslade47
dslade47
10 months ago

Could you please describe how to modify the firmware through Hexa editor (as HxD) to be able to use it on another device (for sonoff basic and RF) ?
In my case i have backup sonoff basic firmware and i want to install in on Sonoff RF R2.
I tried using the firmware provided here above (without any change in the file), it allows adding the device in Ewelink but it never go online so it cannot be used.
Thanks in advance for your help.

chathuranga
chathuranga
1 year ago

how to change the mac-address in the hex file pls.

carozoynarizota
carozoynarizota
1 year ago
Reply to  chathuranga

Check the MAC on your device and open then the .bin in an hex editor and search for the string in it. There you can change it.

dslade47
dslade47
10 months ago
Reply to  D. Mora

Hi D.Mora, Did you find a solution to generate a unique accepted by ewelink platform ? I tried to backup sonoff basic firmware, changing deviceID (incrementing number) in HxD editor and download firmware on other sonoff basic but it didn’t work.

carozoynarizota
carozoynarizota
1 year ago

Hi, I was doing some tests with Sonoff Basic and RF. Downloading their FW and then uploading the files to a different device, also to an ESP-07 stand alone module. This way I was able to make a Sonoff Basic or an ESP-07 run as a Sonoff RF on Ewelink. I tried the same with the RF image shared here and it runs OK, but if I upload the TH10/16 images nothing happens. I power the device, put GPIO to GND for a few seconds but the ITEAD Wifi doesn´t appear. Any clue?

carozoynarizota
carozoynarizota
1 year ago

I will appreciate that! Thanks

Vlad
Vlad
1 year ago

Great write up, thanks!

I have one residual question. Is it possible to write the official firmware, read from a 1M flash onto a 4M flash?

The reason I ask is that I have swapped the flash chips (from 1M with 4M flash) on most of my Sonoff basic’s. I would like to restore the original firmware onto the 4M flash chips.

LD Taylor
LD Taylor
1 year ago

I have two SONOFF basic switches both loaded with custom firmware. Using your backup/restore processes, I backed up factory firmware and restored to these two switches. The backup, erase, then restore worked perfectly. However, when I powered up both restored switches, nothing, no lights. What am I missing here. Does backup/restore only work with the same switch? Thanks for your guidance.

Stan
Stan
1 year ago
Reply to  LD Taylor

I have same issue with sonoff POW after succesfull backup/restore it is dead no light. The flash size is correct 4MB Source POW: C:\esptool-2.6>esptool.py –port COM3 flash_id esptool.py v2.6 Serial port COM3 Connecting…. Detecting chip type… ESP8266 Chip is ESP8266EX Features: WiFi MAC: 5c:cf:7f:92:2d:34 Uploading stub… Running stub… Stub running… Manufacturer: e0 Device: 4016 Detected flash size: 4MB Hard resetting via RTS pin… C:\esptool-2.6>esptool.py –port COM3 read_flash 0x00000 0x400000 image4M.bin esptool.py v2.6 Serial port COM3 Connecting…. Detecting chip type… ESP8266 Chip is ESP8266EX Features: WiFi MAC: 5c:cf:7f:92:2d:34 Uploading stub… Running stub… Stub running… 4194304 (100 %) 4194304 (100 %) Read… Read more »

Smax
Smax
1 year ago

For Martin do you need press button to your sonoff pow and connect power for programming and read.
This is error cpu not in programming mode.9

Smax
Smax
1 year ago

Programmatiin working. I change firmware ok . Test espurna and espeasy work. Revert original with new flash not work . Old flash is burned..
I have double backup. One 1mb and one 4mb. Memory flash is 4mbyte this is Pow sonoff.
Tedted ftdi and board ch340

Martin Hardoy
Martin Hardoy
1 year ago

If you keep getting this:
esptool.py v2.3.1
Connecting…….._____….._____….._____….._____….._____….._____….._____….._____….._____….._____

A fatal error occurred: Failed to connect to Espressif device: Timed out waiting for packet header

Try to disconnect the esp from the PC and start Sonoff device in programming mode again

letroll
letroll
1 year ago
Reply to  Martin Hardoy

push the button when plugging ftdi usb cable and release it after 2 seconds

Smax
Smax
1 year ago

??? Dear not have solution? Change spiffs? Or other ? Have all file for upload? Only Boot ?
Pls help

Smax
Smax
1 year ago

I have dump for my original sonoff pow i have dumped 1mb and 4mb . My fflash type original is 25q32. I have burned original switch in the sonoff pow. And have replaced with 4.5V power supply. And have changed many time to original and espurna.Working fine for 60 day. If reprogramming flash a this day not work. Error md5. A this time have replaced flash with qh32bhig brand xmd, recovered by old lolin board. New test with new flash i have uploaded espurna and work fine. Router ap and work fine. If reinstall original sonoff pow firmware not work.… Read more »

Smax
Smax
1 year ago

Hello dear i have bakup but not working? I have replaced new flash , uploaded my backup and not work. I have error boot @1000 or boot @81000
Help for backup?
Oter firmware working fine.

zweistein
zweistein
1 year ago

Hi,
Great article. Thanks for it.
But I have a problem in reading flash:
“A fatal error occured: Corrupt data, expected 0x1000 bytes but received 0xffd bytes”
Do you have any idea about this error?

Thanks

zweistein
zweistein
1 year ago

Hi,
Yes, I want to make a backup.

76
0
Would love your thoughts, please comment.x
()
x