Erste Schritte mit dem ESP-09

      2 Kommentare zu Erste Schritte mit dem ESP-09

Im Gegensatz zu meinen „gebrauchsfertigen“ Boards NodeMCU und WeMos D1 mini, ist der ESP-09 eher für den fortgeschrittenen Bastler gedacht. Mit einer Kantenlänge von jeweils 1cm ist das Teil wirklich sehr winzig. Da er über keine Steckerleiste verfügt, sind Lötarbeiten angesagt. Ebenso fehlt die USB Schnittstelle und der Spannungswandler.

ESP09 Pinout (top view) and minimum wiring

ESP09 Pinout (top view) and minimum wiring (dont´forget to attach 3,2 cm antenna cable!)

Zuerst wird ein Kabel an VCC und CH_PD gelötet (Ist CH_PD nicht mit VCC verbunden, startet der ESP nicht). Danach werden die Pads reihum mit Kabeln versehen. Die Antenne wird an ANT angelötet und sollte 3.2mm lang sein. Ich habe hier einfach ein ganz normales Kabel genommen.

I guess these solder joints won´t win a beauty contest...

I guess these solder joints won´t win a beauty contest…

Bevor der ESP09 mit 3.3V versorgt und über einen USB-Seriell-Adapter an den Rechner angeschlossen werden kann, muss noch der korrekte Bootmodus eingestellt werden. Dies erfolgt durch entsprechende Pegel während des Starts/Resets an den Pins 0, 2 und 15. Ferner benötigt RST ein HIGH. Wie man am Begriff Boot-Modus erahnen kann, muss man zum Umschalten der Modi den ESP entweder neu starten oder RST kurz auf LOW ziehen (z.B. mit einem Taster), um einen Reset auszuführen.

Boot-Modus CH_PD RST GPIO0 GPIO2 GPIO15
Programmieren (Mode 1) 3.3 V HIGH LOW HIGH LOW
Programm ausführen (Mode 3) 3.3 V HIGH HIGH oder unbeschaltet HIGH LOW

HIGH = Mit 10kOhm Widerstand an VCC LOW = Mit 10kOhm Widerstand an GND Bei dem USB-TTL-Adapter habe ich auf einen billiges China-Modell mit eingebautem CP2102 zurückgegriffen. 3.3V wird mit VCC, GND mit GND, TXD mit URXD und RxD mit UTXD verbunden. ESP8266_Putty_1 ESP8266_Putty_2Nachdem man den Adapter mit dem Rechner verbunden hat, stellt man in PuTTY die Verbindungsgeschwindigkeit auf 74880 baud und wählt den COM-Port des Adapters aus. Jetzt öffnet man ein Terminal-Fenster und führt entweder einen Reset aus, indem man RST mit GND verbindet oder kurz die USB-Verbindung trennt. Wenn alles korrekt angeschlossen wurde, sollte man eine Bootnachricht empfangen. Der boot mode (3,x) weist darauf hin, dass ein ggf. im Flash gespeichertes Programm ausgeführt wird. Wird der boot mode (1,x) angezeigt, erwartet der ESP den Upload eines neuen Programms.

ESP09 boot mode 1

ESP09 boot mode 1

ESP09 boot mode 3

ESP09 boot mode 3

  • Werden lediglich kryptische Zeichen angezeigt, muss ggf. die Verbindungsgeschwindigkeit angepasst werden.
  • Bootet der ESP in einen anderen Modus als 1 oder 3 muss überprüft werden, ob die Verkabelung korrekt ist und die Lötstellen sauber ausgeführt wurden.
  • Erscheint nichts und die TX/RX-Dioden am Adapter blinken nach dem Neustart, ist vermutlich ein falscher COM-Port ausgewählt worden.
  • Erscheint nichts und blinken auch die TX/RX-Dioden am Adapter nicht, wurde ggf. das Modul nicht korrekt angeschlossen oder ist defekt.

ESP09 COM9 - PuTTYWird ein boot mode (3,x) angezeigt, kann man jetzt das Terminalfenster schließen. Man öffnet jetzt ein Neues mit 9600 baud und gibt testweise AT + Strg+M + Strg+J ein. Der ESP sollte mit OK antworten, falls die AT-Firmware aufgespielt wurde. Mein Modul hat dieser Stelle jedoch nicht geantwortet und auch andere Baud-Raten machten keinen Unterschied. In diesem Fall muss der boot mode (1,x) eingestellt (siehe Tabelle oben) und eine neue Firmware aufgespielt werden.

ESP8266 flasher

ESP8266 flasher

Da mir dies mit der Arduino-Software nicht gelungen ist, habe ich auf den ESP8266 flasher zurückgegriffen. Dieser benötigt lediglich diese Firmware-Datei und die Angabe des korrekten COM-Ports. Nach dem Flashen kann man den PIN 0 wieder auf HIGH ziehen. Danach sollte man mit dem ESP – wie oben beschrieben – über AT-Kommandos kommunizieren können und auch das Aufspielen eigener Programme mit der Arduino-Software funktionieren…

Infos zusammengesucht u. a. von folgenden Seiten in englischer Sprache: http://www.esp8266.com/wiki/doku.php?id=getting-started-with-the-esp8266 https://github.com/esp8266/esp8266-wiki/wiki/Boot-Process#esp-boot-modes http://www.allaboutcircuits.com/projects/update-the-firmware-in-your-esp8266-wi-fi-module/

Folgende Hardware wurde eingesetzt:
ESP-09 gekauft @ Aliexpress (~2€)
USB-TTL-Converter gekauft @ Aliexpress (~2 €)

2 thoughts on “Erste Schritte mit dem ESP-09

  1. Tck

    Thanks for this, I’m fairly well versed using esp modules but it’s time for real prototypes, I’m thinking of the esp 09 due to its size. Your guide is the best I found, btw, did you deploy the 09 in anything? How many of the gpios are truly usable, let’s say for pwm or turning LEDs?

    Reply
    1. wordpress Post author

      I have build a time lapse controller prototype. It just needs to switch two optocouplers.

      I think GPIO 0, 2, 15 should not be used for anything else than setting the run mode.
      GPIO 12, 13, 14 are safe to use. I haven´t tried to use the serial pins for anything else yet..

      I thought the ESP09 was a nice toy since it´s so tiny but in most cases I think it is easier to use an ESP03, ESP07, ESP11, ESP12 or ESP13 module in my projects since I do not have to take care of the correct antenna length / layout.

      Another downside of the ESP09 is that you can´t use deep sleep since you do not have access to GPIO16!

      Reply

Schreibe einen Kommentar

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