Forum: Mikrocontroller und Digitale Elektronik Wie ESP8266 ESP-201 verdrahten zum Flashen?


von Gerhard H. (oderlachs)


Lesenswert?

Hallo Freunde und Kenner !

Ich kann mir einfach die Haare ausreissen und doch bekomme ich kein 
Programm auf  das ESP-Modul gebrannt.

Ich habe folgende Module : ESP8266 ESP-201
Fotos:
http://www.xcsource-pic.com/TE373-03.jpg

http://i.ebayimg.com/images/g/RQIAAOSwPCVX4BuM/s-l1600.jpg

Die Spannung 3,3V bezieht das Modul aus einer 1A 3.3V Stromversorgung, 
also ausreichend stromfest.
Mit einem 3.3V USB/UART Adapter verbinde ich GND, RX und TX....aber ich 
kann nix flashen.
Ich benutze die Arduino-IDE zum Programmieren.

Habe mehrere Module probiert, nix geht. Auch habe ich verschiedene USB 
Kabel verwendet, USB Anschlüsse am PC gewechselt nix geht.

Die NODEMCU LUA Module lassen sich prima Programmieren, nur eben diese 
oben genannten Module ganz und gar nicht.
Was mache ich falsch, muss ich das Modul noch anders verdrahten , 
beschalten??

Leider komme ich mit meinem wenigem Englisch nicht so tief in die 
Beschreibungen die es ja im Web gibt, schade.

Vielleicht kann mir ja jemand hier "mein Brett vorm Kopp" entfernen mit 
ein paar Hinweisen ?

Ich sage schon mal vielen Dank !

Mit besten Grüssen

Gerhard

: Verschoben durch User
von Joachim S. (oyo)



Lesenswert?

Schau mal in die angehängten Dateien, die betreffen speziell das ESP-201 
- die dürften Dir helfen.

von Dauergast (Gast)


Lesenswert?

Joachim S. schrieb:
> Schau mal in die angehängten Dateien, die betreffen speziell das
> ESP-201 - die dürften Dir helfen.

Tabelle "Boot Modes" im ersten Bild, unten rechts.
Das NodeMCU-Board macht das automatisch über die Steuerleitungen des 
CH340.

https://raw.githubusercontent.com/nodemcu/nodemcu-devkit/master/Documents/NODEMCU_DEVKIT_SCH.png

von Einer K. (Gast)


Lesenswert?

Das Bild da oben: 
Flashing-The-ESP8266-ESP201-Module-Board-With-TTL-UART.jpg
Ist nicht ausreichend für die Arduino IDE!

Entweder fehlen 2 Taster, oder 2 Leitungen.
DTR und RTS sollten zum Flashen mitverwendet werden.

So hat die Sache auszusehen:
https://github.com/esp8266/Arduino/blob/master/doc/ESP_to_serial.png

von Joachim S. (oyo)


Lesenswert?

Arduino F. schrieb:
> Das Bild da oben:
> Flashing-The-ESP8266-ESP201-Module-Board-With-TTL-UART.jpg
> Ist nicht ausreichend für die Arduino IDE!
> Entweder fehlen 2 Taster, oder 2 Leitungen.
> DTR und RTS sollten zum Flashen mitverwendet werden.

Oops, hast Recht - das angesprochene Diagramm taugt aus den erwähnten 
Gründen überhaupt nicht, hätte ich vor dem Hochladen lieber nochmal 
anschauen sollen.

> So hat die Sache auszusehen:
> https://github.com/esp8266/Arduino/blob/master/doc/ESP_to_serial.png

Ja, das passt. Wobei R1, R2, R4 und C1 in dieser Grafik erfahrungsgemäss 
nicht zwingend nötig sind.

Wichtig ist halt, dass DTR mit GPIO0 verbunden wird und RTS mit nRESET.

von Gerhard H. (oderlachs)


Lesenswert?

Hallo !

Vielen Dank Euch allen !!

So ist es dann so, dass ich zwischen dem USB-SerialAdapter und ESP noch 
eine Beschaltung vornehmen muss.Werde da mal eine Adapter-Platine 
basteln.

Über Sieg oder Niederlage werde ich hier Euch berichten.

Vielen Dank nochmals,  Gruss besonders in die CH

Gerhard

von Joachim S. (oyo)


Lesenswert?

Gerhard H. schrieb:

> So ist es dann so, dass ich zwischen dem USB-SerialAdapter und ESP noch
> eine Beschaltung vornehmen muss.Werde da mal eine Adapter-Platine
> basteln.

Eine zusätzliche Beschaltung speziell für den USB-Seriell-Adapter ist 
eigentlich nicht nötig; das einzige, was zwingend nötig ist, ist der 
Pulldown an GPIO15, der aber grundsätzlich für den Betrieb des ESP8266 
benötigt wird.

p.s.: Gibt's eigentlich keine Möglichkeit, einen alten Beitrag zu 
ändern, um z.B. eine angehängte Datei zu entfernen? Die 
"Flashing[...]with-TTL-UART"-Grafik ist wirklich kompletter Murks, die 
sollte man am besten löschen, damit das nicht jemand versehentlich 
benutzt.

von Gerhard H. (oderlachs)


Lesenswert?

Danke Achim !!!

Gerhard

von Gerhard H. (oderlachs)


Angehängte Dateien:

Lesenswert?

