ESP-01 (ESP8266) Programmer – So funktioniert der Flashvorgang

Wir von Xgadget.de sind immer auf der Suche nach neuen Bastelprojekten, darum haben wir uns dieses mal an einem kleinen WLAN-Modul versucht. Technik-Begeisterte haben vielleicht schon öfters von dem ESP8266 Modul in der ESP-01 Ausführung gehört, dieses bietet euch für wenig Geld ein 2,4 GHz WiFi-Modul für Bastelzwecke. Für die eigentliche Programmierung kann man auf einen günstigen ESP-01 USB-Programmer aus China zurückgreifen – diesen könnt ihr euch Versandkostenfrei für gerade einmal ca. 1,70 Euro direkt von dort bestellen. 

Wo bestelle ich den ESP-01 Programmer?

Wir haben unseren Programmer für den ESP-01 direkt bei AliExpress bestellt, der Händler gibt dabei eine maximale Versanddauer von bis zu 60 Tagen an. In unserem Fall hatten wir mit dem Standardversand die Ware nach etwa 35 Tagen im Briefkasten, wer es schneller möchte sollte auf die „Air Mail“-Versandart zurückgreifen – dort liegt die Lieferzeit in der Regel bei ca. 14 – 24 Tagen.

ESP-01 Programmer – Preis ca. 1,70 Euro – bei Aliexpress bestellen*

Neben dem USB-Programmer benötigt ihr selbstverständlich einen entsprechendes ESP-01 Modul sowie noch ein kleines Stück Draht oder einen einzelnen Widerstand.

ESP-01 Modul -Preis ca. 1,80 Euro – bei Aliexpress bestellen*

Widerstand – Kompletter Pack für ca. 1,50 Euro – bei Aliexpress bestellen*

Unboxing & Treiber

Auf ein Unboxing verzichten wir an dieser Stelle, da ihr in dem kleinen Versandpäckchen lediglich den USB-Programmer für den ESP-01 vorfinden werdet. Zusätzliche Treiber werden in der Regel nicht benötigt, können aber von HIER heruntergeladen werden.

Welche Software eignet sich zum Programmieren?

Ein ESP8266-Modul kann mit unterschiedlicher Software programmiert werden, so kann man neben der Arduino IDE auch LUA-Code mit dem ESPlorer auf das WiFi-Modul aufspielen. Wir haben für unseren Test allerdings auf die offizielle Arduino IDE gesetzt, für diese gibt es zusätzliche Software auf GitHub, sodass wir auch die ESP8266 WLAN-Module damit programmieren können. Eine entsprechende Anleitung zur Programmierung des ESP-01 mit der Arduino IDE haben wir in einer extra Anleitung veröffentlicht -> Zur Programmier-Anleitung gehen (wird in kürze veröffentlicht).

Flashen nicht möglich? – So geht es:

Euer Programm lässt sich nicht auf das ESP-01 WLAN-Modul übertragen? Kein Wunder – der China USB-Programmer benötigt für den eigentlichen Flashvorgang auch noch ein Stück Draht bzw. alternativ auch einen Widerstand den ihr einfach zwischen den folgenden beiden Ports steckt:

Programmer ESP01

Nehmt nun einen kleinen Widerstand und steckt diesen zwischen GPIO0 und GND, anschließend führt ihr mit ein wenig Druck auch das WLAN-Modul in den Steckplatz ein:

Programmer ESP01 mit Widerstand

Nur durch diese Methode wird der ESP-01 in den Flashmodus versetzt – Achtung: Wollt ihr einen weiteren Flashversuch wagen, müsst ihr immer zunächst euer WLAN-Modul aus- und einstecken um diesen Vorgang erneut durchzuführen. Alternativ könnt ihr auch den USB-Programmer kurz aus eurem USB-Port entfernen.



Perfekt für die Programmierung von ESP-01 WiFi Modulen. Günstiger USB-Programmer aus China. (Bild: Xgadget.de)
Datum:
16.10.2016, 22:40 Uhr
Aktualisiert:
22.04.2019, 16:15 Uhr
Autor:
Stefan Kröll
Comments:
Kommentare

