Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

Flashen des ESP32-D0WDQ6

Posted on 11. Mai 202229. April 2023 by Stefan Draeger

In diesem Beitrag zeige ich dir, wie du den ESP32-D0WDQ6 mithilfe des esptools flashen kannst.

ESP32 für die Arduino IDE flashen
ESP32 für die Arduino IDE flashen

Im Beitrag Programmieren mit MicroPython #1: Microcontroller und Entwicklungsumgebung habe ich dir gezeigt, wie du diesen Mikrocontroller für die Programmierung von MicroPython flashen musst, wenn du jedoch wieder auf dne Urzustand zurückmöchtest und diesen zbsp. in der Arduino IDE programmieren möchtest, dann musst du diesen erneut flashen.

  • Benötigte Ressourcen
  • esptool von Espressif
  • BIN Datei laden
  • Flashen des ESP32 mit der BIN Datei
  • Validieren nach dem Abschluss des Flashens

Benötigte Ressourcen

Damit du deinen ESP32 flashen kannst, benötigst du:

  • eine passende *.bin Datei,
  • das esptool von Espressif,

esptool von Espressif

Das esptool von Espressif kannst du entweder mit einer GUI (einer grafischen Benutzeroberfläche) oder als Konsolenprogramm beziehen.

Im weiteren Verlauf verwende ich das Konsolenprogramm, da dieses recht einfach mit ein paar Parameter zu bedienen ist.

Alternativ kannst du das esptool auch als Python Skript beziehen, wie du dieses auf deinem Rechner installierst, ist auf der Seite Esptool.py Documentation von Espressif recht gut erläutert.

BIN Datei laden

Damit du deine passende *.bin Datei laden kannst, musst du zunächst genau wissen, welches Model du hast. Hier kannst du zunächst auf der Konsole den nachfolgenden Befehl ausführen.

esptool --port COM25 erase_flash

Dieses bewirkt, dass der Speicher des Mikrocontrollers geleert wird, aber zusätzlich werden dir ein paar nützliche Informationen zu diesem ausgegeben.

Serial port COM25
Connecting.....
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: b4:e6:2d:b1:b9:7d
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 8.6s
Hard resetting via RTS pin...

Auf der Seite Released Firmware von Espressif findest du die binaries für den hier verwendeten ESP32-D0WDQ6.

Der Server ist recht langsam und so dauert der Download einer 1 MB Datei stolze 6 Minuten. Also hier bitte etwas Zeit mitbringen 🙁

Flashen des ESP32 mit der BIN Datei

Wenn die ZIP-Datei mit dem binary geladen und entpackt wurde, dann wird diese in den Ordner kopiert, wo das esptool liegt. Natürlich könnte man auch als Parameter den gesamten Pfad zu diesem angeben, jedoch ist dieser Weg deutlich komplizierter.

esptool --port COM25 --baud 460800 write_flash -z 0x1000 esp-at.bin

Während der Installation wird dir der Fortschritt in Prozent angezeigt und bei Erfolg ein Reset ausgeführt.

Serial port COM25
Connecting....
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: b4:e6:2d:b1:b9:7d
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00150fff...
Compressed 1376080 bytes to 883852...
Wrote 1376080 bytes (883852 compressed) at 0x00001000 in 20.2 seconds (effective 545.3 kbit/s)...
Hash of data verified.

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

Validieren nach dem Abschluss des Flashens

Wenn der Vorgang des Flashens abgeschlossen ist, dann prüfen wir mit einem kleinen Programm, ob dieses erfolgreich war.

Hier kann man wieder ein einfaches „Hello World!“ auf der seriellen Schnittstelle ausgeben.

void setup() {
  Serial.begin(115200);
}

void loop() {
  Serial.println("Hello World!");
  delay(1500);
}

Wenn du als Baudrate wie ich die 115200 baud verwendest, dann kannst du gleichzeitig prüfen, ob eventuell auch Debugausgaben vom ESP32 mit herausgeschrieben werden, welche auf einen eventuellen Fehler schließen lässt.

Als Einstellungen für den Upload des Programmes verwende ich:

Einstellungen für den ESP32-D0WDQ6
Einstellungen für den ESP32-D0WDQ6

Die Ausgabe ist dann wie erwartet die Zeile „Hello World!“ im Intervall von 1,5 Sekunden.

einfaches "Hello World!" auf der seriellen Schnittstelle vom ESP32
einfaches „Hello World!“ auf der seriellen Schnittstelle vom ESP32

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}