ESP8266 mit Arduino programmieren

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche

Der ESP8266 kann direkt per Arduino programmiert werden. Normalerweise braucht man dazu extra Buttons, die man kompliziert drücken muss. Wenn man aber einen FTDI hat, der auf 3.3V an den IO-Pinnen läuft und an dem sich die RTS Leitung herausführen lässt, sollte es vollautmatisch wie folgt gehen:

+----------------------------+
|  FTDI Board         -> DTR |
|                     <- RX  |
| U                   -> TX  |
| S                      VCC |
| B                   <- CTS |
|                        GND |
+----------------------------+

+----------------------------+
|  ESP8266 ESP-01            |
|                  RXD  VCC  |
|                GPIO0  RST  |
|  component     GPIO2  CH_PD|
|    side          GND  TXD  |
|                            |
+----------------------------+

ESP       FTDI (auf 3.3V Betrieb stellen!)
=====     ======
GND   <-> GND
VCC   <-> VCC (Externen leistungsfähigen 3.3V Regler nehmen!)
TX    <-> RXD 
RX    <-> TXD
GPIO0 <-> DTR (LOW = Firmware Upload, HIGH = Run)  
GPIO2 <-> über 10K an VCC (3.3V), kann dann aber weiterverwendet werden als Ausgangsport
CH_PD <-> über 10K an VCC (3.3V)
RST   <-> RTS + über 10K an VCC 

        GPIO0 pull to GND for firmware flash
        RST pullup to VCC

Wichtig: Bei größeren Modulen auch GPIO15 auf GND setzen.

Im Arduino "Generic ESP8266" auswählen und PLAY drücken - es sollte das Ding programmieren. Nutzt man ein Terminal-Programm muss ggf. die RTS-Leitung im Program auf einen anderen Pegel gesetzt werden, damit das Programm im ESP gestartet werden kann.