Firmwareupdate für ESP8266-01S - AZ-Delivery

Heute wollen wir kurz zeigen wie man die Firmware des ESP01 auf den neusten Stand bringt.

Die aktuell von uns ausgelieferten Module sind mit der „AT-Command“ Firmware Version 2.0 ausgestattet, diese ist weit Verbreitet, gut Dokumentiert und läuft recht stabil. Allerdings wurden seitdem viele neue AT-Befehle hinzugefügt.

Zum einfachen flashen des Moduls benutzen wir unseren ESP-USB-Stick.

 

 

Wie im E-Books zum Adapter beschrieben versetzten wir unseren ESP in den Flashmodus indem wir GPIO2 auf Masse legen.  

Als Software setzten wir das NodeMCU Flash tool ein, wie hier im Blogbeitrag beschrieben: https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/nodemcu-flash-tool?ls=en

 

Als dritte Komponente brauchen wir noch die aktuellen *.bin Dateien mit der neuen Firmware. Diese stellt der Hersteller Espressif in seinem SDK zur Verfügung. Es gibt verschiedene Images mit denen wir den ESP beschreiben können. In unserem Fall wollen wir die Standartfirmware für das Arbeiten mit AT-Befehlen flashen. Das aktuelle SDK von Espressif finden sie hier:

https://www.espressif.com/en/support/download/sdks-demos

Wir laden das NONOS SDK V2.2.1 herunter und entpacken es in ein beliebiges Verzeichnis.

 

In der Readme-Datei befindet sich der Link zur Dokumentation, incl. Aller alten und neuen AT-Befehle:

https://www.espressif.com/en/support/download/documents?keys=&field_type_tid%5B%5D=14

 

Im Unterordner bin/at befinden sich die nötigen Binarys und die Readme-Datei die beschreibt welche Binarys wir auf welchen Speicherbereich mit unserem NodeMCU-Flasher schreiben müssen:

 

Im NodeMCU-Flasher sieht das dann so aus:

 

Im Anschluss können wir unter Operation, nach Auswahl des richtigen Com-Ports den Flashvorgang starten.

 Nach erfolgreichem Abschluss möchten wir die neue Firmwareversion mithilfe der Arduino-IDE und dem Seriellen Monitor abfragen:

 

Wir hoffen unser heutiger Blog-Beitrag war interessant für Sie. Falls Sie einen ESP01 besitzen können Sie diesen Blog-Beitrag gerne zu Ihren Lesezeichen hinzufügen. So hat man im Notfall immer die Anleitung zum flashen bereit.

Und falls Sie noch keinen ESP01 besitzen, sollten Sie unbedingt einen Blick auf unseren Shop werfen: ESP8266-01S mit USB-Adapter

Viel Spaß beim Basteln wünscht Ihnen

Ihr AZ-Delivery Team

 

Esp-8266Specials

8 comments

Franck

Franck

Been struggling to flash a running version, without “—flash_size detect” it fails, works ok with ESP8266_NONOS_SDK v3.0.5 :
$ esptool.py -b 115200 -p write_flash —flash_size detect 0×00000 boot_v1.2.bin 0×01000 at/512+512/user1.1024.new.2.bin 0xfc000 esp_init_data_default_v08.bin 0×7e000 blank.bin 0xfe000 blank.bin
esptool.py v4.6.2
Serial port
Connecting….
Detecting chip type… Unsupported detection protocol, switching and trying again…
Connecting…
Detecting chip type… ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 08:f9:e0:4f:b1:6c
Uploading stub…
Running stub…
Stub running…
Configuring flash size…
Auto-detected Flash size: 1MB
Flash will be erased from 0×00000000 to 0×00000fff…
Flash will be erased from 0×00001000 to 0×00065fff…
Flash will be erased from 0×000fc000 to 0×000fcfff…
Flash will be erased from 0×0007e000 to 0×0007efff…
Flash will be erased from 0×000fe000 to 0×000fefff…
Flash params set to 0×0020
Compressed 1936 bytes to 1461…
Wrote 1936 bytes (1461 compressed) at 0×00000000 in 0.2 seconds (effective 68.9 kbit/s)…
Hash of data verified.
Compressed 413556 bytes to 296998…
Wrote 413556 bytes (296998 compressed) at 0×00001000 in 28.8 seconds (effective 114.9 kbit/s)…
Hash of data verified.
Compressed 128 bytes to 75…
Wrote 128 bytes (75 compressed) at 0×000fc000 in 0.1 seconds (effective 20.1 kbit/s)…
Hash of data verified.
Compressed 4096 bytes to 26…
Wrote 4096 bytes (26 compressed) at 0×0007e000 in 0.1 seconds (effective 603.0 kbit/s)…
Hash of data verified.
Compressed 4096 bytes to 26…
Wrote 4096 bytes (26 compressed) at 0×000fe000 in 0.1 seconds (effective 596.1 kbit/s)…
Hash of data verified.

Leaving…
Hard resetting via RTS pin…

Otto

Otto

Ich glaube man muss die Brücke zwischen GPO01 und Masse unbedingt VOR beim Einstecken des ESP01 herstellen, so dass dieser auf Masse liegt, wenn der Prozessor mit Strom versorgt wird. Ist er unter Spannung geht er nicht in den Programmiermodus wenn erst jetzt die Brücke gelegt wird.

Falls das USB to Seriell Adapter nur zum uploaden mit dem ESP01 genutzt wird könnte hier die Brücke schon fest verdrahtet werden.

Daniel

Daniel

So Leute, ich hab es endlich rausgefunden.

