Hauptmenue
Netcoast.ch
Mikrocontroller

Einleitung

Dieser Artikel dient als Erweiterung zu dem Wissen aus ESP8266-01 (ESP-01) über Serial Monitor mit AT Befehlen im Clientmodus verwenden und Firmware flashen, mit diesem Artikel sollte man in der Lage sein den ESP8266-12F zu flashen und / oder zu programmieren.

Schema direkte Verbindung ESP8266-12F (ESP-12F) und Arduino / andere Hersteller

Für das Flashen / Programmieren und den anschliessenden Betrieb des ESP8266-12F sind drei Verbindungsmöglichkeiten vorgegeben.
Hier fungiert der Arduino lediglich als Adapter, deshalb ist der Reset mit Ground verbunden und RX mit RX und TX mit TX (normalerweise wären diese ja gekreuzt):

ESP8266-12F Schema betreiben / laufen lassen


Ich verzichte hier absichtlich auf einen Logic-Level-Shifter, trotz der 3.3V / 5V Problematik.
Ist der ESP bereits programmiert und muss nur noch eingeschaltet sein, reicht diese Verbindungsart.
Wird der ESP8266-12F aber mit der Standard-Firmware und AT-Befehle verwendet, benötigt der Bootvorgang die nachfolgende Konfiguration:

ESP8266-12F Schema Booten um mit AT-Befehlen zu kommunizieren


Ich verzichte hier absichtlich auf einen Logic-Level-Shifter, trotz der 3.3V / 5V Problematik.
Arbeitet man mit der Standardfirmware ohne ein eigenes Programm, dann muss der ESP8266-12F speziell gebootet werden, damit man mit den AT - Befehlen arbeiten kann.
Ansonsten erhält man die Meldung:
ets Jan 8 2013,rst cause:2, boot mode:(7,0)

waiting for host
  1. GPIO 15 auf LOW (GND)
    GPIO 0 + GPIO 2 auf HIGH (3.3 V)
  2. RST kurz auf LOW, danach wieder HIGH
  3. GPIO 0, GPIO 2 und GPIO 15 wieder in den Zustand bringen, den man benötigt.

ESP8266-12F Schema Flashen / Programmieren


Ich verzichte hier absichtlich auf einen Logic-Level-Shifter, trotz der 3.3V / 5V Problematik.
  1. GPIO 0 + GPIO 15 + GND auf GND
  2. GPIO 2 + EN + VCC auf 3.3 V
  3. RST für Flash / Programmier - Vorgang kurz auf LOW, damit der ESP in den entsprechenden Modus wechselt.

ESP8266-12F mit aktueller Firmware über das Espressif Flash Download Tool flashen

ESP8266-12F mit aktueller Firmware flashen über Arduino / MEGA


1. Tool herunterladen -> Flash Download Tools (ESP8266 & ESP32 & ESP32-S2) (Quelle: espressif.com -> Tools)
2. BIN herunterladen aktuelle Version ESP8266 NONOS SDK (Quelle espressif.com -> SDKs)
3. alles entpacken
4. Tool starten -> Developer Mode -> ESP8266 DownloadTool


5. Settings setzen

6. Readme unter ESP8266_NONOS_SDK-x.x.x\bin\at öffnen, Einträge könnten sich zu dieser Abbildung unterscheiden.
  boot_v1.2+.bin (oder aktueller) - 0x00000
  user1.2048.new.5.bin - 0x01000
  esp_init_data_default.bin - 0x1fc000
  blank.bin - 0xfe000 & 0x1fe000

7. Einträge übertragen

8. Board einstecken -> COM-Port wählen

9. Reset von ESP kurz auf LOW
10. Start und warten bis "FINISH" erscheint.


ESP8266-12F mit aktueller Firmware flashen über ESP-01 Programmer (CH340G)

Der Programmer ist eigentlich für den ESP-01 gedacht, hat aber prima für den ESP8266-12F gepasst.

1. Tool herunterladen -> Flash Download Tools (ESP8266 & ESP32 & ESP32-S2) (Quelle: espressif.com -> Tools)
2. BIN herunterladen aktuelle Version ESP8266 NONOS SDK (Quelle espressif.com -> SDKs)
3. alles entpacken
4. Tool starten -> Developer Mode -> ESP8266 DownloadTool


5. Settings setzen

6. Readme unter ESP8266_NONOS_SDK-x.x.x\bin\at öffnen, Einträge könnten sich zu dieser Abbildung unterscheiden.
  boot_v1.2+.bin (oder aktueller) - 0x00000
  user1.2048.new.5.bin - 0x01000
  esp_init_data_default.bin - 0x1fc000
  blank.bin - 0xfe000 & 0x1fe000

7. Einträge übertragen

8. Board einstecken -> COM-Port wählen

9. Reset von ESP kurz auf LOW
10. Start und warten bis "FINISH" erscheint.


ESP8266-12F über Arduino IDE programmieren

Arduino IDE vorbereiten / konfigurieren

  1. ESP Boards dem Boardmanager hinzufügen:
    1. File -> Preferences -> Additional Boards Manager URLS: http://arduino.esp8266.com/stable/package_esp8266com_index.json

    2. Tools -> Board -> Boards Manager... -> ESP suchen -> esp8266 Community installieren / Updaten

  2. ESP Board für das Hochladen vom Programm auswählen.
    Bei mir war es für den ESP8266-12F der Eintrag "Generic ESP Module".

Verbindungsschema ESP zum Programmer

Kann mit dem Arduino und ESP-01 Programmer (CH340G) durchgeführt werden.
Verbindungsschema ist gleich wie beim Flashen der Firmware.

Programm hochladen

  1. Kompilieren starten
  2. ESP resetten

Programm ausführen

ACHTUNG: Beim ESP8266-12F muss zum Booten der Bootmodus korrekt gesetzt werden, sonst wird das hochgeladene Programm nicht geladen: