Tools needed to flash a Sonoff with the aspurna firmware.
ESPTool
Clone the Esptool repository. In a terminal window on the MAC do the following:
$ cd ~/Documents
$ git clone https://github.com/espressif/esptool.git
Setup ESPTool
To setup the ESPTool so that you can use it for programming, it is best to change the permission and install it as follows:
$ cd ~/Documents/esptool
$ sudo chmod +x *.py
$ sudo python setup.py install
Entering Programming Mode
Hold down the button on the Sonoff while you apply power, then release the button.
Connecting the Programmer
The pinouts on the Sonoff basic are shown here: SONOFF BASIC
The pinout of the herader (U4) in the middle of the board is (NOTE Pin 1 is closest to the push button):
- 3.3 v
- Rx
- Tx
- Ground
- GPIO14
Connection to the programmer header:
Sonoff | Programmer |
1 – Vcc | 4 – (Red) |
2 – Rx | 3 – (Orange) |
3 – Tx | 2 – (Yellow) |
4 – GND | 6 – (Black) |
Backup the Existing Firmware
Put the Sonoff into programming mode then run the following command:
# esptool.py --port /dev/tty.usbserial-AH03B45L read_flash 0x00000 0x100000 sonoff-backup.bin
Erase the SONOFF Flash
# esptool.py --port /dev/tty.usbserial-AH03B45L erase_flash
Programming a New Firmware
Download the new firmware for our device to your local computer. Put the Sonoff into programming mode and enter the following (NOTE, the firmware file I downloaded is called espurna-1.14.1-itead-sonoff-basic.bin):
# esptool.py --port /dev/tty.usbserial-AH03B45L write_flash --flash_size 1M --flash_mode dout 0x00000 espurna-1.14.1-itead-sonoff-basic.bin