Erstmal vorne weg, die Informationen die man im Netz findet sind alle entweder falsch oder unvollständig.

Überall steht zum Flashen muss GPIO2 LOW sein was in Konflikt mit den Bildern steht wo überall GPIO0 LOW ist. Zum Flashen muss, wie auf den Bildern, GND und GPIO0 (IO0 auf der Maske) verbunden sein.

Im Flash Tool (ESP8266Flasher.exe Googeln, von GitHub runterladen) müssen zusätzlich noch in der Advanced Sektion die Einstellungen gesetzt werden: Baudrate 115200, Flash size 1MByte, Flash speed 40MHz, SPI Mode DIO.
Ebenfalls unbedingt beachten in der Config Sektion links neben den Pfaden die Checkboxen zu setzen (x)!

Was diese einzelnen bin Files machen und warum man jetzt boot_v1.2 und nicht eine der anderen boot_*.bin oder warum man esp_init_data_default_v08.bin statt der v05.bin oder was diese user1 und user2 bin sind ist mir noch nicht so richtig klar aber wenn man die Einstellungen hier aus den Screenshots übernimmt funktioniert das. Auch mit der aktuellen Version 3.0.4.

Nach dem Flashen zieht man den Chip ab und entfernt das Jumperwire zwischen GND und GPIO0, dann steckt man ihn wieder ein und kann sich mit dem Arduino IDE verbinden.
Hierbei ist wichtig zu beachten, dass man im Serial Monitor die Baudrate 115200 und links daneben “Both NL & CR” statt “Newline” auswählt. Und schon antwortet der Chip auf AT Befehle!

Die nächsten Schritte, wie z.B. man ein Arduino/Elegoo UNO mit dem Ding verbinden kann sind auch Online von Falsch- oder Fehlinformationen geprägt. Einer der größten Probleme ist, dass die “SoftwareSerial” Library verwendet wird und diese mit gewissen Chips nicht mit der Baudrate 115200 kommunizieren kann. Man kann zwar AT Befehle senden, bekommt aber oft teils total zerstörte Antworten zurück.
Der ESP8266-01S lässt aber zu, dass man die Baudrate permanent umstellen kann mit dem Befehl “AT+UART_DEF=9600,8,1,0,0”. Hat man das gemacht kann man tatsächlich die “WiFiEsp” Library verwenden, wenn man dort noch die Baudrate entsprechend einstellt.

Meine Güte, ich habe drei Tage damit verbracht an diese Informationen ranzukommen, dass das nirgends einfach als 1-2-3-Anleitung beschrieben ist kann ich wirklich nur als problematisch ansehen.

Ich habe NULL Erfahrung mit Elektronik, bin selbst Softwareentwickler und muss sagen, wenn ich eine Lösung für ein Problem in der Programmierung suche dann wird man Online relativ gut beraten, während Elektronik irgendwie davon geplagt ist tonnenweise Informationen zu bekommen die im Konflikt zueinander stehen. Was für ein Hobby ich mir da nur wieder gesucht habe… :|

Ich hoffe hiermit konnte ich einigen Leuten helfen die ähnliche Probleme haben.

Ernst Schüller

Ernst Schüller

ich versuche verzweifelt einen ESP8266-01 zu flashen. Verwende zwei verschiedene Flashprogramme. Der Flashvorgang läuft nach den Programmen fehlerlos ab(Mehrfach versucht). Der ESP8266-01 reagiert nicht. AT gibt kein OK zurück, ebenso AT+GMR. Weiss noch jemand einen Trick ?
Programme: NODEMCU Firmware Programmer und ESP Flash Download Tool V2.3 sowie USR-TCP232 Test V1.4.

Dennis

Dennis

Hi,
haben die ESP8266 die mit den Relaismodulen gepaart kommen auch dieselbe Firmware ? Also die AT Variante ?
Leider habe ich das Phänomän das ich keine der Relais/ESP Combos sauber über einen Seriellen Monitor ansprechen kann, manchmal geben sie z.b. bei AT+GMR was zurück , manchmal nicht eben so wie AT+RST reagiert mal und mal nicht.. versuche dem aber noch auf die Schliche zu kommen ! Da ich auch versucht habe andere Firmware zu flashen in der Hoffnung das dass mein Problem löst, habe ich verschiedene Versionen ausprobiert, aber eben keine Ahnung welche standartmäßig vorinstalliert ist.

Grüße und schonmal vielen Dank fürs Helfen :)

Georg

Georg

Hallo Blog Gemeinde, brächte ein paar einfache Hinweise ( bin gestartet im euren Blog mit Null Erfahrung) und somit bekomme Probleme die Person wieder zu finden die mir abgeschrieben hat , das Thema waren … die Probleme mit 302, 303 Fehlermeldung, das ich heute wieder heim kam versuchte mich bei dieser Person bedanken aber ohne Erfolg. Vermute das dass der Hr. sich als Gerd vorgestellt hat und mit seinen Kenntnissen ist bereit anderen weiter zu helfen.
PS. neben bei, suche einen Arduinofreund aus dem 44625 bereich.
es grüßt Georg

Michael Mies

Michael Mies

Haha sehr witzig: “Wie im E-Books zum Adapter beschrieben…”.

Dieses E-Book wird schon seit längerer Zeit überarbeitet und steht nicht zur Verfügung.

Gruß
Michael

Andreas

Andreas

Hi, habt Ihr auch eine Anleitung für MAC-Besitzer mit den passenden Tools?
Gruß
Andreas

Leave a comment

All comments are moderated before being published

Recommended blog posts

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery