Forum: Mikrocontroller und Digitale Elektronik ESP8266 (ESP07) Grundschaltung/IO Belegung


von Lua (Gast)


Lesenswert?

Guten Morgen :)

Gibt es irgendwo eine Grundschaltung bzw. Reference Design für die 
ESP8266 Module?
Ich habe mir ein paar ESP-07 bestellt. Da möchte ich NodeMCU drauf 
bringen und zwei Relais ansteuern/zwei Eingänge auswerten.

Versorgung (3,3V) und Pullup an Reset (Pin 1) + Enable (Pin 3) habe ich 
eingeplant. Außerdem eine Stiftleiste für UART (Pins 15 & 16).

Braucht das Modul noch weitere Pullups o.ä.?
Gibt es interessante I/Os (z.B. I2C, SPI), die ich auf eine 
Erweiterungs-Leiste legen sollte?

Außerdem wichtig für die zwei Relais, die sollen beim Einschalten nicht 
auslösen. Sind alle GPIOs dafür geeignet, oder schaltet das Modul beim 
"hochfahren" irgendwelche Ausgänge?

von Michael U. (amiga)


Lesenswert?

Hallo,

wenn Du Enable nicht zum Abschalten des ESP benutzen willst kann es 
direkt an Vcc.
Reset braucht keinen PullUp, hat einen Internen, genauso GPIO0 für den 
Bootmode beim Programmieren.
GPIO15 muß über enem 10-12k an GND, sonst wird im falschen Bootmode 
gestartet.

GPIO4 und GPIO5 sind fast uneingeschränkt nutzbar, es sei denn, NodeLUA 
wackelt beim Booten dran. GPIO0 als Relaistreiber ist ungünstig, 
Basiswiderstand + Transistor sorgen für ungewolltes falsches Booten.
An GPIO2 wird vom Bootloader rumgewackelt, GPIO 10-12 (SPI) kann man nur 
probieren.
Meine WLAN-Steckdose wird von GPIO5 geschaltet.

Es sollten ja mittlerweile nur noch aktuelle Module mit 8MBit Flash 
verkauft werden. Falls Du noch alte mit 4MBit Flash bekommst, hast Du 
soweiso ein Problem: da passt weder NodeLUA noch eine aktuelle 
AI-Thinker Software drauf.

Ich programmiere die Teile ohnehin direkt mit der Arduino IDE, das stört 
mich das nicht so sonderlich.

Es macht auch Sinn, die Steuerlogik (2 Transistoren + 2 Widerstände) des 
NodeMCU-Moduls an Reste und GPIO0 zu löten, dann muß min zum 
Programmeiren nicht immer Tasten drücken...

Im Moment habe ich etwas wenig Zeit für meine Webseite:
http://www.avr.roehres-home.de/esp8266/index.html

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Lua (Gast)


Lesenswert?

Hi, danke für die super ausführliche Beschreibung!

Ich habe das jetzt so beschaltet:
GPIO 4 & 5 für die Relais
GPIO 12 & 13 für die Eingänge
Erweiterungsmöglichkeit: ADC, I2C (SCL GPIO 14, SDA GPIO 2)
Lötjumper um GPIO16 mit Reset zu verbinden (Wakeup)

Zum Programmieren habe ich UART0 (Pin 15 & 16) auf eine Stiftleiste 
geführt und Testpunkte für Reset und GPIO 0 (Flash Modus) vorgesehen. 
Für die Transistorlogik/USB UART ist wahrscheinlich kein Platz.

Außerdem habe ich (auf der Suche nach der von dir erwähnten Steuerlogik) 
mich auf der Seite von NodeMCU umgesehen. Deren Devkit ist eine gute 
Designvorlage:
https://github.com/nodemcu/nodemcu-devkit

von Michael U. (amiga)


Lesenswert?

Hallo,

ein billig gekauftes NodeMCU dient hier meist als Testplattform.
Die endgültig verbauten ESP bekommen die beiden Transistoren + 
Widerstände und eine 6-pol. Buchsenleiste. Da wird zum Programmieren und 
Testen direkt ein FTDI-USB-Adapter aufgesteckt. Danach wird bei mir 
normalerwise nur noch über OTA geflasht.

Im Moment hängt am NodeMCU ein VS1003-MP3-Decodermodul und spielt einen 
192kBit MP3 ICEcast-Strem vom RasPi.

Nach unbestimmer Zeit (mal mehrere Stunden, mal in kurzem Abstand) 
fliegt er mit Exeption(0) raus, das sollte illegal-Opcode sein. Der 
Fehler kommt aus dem Arduino-Teil, keine Ahnung bisher.
Ich habe jetzt mal die 1.6.8 + ESP 2.1.0 installert, keine Änderung.
Mal schauen, ob der Exeption-Decoder mir weiterhilft...

Gruß aus Berlin
Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.