Fehler bei Upload auf Nodemcu ESP8266 ESP-12E /CH340

Hätte da noch mal eine Verständnisfrage bezüglich eines Phänomens …

Habe da noch eine handvoll Nodemcu’s (ESP8266 ESP-12E /CH340) in der Grabbelkiste gehabt (waren zu seiner Zeit in CN sehr günstig gewesen, so das ich bei der Bestellmenge nicht gerade gegeizt hatte), welche aus meiner Smarthome Aktion übrig geblieben sind und habe mir zudem auch aktuell mal fix paar Breadboards und Kabel organisiert, um mich mal Schritt für Schritt am programmieren heran zu tasten.

Kleines Sketch geschrieben um mal wieder meinen beliebten WS2812B LED Teststripe mit 15 Pixel Länge anzusteuern. Was soll ich sagen, das komplillieren des Sketches funktioniert, jedoch der Upload scheitert mit der Meldung

warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed

USB Kabel geprüft, ob es sich um ein Datenkabel handelt. Prüfung verlief positiv und beim anschließen wird die Nodemcu (ESP8266 ESP-12E /CH340) auch in der Systemsteuerung von Windows erkannt, Treiber sind installiert.

Kurzes Kopfkratzen und dann mal noch zusätzlich den vorhandenen FT232R UART Adapter ebenfalls hervor geholt und an die NodeMCU angeschlossen. Den GPIO0 (D3) gegen Masse der Nodemcu mit einem Kabel auf dem Breadboard gesteckt und mit Arduino IDE (aktuellste Version) den Upload erneut probiert und es hat sofort funktioniert.

Daher meine Verstänsnisfrage, warum der integrierte UART der Nodemcu nicht will, aber mit dem FT232R Adapter funktioniert es problemlos. Muss ich eventuell noch etwas zusätzlich beachten, wenn ich direkt über den USB Anschluß der Nodemcu diese mittels Arduino IDE programmieren möchte, anstatt den Umweg über den zusätzlichen FT232R Adapter? Liege ich richtig in der Annahme, das es mit dem GPIO0 (Flash) etwas zu tun hat?

hat er über USB ausreichend (überhaupt?) Strom? Hab hier auch ein zwei wo ich mir die Sperrdiode geschossen habe und sie extern versorgt werden müssen...

Hallo, habe den USB am PC über USB-HUB angeschlossen, welcher widerum an einem 5V 10A Netzteil angesclossen ist ... An dem gleichen HUB wurde auch der FT232R Adapter angeschlossen, der test-Sketch lässt alle 15 Pixel hell leuchten, denke dürfte genügend Strom haben ...

Den richtigen Treiber (CH340) hast du auch geladen ? Wenn du den GPIO0 nicht beschaltet hast, sollte es funktionieren.

Hallo Dieter,

hab mir von der chinesischen Seite den letzten CH340 Treiber aus September 2019 runter geladen und installiert ...

Der GPO0 ist nicht belegt ...

Habe eben mal die 11 anderen vorhandenen Nodemcu's auch mal durch probiert, Phänomen tritt bei allen auf ...

Notfalls muss ich dann halt dem FT232R Adapter paar Beinchen verpassen und mit auf's Breadboard stecken. Habe schon mal im Netz gegooglelt und da gibt's einige Leutchen mit dem gleichen Problem, und da kamen da Lösugsansätz mit ausmessen mit Ozi mit Zusatzschaltung, andere drückten den RST/Flash-Button im Wechsel, einen 10K Widerstand zwischen GPIO0 und GND,aber eine definitve konkrete Lösung fand ich nicht.

Werd mir mal die Tage einen aus deutscher Produktion mal zum vergelich holen. Könnt ja sein, das es an den Versionen aus CN liegt und die schlecht geclont haben ... :) ... Beim damaligen "Sonderpreis" von 1,25 €/Stck inkl. 14 Tage Wartezeit bei Ali kein Ding der Unmöglichkeit ...

Das scheinen tatsächlich schlechte Clone zu sein. Da fehlen dann die Bauteile (Transistoren und Widerstände) die eine automatische Schaltung zum booten ermöglichen.

Meine NodeMCU funktionieren problemlos.

sanweb: Werd mir mal die Tage einen aus deutscher Produktion mal zum vergelich holen.

Da der ESP8266 eine rein chinesische Entwicklung und Produktion ist, wird das wohl nichts werden.

Gruß Tommy