Kann leider nicht mehr editieren.. :(

So, ich habe jetzt die Anordnung der Beschaltung so gewählt , wie auf 
dem oben angeführten github-Link zu finden ist.

Ohne Erfolg :
1
Arduino: 1.6.10 (Linux), Board: "Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"
2
3
Der Sketch verwendet 226.625 Bytes (52%) des Programmspeicherplatzes. Das Maximum sind 434.160 Bytes.
4
Globale Variablen verwenden 31.824 Bytes (38%) des dynamischen Speichers, 50.096 Bytes für lokale Variablen verbleiben. Das Maximum sind 81.920 Bytes.
5
/home/gerhard/.arduino15/packages/esp8266/tools/esptool/0.4.9/esptool -vv -cd ck -cb 115200 -cp /dev/ttyUSB0 -ca 0x00000 -cf /tmp/buildc261ea11504a7af2bb2569d121cfdb3d.tmp/WiFiScan.ino.bin 
6
esptool v0.4.9 - (c) 2014 Ch. Klippel <ck@atelier-klippel.de>
7
  setting board to ck
8
  setting baudrate from 115200 to 115200
9
  setting port from /dev/ttyUSB0 to /dev/ttyUSB0
10
  setting address from 0x00000000 to 0x00000000
11
  espcomm_upload_file
12
  espcomm_upload_mem
13
opening port /dev/ttyUSB0 at 115200
14
  tcgetattr
15
  tcsetattr
16
  serial open
17
opening bootloader
18
resetting board
19
trying to connect
20
  espcomm_send_command: sending command header
21
  espcomm_send_command: sending command payload
22
trying to connect
23
  espcomm_send_command: sending command header
24
  espcomm_send_command: sending command payload
25
trying to connect
26
  espcomm_send_command: sending command header
27
  espcomm_send_command: sending command payload
28
resetting board
29
trying to connect
30
  espcomm_send_command: sending command header
31
  espcomm_send_command: sending command payload
32
trying to connect
33
  espcomm_send_command: sending command header
34
  espcomm_send_command: sending command payload
35
trying to connect
36
  espcomm_send_command: sending command header
37
  espcomm_send_command: sending command payload
38
resetting board
39
trying to connect
40
  espcomm_send_command: sending command header
41
  espcomm_send_command: sending command payload
42
trying to connect
43
  espcomm_send_command: sending command header
44
  espcomm_send_command: sending command payload
45
trying to connect
46
  espcomm_send_command: sending command header
47
  espcomm_send_command: sending command payload
48
warning: espcomm_sync failed
49
error: espcomm_open failed
50
error: espcomm_upload_mem failed
51
error: espcomm_upload_mem failed
Bin also nicht weiter als wie vorher ????

Und ich dachte die Funktechnik der Russen ist nur katastrophal ;)

Na hoffen wir weiter und harren aus...vieleicht finde ich blindes Huhn 
ja auch mal ein Korn...

Gruss
Gerhard

: Bearbeitet durch User
von Joachim S. (oyo)


Lesenswert?

Gerhard H. schrieb:
> Kann leider nicht mehr editieren.. :(
>
> So, ich habe jetzt die Anordnung der Beschaltung so gewählt , wie auf
> dem oben angeführten github-Link zu finden ist.

Dem skizzierten Schaltplan zufolge nicht; demnach ist bei Dir GPIO0 
momentan nur mit einem Pulldown zu GND verbunden; tatsächlich muss GPIO0 
aber mit der DTR-Leitung vom USB-Seriell-Wandler verbunden werden, und 
wenn man mag, noch mit einem Pullup zu VCC.

EDIT: Wobei i.d.T. trotzdem fraglich ist, ob das hier wirklich das 
Problem ist; mit der skizzierten Verkabelung kann der ESP zwar nicht 
normal booten, aber er sollte beim Reset ja trotzdem in den "Serial 
Programming" Mode springen...

CH_PD/CH_EN hast Du aber schon angeschlossen (=mit oder ohne Pullup mit 
VCC verbunden), oder?

: Bearbeitet durch User
von Klaus (Gast)


Lesenswert?

Joachim S. schrieb:
> EDIT: Wobei i.d.T. trotzdem fraglich ist, ob das hier wirklich das
> Problem ist; mit der skizzierten Verkabelung kann der ESP zwar nicht
> normal booten, aber er sollte beim Reset ja trotzdem in den "Serial
> Programming" Mode springen...

Richtig. Und den Programmierstart kann man sowohl mit einem Low-Pulse 
auf Reset als auch auf CH_PD auslösen.

MfG Klaus

von Gerhard H. (oderlachs)


Lesenswert?

Hallo vielen Dank !

Ja ich habe in der Eile etwas falsch gezeichnet, hier ist die richtige , 
aktuelle Schaltung zu sehen:

http://oderlachs.de/forum/foto/espserial.jpg

Begreife aber warum das Ding nicht will immer noch nicht. Habe 4 Module 
und alle wollen nicht. Verschiedene USB-Kabel/-längen probiert, versch. 
USB Eingänge am PC immer das selbe an Fehlermeldung...

Gerhard

Der Widerstand R2 an DTR/GPIO0-Ltg geht natürlich an +3.3Volt hier lt 
der Zeichnung von Github, woanders steht auf LOW bei serieller 
Programmierung.

Man sieht die Nerven liegen schon fast blank bei soviel Missgeschick und 
Pannen. ;)

Gerhard

Lösung gefunden:

Der PullUP Widerstand 3.3V gegen Chip_EN hat gefehlt.

Ich wusste nicht das man dieses noch extra beschalten muss. Also eine 
typische Fußangel für Erstbenutzer...grolll  ;)
Den muss ich direkt in der Zeichnung von Github übersehen haben.

Ich danke Euch für Eure Mühen, die ich Euch durch meine Blödheit 
verursacht habe !!

Gruss

Gerhard

: Bearbeitet durch User
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.