Verbindung zum ESP8266 aufnehmen


Da der Booloader fest im ROM ist, kann man die ESP eigentlich nicht "zerflashen".
Programmiert werde sie über einen seriellen Bootloader, so daß die Minimalversion ein USB-Seriell-Wandler und ein ESP8266-01 ist, wenn man erstmal nur schnell und billig experimetieren will.
Wichtig! Die ESP8266 sind 3,3V-Systeme, die Eingänge sind NICHT 5V-tolerant, auch wenn sie die Mißhandlung oft überstehen.
Mit einem USB-Wandler mit dem CP2102 von SiLabs ist man am Anfang ganz gut dran, der interne 3,3V-Regler des CP2102 ist mit 100mA angegebn.
Das reicht den ESP8266 eigentlich nicht: ca. 80mA im Betrieb, aber Spitzen bis 250mA bei WLAN-Betrieb sind nötig.
Ganz praktisch kommen sowohl der CP2102 als auch der ESP8266 damit klar, wenn man den 3,3V einen 100-220µ Elko spendiert.

Noch ein Hinweis: meine CP2102-USB-Adapter haben die Beschriftung RX und TX so, daß man TX mit TX und RX mit RX verbinden muß, Das ist mir bisher nur bei diesen Modulen so begegnet, ein Vertauschen der Leitungen ist zwar theoretisch nicht gut, da sich dann 2 Ausgänge gegenseitig belasten, Folgen hatte das praktisch bisher noch nicht, man sollte es also sicher nicht stunfdenlang machen.
Da die Last nur auftritt, wenn einer oder beide Partner Daten senden, kann testweise schonmal tauschen, wenn man keine Antwort vom ESP8266 bekommt, ein Test dauert ja höchstens wenige Minuten.


USB-Adapter FTDI232 und CP2102

Vorerst ist es egal, welcher Adapter genutzt wird, es werden erstmal nur TX, RX und GND benötigt und mit dem ESP8266 verbunden. Der FTDI-Adapter hat den Vorteil, daß alle Leitungen verfügbar sind, der 3,3V-Ausgang kann aber keinen ESP8266 betreiben.
Da ist also eine eigene 3,3V Versorgung für den ESP notwenig.

Mit den 3,3V des CP2102 Adapter kann man den ESP8266 durchaus betreiben, allerdings sind bei meinem Adapter nur TX und RX rausgeführt, das kann ein Nachteil sein, wie wir noch sehen werden.

Um die ESP-Module schnell und einfach programmieren zu können, habe ich mir einen Adapter gebaut.


Programmier-Adapter

Wie üblich auf Lochraster, den Schaltplan gibt es unter Hardware.
Mein FTDI-Adapter mußte dazu etwas modifiziert werden: die Verbindung vom 3,3V/5V zu Vcc wurde getrennt und Vcc fest mit 5V verbunden
Der Jumper schaltet jetzt nur noch die Pegel an den Datenleitungen zwischen 3,3V und 5V um.
Die Spannungsreglung übernimmt der Regler auf dem Adapterboard, der FTDI kann nicht genug Strom auf 3,3V.
Außerdem wurde CTS aufgetrennt und statt dessen RTS auf die Stiftleiste gelegt.
Damit lassen sich die ESP-Module aus der Arduino-IDE mit "Reset als NodeMCU" bequem programmieren.
Eigentlich sollte man noch einen zweiten Taster raufbauen, der GPIO0 auf GND zieht, dann kann man auch mit den anderen Programmiertools des ESP von Hand den Programmiermode starten.

Die ESP8266-01 lassen sich direkt aufstecken, für alle anderen gibt es einen Kabeladpter und GND/3,3V/RX/TX/Reset/GPIO0 werden direkt ans Modul gelötet.


Programmier-Adapter mit FTDI-Adapter und einem ESP8266-07

Die -07 und -12 Module bekommen direkt auf der Leiterplatte einen 10k von GPIO15 nach GND und eine Brücke zwischen Vcc und EN.
GPIO15 muß Low bei Reset sein, sonst geht der ESP in den falschen Bootmode. Wenn ich über EN das Modul später in einer Anwendung abschaltbar machen will, kommt die Brü zu EN eben wieder runter.


Letzte Änderung am 01.03.2016