10 kohm-Widerstand bringt meines Wissens nach nichts. Aber ein 100nF Kondensator zwischen GND und enable-pin hat geholfen

vgs

Mach doch mal ein deutliches Foto von beiden Seiten des NodeMCU. Da können wir vergleichen, ob evtl. im Layout etwas fehlt.

Hallo,

da ich nun beide Versionen vorliegen habe, hier nun mal die Bilder dazu:

Bild 1: Direkt aus China (vom “Ali den schnellen”)

Bei jenem kommt der besagte Fehler, wenn versucht wird über dem Micro-USB Anschluss den Sketch hoch zu laden.

Bild 2: Aus Deutschland

Bei jenem kommt dann folgende Fehlermeldung:

In file included from /home/merlin/Arduino/libraries/FastLED/FastLED.h:65:0,
                 from /home/merlin/arduino/prg/ardweeny/Neopixel-IR/Neopixel-IR.ino:7:
/home/merlin/Arduino/libraries/FastLED/fastspi.h:110:23: note: #pragma message: No hardware SPI pins defined.  All SPI access will default to bitbanged output
 #      pragma message "No hardware SPI pins defined.  All SPI access will default to bitbanged output"

eerror/1

Was für mich erst einmal heißt, das ich erst einmal die PIN’s der NodeMCU in Verwendung mit der FAstLED Libary anders im Sketch einbinden muss als bei einem Aruino Nano …

nodemcu-wifi-development-board-esp8266-12f-ch340g-500x500.jpg

nodemcu_az.jpg

pragma message ist kein Fehler, sondern eine Info der FastLed-Lib, dass dieser Prozessor kein Hardware-SPI hat und damit SPI in Software genutztz wird.

Gruß Tommy

Mir fällt auf, dass die Lötstellen auf dem ersten Bild sehr unsauber aussehen. Könntest du diese mal mit einer Bürste reinigen ? Evtl. ist da ja ein Kurzschluss vorhanden, der einen Upload verhindert.

@HotSystems
Die Lötstellen sind in Ordnung und vernünftig verlötet, es ist das Flussmittel was du da siehst (bin noch stolzer Besitzer von bleihaltigem Lötzinn … :smiley: …) und mir ist der WL Kontaktreiniger nur grad ausgegangen und muss erst beim Elektronikversand meines ertrauens Nachschub besorgen. Habs zu dem noch mal ausgemessen, sind keine Kurzschlüsse vorhanden.

@noiasca
Boardauswahl siehe Bild:

@Tommy56
Auch ein 100nF Kondensator hat hier nicht geholfen …

Nun hab ich mich mal heute in der Nacht nach der Spätschicht noch mal dran gesetzt (man hat himmlische Ruhe um diese Uhrzeit für solche Sachen … :smiley: … ) und mal weiter experimentiert. Nun habe ich mal ein Sketch genommen, was nicht auf die FastLED Libary aufbaut, sondern auf die Adafruit Neopixel und dann kam folgendes heraus:

Über den USB Anschluss direkt an der NodeMCU kam nun mal folgende Meldung:

Lade ich den Sketch mit den gleichen einstellungen über den FT232R UART Adapter hoch, funktioniert es ohne Probleme:

Dachte zuerst, das ich vergessen hätte, Arduino IDE mit Adminrechten zu starten wegen dem “permission denied”, hatte ich aber jedoch mit Adminrechten gestartet …

Zum Reinigen der Lötstellen reicht eine Zahnbürste und Spiritus.

Es sieht so aus, dass die Com8 von einem anderen Programm belegt ist.

also das Meldungsfenster sagt
kann den COM-Port nicht öffnen. Das dann rein gar nichts mit dem Board zu tun

Dann gibt es noch eine Meldung URL nicht gefunden. Hat auch nichts mit dem Board zu tun.

Alle NodeMCUs abstöpseln
den Gerätemanager öffnen und den Bereich COM-Ports anzeigen lassen.
Screenshot machen
Dann NoceMCU einstöpseln
Gerätemanager-Ansicht wird aktualisiert
dann wieder anzeigen lassen und vergleichen welcher COM-Port dazugekommen ist.

Das ist der COM-Port vom NodeMCU
Die Boards sehen so aus als hätten Sie den CH340-USB-Adpater-Chip drauf dann sollte der Eintrag so ähnlich aussehen:

Die COM-Port Nummer ist natürlich bei dir eine andere