Schreibe einen Kommentar

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

18 Comments zu "ESP-01 (ESP8266) Programmer – So funktioniert der Flashvorgang"

  1. Mathias sagt:

    Ich habe es mit einem esp8266-1 versucht. Da ein Hardware-Defekt nicht auszuschließen ist, habe ich ein neues Modul und einen neuen Programmer versucht.
    Leider lässt sich das esp8266-1 NIE flashen! Ich bekomme immer die gleichen fehlermeldungen.
    dass mal harware defekt ist, kann passieren, Dass aber alle 30 ESP8266-1 defekt sind, glauben Sie wohl selber nicht.

  2. Mathias sagt:

    Mathias noch mal.
    Diese Fehlermeldungen habe ich jetzt gefühlte 1000 mal gelesen……
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed

    1. Dennis sagt:

      @Mathias
      Wiederstand fehlt oder hat keinen Kontakt. Hatte die gleichen Fehlermeldungen, als ich den vergessen hatte. Funktioniert mit Widerstand bei mir, brauchte aber ein wenig Gewalt.

      1. Heiko sagt:

        hier redet jeder von wiederstand ,
        aber wieviel Ohm muss der haben ??

        1. Stefan sagt:

          Sie können auch ein Stück Draht verwenden, lediglich die zwei Pins müssen für den Flashvorgang miteinander verbunden sein. Alternativ kann auch ein kleiner Widerstand verwendet werden ob nun 1 Ohm oder 500 Ohm sollte dabei relativ egal sein.

        2. Waldi sagt:

          Um die 10K Drahtbrücke geht auch.

  3. Herby sagt:

    Beim ESP8266-01 v2.1 und v3.0 musste ich in der Arduino IDE dem Flash Mode von DIO auf DOUT setzen damit es funktioniert. Für die Verbindung GPIO0 nach GND habe ich einen 3,3k Widerstand genommen.
    Gruß Herby

    1. Guter Hinweis – danke! Der Wechsel auf DOUT hats bei mir gebracht 🙂

  4. Chris sagt:

    Nur zur Info was den Adapter angeht.
    Habe selbigen hier. Am TX/RX liegen 5V an anstatt der 3.3V die anliegen dürfen. Messt das mal nach. Bei mir sind es 5V.
    Hasb durch zufall gelesen in einer Rezension, da das einer erwähnt hat.

    Die komplette Logik des ESP8266 ist auf 3.3v ausgelegt und kein Volt mehr. Da der ESP ein wenig tollerant ist funktioniert, das gelegntlich aber
    kann auch sofort das Bauteil zerstören bzw. nach dem xten mal.

    Dachte auch das hier ein Levelshifter drin ist bzw. der CH340G diese liefert aber leider ist dem nicht so.
    Von daher würde ich ihn nicht einsetzten

    1. Stefan sagt:

      Ich kann hier Chris nur bestätigen, hab das bei meinem Adapter nun auch nachgemessen und es liegen 5V statt der 3.3V an TX/RX an.

  5. Chris sagt:

    Ich habe mir den Adapter mal genau angesehen
    und auch das Datenblatt zum CH340G der dort verbaut ist.

    Der CH340G kann prinzipell auch 3.3V.
    Auf der Platine ist auch ein Spannungs-Regler verbaut (SMD 662K = LM6206N3) der die 3.3v liefert.

    Leider hat man hier die 5V Versorgung vom USB genommen
    und dadurch ist auch der Signalpegel vom CH340G auf 5V.
    Man könnte jetzt die 5V Leitung trennen am Pin 16 und sie an den
    Ausgang des 3.3v Reglers klemmen.

    Hier muss man aber auch die V3 Leitung Pin 4 an den Regler.
    Das sollte von der Theorie her klappen. Da der ESP8266 sowieso über den Regler versorgt wird und der CH340G nicht viel mehr zieht (typ. 12mA) sollte der Regler das aushalten. Dimensoniert ist er mit 250mA laut Datenblatt. Zwar etwas knapp sollte aber gehen.
    Evtl. könnte der Elko noch problematisch werden da er beim
    Laden auch einiges zieht.

    Werde ich mal ausprobieren und schauen was passiert,
    weil so kann man den Adapter nicht gefahrlos nutzen.

    Gruß Chris

  6. Chris sagt:

    So das Ganze hat mir jetzt kein Ruhe gelassen.
    Ich habe die Leitungswege mittels Ohmmeter mal durchgemessen um zu sehen,
    wo denn nun was wie verbunden ist.

    Beim Umbau bin ich wie folgt vorgegangen:
    Ich habe den Pin16 vom CH340G abgelötet und hochgebogen.
    Zur Lötfläche hin habe ich diesen isoliert.
    Das ist wichtig, da sonst die 3.3V mit den führenden 5V des USB
    den Regler zerschießen.

    Vom Pin16 habe ich dann eine Leitung direkt zum 3.3V Ausgang
    des SMD 662K gelegt.
    Parallel dazu habe ich dann noch vom 3.3v Regler-Ausgang auf
    Eine Verbindung zum PIN4 des CH3640G gelegt.

    Hier muss man aber nicht direkt an den Chip sondern konnte einfach den Entkoppelungskondensator anzapfen der gegen GND geht.

    Das ist das SMD-Bauteil, welches als erstes am USB-Anschluss liegt.
    Am SMD-Kondensator dann den Anschluss nehmen der zum Chip hin zeigt.
    Also vom Rand weg. Am besten vorher mit einem Ohmmeter austesten.

    Der 3.3V Ausgang am SMD 662K ist der rechte Pin der zum gelben Pfostenstecker liegt.

    Wenn man jetzt alles Spannungswerte misst hat man auf TX/RX die
    konformen 3.3V anliegen. Eine Verbindung zum ESP8266 habe ich mittels
    Realterm aufgebaut und hier reagiert er ohne Probleme auf alle Kommandos.

    Über den Kondensator muss man sich auch keine Sorgen machen,
    da er ja bei der Konstellation den 5V Kreis stabilisiert wie vorher auch.
    Ich wollte erst die Leitung unterbrechen habe aber dann festgestellt das diese weitergeführt wird zum Regler. So blieb nur die Lösung den Pin16 zu isolieren,
    was letztendlich auch die beste Lösung war.

    Bei dem Ganzen Vorgang wurden alle Punkte mehrfach mittels Ohmmeter durchgemessen um sicherzustellen auch die richtigen Verbindungen zu erwischen.
    Bei der Platine kann man leider sehr schlecht die Leitungswege mit dem Auge erkennen.

    Wer das ganze jetzt nachbauen will, sollte besser noch auf die Bilder warten
    Oder sich 100% sicher sein was er da macht.
    Ein USB Port ist schnell zerschossen darüber sollte man sich im Klaren sein.

    Ich schau mal das ich Stefan ein paar Bilder schicken kann,
    so dass er sie ggf. mal hier posten kann.

    Gruß Christian

  7. Katze sagt:

    Danke für den Super Tipp mit dem Widerstand zum Überbrücken von GPIO0 und GND, früher habe ich manuell unten eine Verbindung angelötet. aber das Reinstecken von einem Widerstand geht um vieles schneller! 🙂

  8. Daniel sagt:

    Hallo @ll
    ich habe einfach einen Dipschalter auf auf der Unterseite des USB CH340G angelötet GND ->D0. Beim Aufliegen auf den Tisch und Einstecken am USB Port, leichter Druck und der ESP ist im flash Modus. Loslassen und flashen…geht doch: wer hat es erfunden?

  9. Joachim sagt:

    Danke!

    Der Tipp hat mir endlosen Frust erspart.

* gesponserter Link
Blogverzeichnis - Bloggerei.de