ESP8266 Programmierplatine

Der ESP8266 ist ja inzwischen in der Maker-Szene bekannt, wie ein bunter Hund. Es handelt sich dabei um ein WLAN-Modul der Firma espressif. Diese Module besitzen eine serielle Schnittstelle, über die z.B. ein Arduino angebunden werden kann. Was aber auch sehr interessant ist, die ESP8266 Module können auch stand alone, also ohne externen Mikrocontroller verwendet werden, da sie ja bereits einen eigenen Controller besitzen. Die Module können z.B. als Server oder Client betrieben werden. Noch dazu ist es möglich, das ganze mit der Arduino IDE (ab 1.6.5) zu programmieren!

Um diese Option zu nutzen, habe ich mir eine kleine Programmierplatine gebastelt, um solche Module zu programmieren. In meinem Fall handelt es sich dabei um den Typ ESP-01.

Als seriellen Programmer benutze ich einen Programmer auf Basis des CP2102 Chips von Silicon Labs, da dieser mit den für den ESP erforderlichen 3,3V Pegeln arbeitet (Achtung, die Eingänge des ESP8266 sind nicht 5V tolerant!).

Um des ESP in den Programmiermodus zu versetzen, muss GPIO0 vor anlegen der Versorgungsspannung oder bei betätigtem Reset, auf GND gezogen werden. Dazu hat meine Platine zwei Taster, einen für Reset, und einen für GPIO0. Also, um in den Programmiermodus zu kommen, den ESP über den Programmer mit dem PC verbinden, Reset drücken und gedrückt halten, dann GPIO0 drücken und gedrückt halten, Reset loslassen und dann GPIO0 loslassen. dann sollte nur die rote LED am ESP8266 leuchten und das Teil sich im Programmiermodus befinden.

Der Schaltplan der Programmierplatine. Für den Betrieb des ESP8266 ist die Schaltung allerdings nur bedingt einsetzbar, weil der ESP unter Umständen kurzzeitig ziemlich hohe Ströme ziehen kann. Für den Betrieb sollte man das ganze über einem 3,3V Spannungsregler versorgen.