ESP8266 WiFi – Firmware flashen

icon firmware download

Espressif logo vol

Je kan relatief eenvoudig nieuwe firmware op de ESP8622 WiFi module plaatsen door middel van software (flasher) om het firmware bestand op de chip te plaatsen, hieronder een voorbeeld bij de ESP-01 module.

Wat heb je nodig?
Een firmware flasher:
1) NodeMCU flasher
2) ESP Flash Download Tool (flasher)
3) esptool (bootloader communicatie)

Firmware:
1) AT Firmware
2) NodeMCU Firmware
3) esp-link Firmware


Verschillende flash chips

Er zijn meerdere modellen in omloop met verschillende SPI Flash chips, hiervoor moet je de SPI mode indien nodig op aanpassen:

Flash Chip: 25Q80A > SPI mode = DIO

 

MX25L8006 > SPI mode = DOUT
(eerst flash software laten zoeken naar COM poort, daarna pas ESP aanzetten (in boot mode) om te kunnen flashen!)

Gebruik je een verkeerde SPI mode bijvoorbeeld DIO op een DOUT Flash type dan krijg je deze foutmelding in de bootloader te zien:


Firmware flashen met NodeMCU flasher

Zet de WiFi module in flash modus en reset het door de spanning even te onderbreken, open het programma en selecteer de juiste COM poort.

In de TAB “Advanced” stel de volgende instellingen in:

Baudrate: 230400
Flash size: 4Mbyte
Flash speed: 40Mhz
SPI Mode: DIO (25Q80A) / DOUT (MX25L8006)

ESP8266 flashen met NodeMCU flasher 01

In de TAB “Config” selecteer je het firmware bestand:

Ps. Heb je een “heel” firmware bestand (met bootloader, instellingen, e.d.) begin dan bij adres (offset) 0x00000.

ESP8266 flashen met NodeMCU flasher 02

In de TAB “Operation” klik op FLASH om de firmware weg te schrijven:

ESP8266 flashen met NodeMCU flasher 03

Upload voltooid:

ESP8266 flashen met NodeMCU flasher 04

Ps. Vergeet niet om de GPIO 0 los te koppelen van de MIN nadat de upload is voltooid, zo werkt de module weer in “normale” modus.


Firmware flashen met ESP Flash Download Tool

Zet de WiFi module in flash modus en reset het door de spanning even te onderbreken, open het programma en stel de volgende instellingen in:

1) Selecteer het firmware bestand BIN of IMG
2) SPI Speed 40Mhz
3) SPI Mode: DIO (25Q80A) / DOUT (MX25L8006)
4) Flash Size: 8Mbit
5) de juiste COM poort
6) Baudrate: 345600

Ps. Heb je een “heel” firmware bestand (met bootloader, instellingen, e.d.) begin dan bij adres (offset) 0x00000.

ESP8266 flashen met ESP Flash Download Tool 01

Eenmaal alles ingesteld, klik je op “START” om de firmware weg te schrijven:

ESP8266 flashen met ESP Flash Download Tool 02

Shell screen:

ESP8266 flashen met ESP Flash Download Tool 03

Nieuwste firmware flashen vanuit de SDK

Het is mogelijk om zelf een firmware die uit “stukken” bestaat te uploaden naar de chip, bijvoorbeeld de laatste versie van de AT firmware:

Neem bijvoorbeeld het SDK archief: AT_v0.51_on_esp_iot_sdk_v1.5.0_15_11_27

Pak het archief uit naar een folder en gebruik de volgende bestanden daaruit:

Let op!: Je hebt van de ESP-01 twee versies, één met 512KB (de oude “blauwe”) en één met 1MB (de “zwarte”), beide modules hebben verschillende geheugen offsets om de firmware in te laden:

ESP8266 ESP-01 v1 firmware adressen   ESP8266 ESP-01 v2 firmware adressen

Hier is nog een overzicht, welke meer informatie geeft:
ESP8266 1024KB Flash Download Table

Open de software en vul de gegevens in, eenmaal alles ingesteld, klik je op “START” om de firmware weg te schrijven:

ESP8266 flashen met ESP Flash Download Tool 04

Ps. als je op de “CombineBin” knop drukt, worden alle bestanden samengevoegd in een “compleet” firmware bestand!


Firmware flashen met esptool.py

Het commando om firmware op de flash chip te zetten is als volgt:

python.exe esptool.py --port /dev/tty.usbserial-ABC12345 write_flash 0x000000 "v0.9.2.2 AT Firmware.bin"

Wanneer voltooid:


Bronnen:
14core.com
allaboutcircuits.com