ESP-01 flashen mit Arduino Uno

Am Wochenende habe ich für draußen eine kleine Wetterstation zusammen gebaut. Die Logik hat ein ESP-01, der auf einem ESP8266 basiert, übernommen. Da ich zum flashen aber kein USB zu TTL Converter im Haus hatte, brauchte ich eine andere Alternative. Zum flashen habe ich letztendlich einen Arduino Uno genutzt, an dem der ESP-01 angeschlossen war.

In einigen Tutorials wurde der gleiche Aufbau verwendet, jedoch der ATMEGA vom Arduino Uno entfernt. Dies ist nicht notwendig, wenn der RESET Pin auf Masse gezogen wird.

ESP8266 <-> Arduino UNO

  • Rx <-> Rx (D0)
  • Tx <-> Tx (D1)
  • VCC <-> 3V3
  • GND <-> GND
  • CH_EN <-> 3V3
  • GPIO0 <-> GND (nur zum flashen verbinden)

Um die Firmware zu flashen, kann beispielsweise dieses Tool verwendet werden.

Wer lieber alles auf einer Platine haben möchte, der kann sich dazu eine kleine Adapter Platine bauen.

Arduino IDE einrichten

Zuallererst müssen die auf dem ESP8266 Chip basierten Boards über Datei -> Voreinstellungen -> Additional Boards Manger URLs in die IDE hinzugefügt werden. Die Daten bekommt man über  http://arduino.esp8266.com/stable/package_esp8266com_index.json

Anschließend das Board zu „Generic ESP8266 Module“ über Werkzeuge wechseln.

Außerdem muss für den ESP-01 der Flash Mode auf „DIO“ stehen, die Flash Size auf „512K (no SPIFFS)“, Flash Frequency bei „40MHz“, CPU Freqzency bei „80 MHz“ und der Upload Speed auf 115200 Baud.

Um den ESP-01 nun in den Flash Modus zu bringen, muss dieser bereits mit GPIO0 auf Masse gestartet werden (siehe Bild oben)! Will man diesen nach einem erfolgreichen Flash erneut flashen, so muss der ESP neugestartet werden im Flash Modus!

Blink Skript für den ESP-01

Hinweis: Je nach Version des ESP-01 ist die BUILT IN LED mit dem TX-Port verbunden, demnach kann kein Seriell mehr gesprochen werden!

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
   // Auf ESP-01 LED_BUILTIN = active Low
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(2000);
}

ESP alleine betreiben

Wichtig! Denk daran, wenn der ESP alleine betrieben werden soll, nicht nur VCC und GND zu verbinden, auch der Pin CHIP_EN (oben auf dem Schaltplan nur EN) benötigt 3V3!

Schreiben Sie einen Kommentar

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