ESP8266 (Adapter)Platine zum flashen - wer hat Interesse?

L I V E Stammtisch ab 20:30 Uhr im Chat
  • .
    .
    .
    Hinweis: Dieser erste Beitrag wird fortlaufend editiert und somit auf dem aktuellen Stand gehalten. Der aktuelle Stand entspricht dem letzten Änderungsdatum. Somit muss der interessierte Leser nicht dem kompletten Thread (sofern es mal einer wird) lesen, um auf dem aktuellen Stand zu sein.
    .
    .

    edit: Inzwischen wurde das Projekt umgesetzt: https://www.forum-raspberrypi.de/Thread-projekt…grammieradapter

    Da ich besser Hardware als Software "kann", beschäftige ich mich schon mal mit den Alltäglichkeiten, noch bevor mein Exemplar des ESP8266 eingetroffen ist.

    Um den ESP8266-01 bequem flashen zu können, werde ich mir eine kleine Adapterplatine ätzen. Die Platine soll folgende Eigenschaften haben:

    - Sockel für ESP8266-01, so dass dieser bequem aufgesteckt und wieder abgenommen werden kann
    - zusätzlicher Adapter, um auch die Versionen 07 und 12(E) programmieren zu können
    - USB-Seriell Adapter fest verlötet (CP2102)
    - gängige USB-Buchse (Micro USB)
    - Festspannungsregler um den ESP8266 mit 3,3V (aus USB) zu versorgen
    - LED zur Erkennung, ob 3,3V anliegen
    - Pegelwandler per MOSFET 5V - 3,3V und 3,3V - 5V für RX und TX (so wie es auch bei den fertigen Platinen gemacht wird, die bei ebay erhältlich sind)
    - 2 Taster (Reset und GPIO0-GND)
    - Buchsenleiste mit 2 x 3,3V, 2 x GND, GPIO0 und GPIO2, um hier LEDs, etc. anschließen zu können.


    Sollte noch jemand Interesse an einer solchen Platine haben, soll er es bitte hier posten oder mir eine PN senden. Vielleicht lohnt es sich ja, eine größere Bestellung aufzugeben. Wer noch weitere Ideen zur Platine hat, kann diese auch gerne äussern. Ich werde diesen ersten Beitrag immer aktuell halten und Eure Ideen hinzufügen.

  • ESP8266 (Adapter)Platine zum flashen - wer hat Interesse?? Schau mal ob du hier fündig wirst!

  • Ich habe nun einen ersten Entwurf gezeichnet. Dabei habe ich festgestellt, dass es eigentlich unsinnig wäre, zwei USB Kabel zur Platine zu führen. Meine erste Idee war, den USB-TTL Konverter per USB anzuschliessen, diesen dann mit entsprechenden Kabeln mit der Platine zu verbinden und zusätzlich einen USB Port mit der Platine zu verbinden, um eine ausreichende Stromversorgung für den ESP8266 zu haben.

    Im aktuellen Entwurf ist der USB-TTL Konverter fester Bestandteil der Platine. Es wird also nur ein einziges USB-Kabel angeschlossen, dass sowohl den USB-TTL-Konverter als auch den ESP8266 mit ausreichend Strom versorgt.

    Dadurch ist es nicht mehr möglich, den ESP zu verpolen oder versehentlich mit einer zu hohen Spannung zu versorgen, weil eine manuelle Verdrahtung (bis auf das USB-Kabel) nicht mehr nötig ist.

    Die Platine wird doppelseitig ausgeführt werden. Somit wäre es möglich, noch einen zweiten Sockel für einen ESP8266 mit anderer Bauart zu installieren. Nun wäre die Frage, welche ESP8266 Bauart (abgesehen von 01) von euch am häufigsten verwendet wird.

  • Das ESP8266-01 Modul ist m.M. nach eigendlich relativ uninteressant, da es so wenig GPIO Ports hat und sich auch wegen der Stiftleisten gut "bebasteln" lässt. Für die anderen ESP Modelle ist es relativ unpraktisch diese mit dem Programieradapter zu verlöten, da man ja nach der Probierzeit einen bestimmten Einsatzzweck anstrebt, wo ein RS232-TTL Adapter eigendlich unnütz ist. Ich verwende die ESP8266-03 und -07er Version und hatte auch schon öfter mal vor, mir Adapterplatinen zu entwickeln aber dieses musste ich aus permanenten Zeitmangel, leider verwerfen. Es geht halt viel schneller das ESP Modul auf einen IC Sockel zu löten und dann auf einem Steckboard zu programmieren.

  • Das ist wohl ein Missverständnis. Ich habe den ersten Post entsprechend geändert. Auf dem von mir angedachte Programmieradapter wird es eine 2x4 Pin grosse Buchsenleiste geben, auf die der ESP8266-01 aufgesteckt und programmiert wird. Nachdem dann alles läuft wie es soll, wird der ESP8266-01 herunter genommen und dem Einsatzzweck zugeführt. Da wird also nichts verlötet. Der angedachte Adapter ist somit immer wieder verwendbar.

    So uninteressant ist die Version 01 nicht. Wenn es nur darum geht, eine Sache zu schalten, ist die Version vollkommen ausreichend.

    Ich habe schon einige Beiträge (auch von sehr aktiven Forumiten) gelesen, in denen geschildert wird, dass der ESP durch das Anlegen einer falschen Spannung gehimmelt wurden. Genau das soll meine Lösung dadurch verhindern, dass nur noch ein einziges Kabel benötigt wird, dass verpolungssicher angeschlossen wird.

    Da ich (bisher) keine der von Dir genutzten Bauformen vorliegen habe, kann ich zu den Maßen nichts sagen. Aber so wie es auf dem Bild aussieht, http://www.shenzhen-buy.com/images/esp.jpg sind die Maße verschieden. Es gäbe die Möglichkeit, für jedes Modul einen Sockel auf die Platine zu machen. Dazu müssten die Module aber steckbar sein. Du schreibst, dass Du sie auf IC-Sockel lötest. Damit wären sie steckbar und könnten auf dem angedachten Programmieradapter programmiert und getestet werden.

    Wäre es ausreichend, jeden der ESP-Pins auf eine parallel zum ESP verlaufende Steckleiste zu legen oder werden in der Testphase bestimmte Pins mehrmals benötigt?

    Wie ist das Rastermaß der Pins? Ist es das Standardmaß 2,54 mm oder nur 2,00 mm?

  • Meine Antwort bezog sich auf diese Aussage:

    Die Platine wird doppelseitig ausgeführt werden. Somit wäre es möglich, noch einen zweiten Sockel für einen ESP8266 mit anderer Bauart zu installieren. Nun wäre die Frage, welche ESP8266 Bauart (abgesehen von 01) von euch am häufigsten verwendet wird.

    Es gibt zurzeit eigendlich nur das ESP8266-01 Modul welches steckbar ist, alle anderen werden verlötet. Der Kontaktabstand bei den meisten anderen Modulen ist 2 mm. Nur wenige Module sind von der Breite her kompatibel ( 07 & 12 glaube ich mal gesehen zu haben ). Ich habe auch schon mal versehendlich ein ESP8266-03 Modul über 1 Stunde an 5V betrieben, es hat keinen Schaden davon getragen. :blush: Das soll aber keine Aufforderung zum Nachmachen sein! Einen kleinen Taster o. 2 Pins für einen externen Taster ist auch ganz praktisch, da GPIO 0 zum flashen der FW mit GND gebrückt werden muß. ( Hast Du ja bereits geschrieben, ich denke aber dass es nicht so einfach ist, eine Eierlegendewollmilchsau für alle Module zu entwerfen. )

    Einmal editiert, zuletzt von Fliegenhals (28. Mai 2015 um 15:47)

  • Mit den 2 mm habe ich kein Problem, aber ich hätte keine Idee, wie man das Modul zuverlässig ohne angelötete Pins mit dem Programmieradapter verbinden könnte. Die einzige Idee wäre, wie schon geschrieben, einen Sockel (zwei Buchsenleisten oder ein IC-Sockel, je nach Maß) auf die Platine zu löten, in den das Modul genau hinein passt. Wenn die Pinbelegung der Module identisch ist, könnte man die Sockel sogar relativ eng aneinander packen. Wenn nicht, müsste jedes Modul seinen eigenen Sockel erhalten. Das kann ich aber erst austüfteln, wenn ich die Module hier habe. Ich habe sie zwar schon geordert, aber wegen es wesentlich günstigeren Preises in China - und das kann dauern...

    Es wird überall deutlich darauf hin gewiesen, dass weder die Spannungsversorgung, noch die I/O Pins 5V tolerant sind. Vielleicht hast Du einfach Glück gehabt und die vermeintlichen 5V waren gar nicht ganz 5V und es ist soeben gut gegangen. Viele andere User berichten von Totalschäden.

    Der von Dir erwähnte Taster steht bereits im ersten Post. Es werden zwei Taster sein. Einer für den Reset und einer um GPIO0 auf GND zu legen.

    Pins für einen externen Taster habe ich noch nicht vorgesehen. Aber den könnte man einfach parallel zum Onboard-Taster anlöten.

  • Die Pinbelegung ist leider nicht gleich und ein Modell hat die Kontakte auf der Unterseite, was die Sache auch nicht vereinfacht. Ich vermute aber mal, dass die meisten Leute nur wenige verschiedene ESP Modelle, im Einsatz haben. Das 01er Modell fand ich eher langweilig, da man für Schaltaufgaben oder für I2C, SPI bzw. verschiedene Sensoren, mehrere GPIO Ports braucht. Den Pegelwandler für TX & RX brauchst Du nicht, wenn Du einen umschaltbaren 3,3V/5V USB2TTL Adapter verwendest.

  • Der Adapter soll so vielseitig wie möglich sein. Daher die Idee, Sockel für so viele Modultypen wie möglich zu integrieren. Die Schaltung inclusive der beiden Taster und dem Sockel für den EPS8266-01 braucht etwa 50 x 25 mm. Da ist also noch ein bisschen Platz, den man für weitere Sockel nutzen kann. Wer die Sockel nicht benötigt, bestückt die Platine an der Stelle halt nicht. Wer nur den EPS8266-01 hat, bestückt nur diesen Sockel, etc...

    Nicht jeder USB-TTL Adapter, der eine 3,3V Umschaltung hat, macht die 3,3V dann auch zuverlässig auf RX und TX. Daher integriere ich das alles narrensicher (USB-TTL Wandler und vernünftigem Level-Shifter mit MosFETs) in einer Schaltung, wodurch es wie schon geschrieben keine Probleme mehr mit verdrehten Kabeln, vergessenen Widerständen oder falsch angeschlossenen Tastern, etc. geben kann.

    Das dürfte die Mortabilitätsrate der ESP8266 drastisch senken ;) Denn es ist kaum noch möglich, etwas falsch anzuschließen. Eine Verpolung des ESP8266-01 schließe ich zum Beispiel dadurch aus, dass die Stützelkos "im Weg" sind und das Modul dadurch nur in eine Richtung aufgesteckt werden kann.

  • Für ein Programmieradapter ist der Aufwand eigendlich zu groß, wenn man bedenkt dass so ein ESP Modul im Fall eines Totalschadens, für unter 3 € zu haben ist und irgendwie mußt Du ja auch die Kosten für dein Adapter decken. Die meisten ESP 01er Module haben früher wegen eines Bestückungsfehlers, Rauchzeichen von sich gegeben.

  • Hier gibts eine gut übersicht mit allen ESP Modulen.
    http://www.esp8266.com/wiki/doku.php?…6-module-family

    Eine Eagle Lib gibts für fast alle ESP Module auch schon. (Verwendest du doch auch oder?)

    [spass]Das mit dem ich kann nicht tüfteln weil bestellung nicht das lass ich also nicht gelten. :lol: :)[/spass]

    Es gibt aber auch noch andere Hersteller wie z.B. <-das hier-> von Olimex welche mir richtig gut gefallen.
    Dann gibts noch die raren WROOM Module.

    Ich hab ich bisher aber nur die ESP-03, ESP-12, ESP-01 und einen ESP-ADC in verwendung.

    Gestern hab ichs übrigends auch das erste mal geschafft: ESP-01 an 5V :wallbash:
    Hat ihm scheinbar aber auch nichts ausgemacht. :) Würd ich aber genau so wenig empfehlen.

    ESP-01 hat den Nachteil das sich das Modul nicht selber resetten kann.
    Ist also für einen einfachen Batteriebetrieben Sensor Logger der alle paar Minuten aufwacht eher ungeeignet.
    Aber da man ja noch zwei Pins übrig hat ist I2C ja schonmal drin und darüber lässt sich schon einiges machen. Zu wenig GPIOs? -> MCP23008 bzw. MCP23017 :)
    Aber ich verstehe was du meinst und mir gehts auch so :)

    Ich würde mich aber eher auf eine paar Module festlegen anstatt jetzt irgendwie alle unterbringen zu wollen. Auf den meisten Dev Boards die ich gesehen hab werden die ESP-03 und ESP-07/ESP-12 verwendet.

    Ehrlich gesagt brauch zumindest ich aber keine große mulitfunkions Adapter Platine zum flashen. Mir würden ein paar kleine Breakout Platinen für die einzelnen Module eventuell mit LDO und Taster reichen.

    Das verpolen könnte man doch auch mit einer einfachen Diode verhindern? Oder überseh ich da was. :)



    Für ein Programmieradapter ist der Aufwand eigendlich zu groß, wenn man bedenkt dass so ein ESP Modul im Fall eines Totalschadens, für unter 3 € zu haben ist und irgendwie mußt Du ja auch die Kosten für dein Adapter decken.

    Das denke ich auch. Zumal es ja auch für wenig Geld fertige Dev Boards gibt.
    Besonders Interssant finde ich diese zwei:
    http://rayshobby.net/cart/esptoy
    http://de.aliexpress.com/store/product/…2315092291.html

    DON'T PANIC!

    Einmal editiert, zuletzt von joh.raspi (28. Mai 2015 um 17:41)


  • Ehrlich gesagt brauch zumindest ich aber keine große mulitfunkions Adapter Platine zum flashen. Mir würden ein paar kleine Breakout Platinen für die einzelnen Module eventuell mit LDO und Taster reichen.

    Das war auch mein ursprünglicher Plan, eine sehr kleine Adapterplatine wo sich das ESP Modul auf der Vorderseite befindet und auf die Rückseite kommt dann der Spannungsregler und eine 3,3V <-> 5V Pegelwandlung o. Treiber IC ( ULN28xx ) für die GPIO Ports. Das Ganze sollte dann auch noch irgendwie steckbar ( DIL ) sein.

  • Ich werde mir die Platine in jedem Fall erstellen. Mir macht es Spass solch kleine Projekte zu bauen, die dann auch noch den Bastelalltag erleichtern. Die Kostenfrage ist erst mal eher sekundär.

    Die Idee war, dass es vielleicht noch mehr Interessierte gibt, die solch eine Platine gerne nutzen würden, um sich nicht sofort zu Anfang mit Level Shiftern, Pull Down Reglern und Kabeln herumschlagen zu müssen. Die wenigsten User, die in das Thema einsteigen haben Ahnung von Elektronik und noch weniger haben Widerstände und Co. daheim liegen.

    Da man bei der Entwicklung solch einer Lösung aber schnell "betriebsblind" wird, dachte ich, ich frage mal ins Forum, ob noch jemand weitere Ideen hat.

    joh.raspi: Danke für den Link zur eagle-Lib. Leider erscheint eine Fehlermeldung beim Öffnen, so dass ich sie nicht nutzen kann :(

  • Wenn ichs könnte würd ich mir die auch selber ätzen. Als ich das aber das letzte mal probiert habe hat es nicht so recht geklappt. (Toner-Transfer Methode, Hab das Layout irgendwie nicht sauber auf die Platine gebügelt bekommen.)
    Werd aber demnächst noch einen versuch starten :)

    Zitat


    joh.raspi: Danke für den Link zur eagle-Lib. Leider erscheint eine Fehlermeldung beim Öffnen, so dass ich sie nicht nutzen kann :(


    Ich hab die bei mir einfach in einem eigenen Unterverzeichnis im lbr Verzeichnis von eagle gespeichert und konnte dann soweit ich weiß ohne Probleme darauf zugreifen. (Könnte aber sein das ich die zuerst mit Library/Use einbinden hab müssen, bin nicht mehr sicher)

    DON'T PANIC!

  • Die ESP Eagle-Lib funzt (Hab unter Linux einfach das File in das lbr Verzeichnis von Eagle kopiert), besten Dank nochmal für den Tipp. Vielleicht ist beim download etwas schief gegangen?

    Einmal editiert, zuletzt von Fliegenhals (28. Mai 2015 um 19:06)

  • Ich habe den "Fehler" gefunden. Es liegt an der Eagle Version. Ich habe auf meinem Ubuntu immer noch die 5.12 installiert und damit alle bisherigen Projekte umgesetzt. Nun habe ich mir testweise mal die aktuelle 7.30 installiert. Dort kann ich die lib fehlerfrei importieren. Nun kann ich zwar den Schaltplan importieren, aber ich kann nicht in die Board-Datei wechseln. Diese zu öffnen ist auch nicht möglich :( Hätte ich das mal eher gewusst...

  • Das scheint ein Problem mit der neuen Version zu sein. Testweise habe ich mir vom cadsoft ftp-Server die 6.6 herunter geladen. Damit funktioniert alles einwandfrei. Nun kann ich die verlinkte Lib nutzen und auch meine Dateien öffnen.

    Da das Problem ja nun behoben ist, kann ich mich wieder der Platine widmen. Bitte beschreibt doch mal genau, wie ihr euch die Adapter vorstellt. Was soll drauf und was ist nicht nötig. Schreibt bitte auch, für welche Versionen des ESP die Adapter benötigt werden. ich habe da nämlich noch eine ganz andere Idee, wie man so einen Adapter umsetzen könnte. Aber dazu später mehr, da ich dazu erst wissen muss, was ihr haben wollt.

  • hey, das klingt supper. ich wollte mir auch sowas basteln, aber da ich eher der software mensch bin, und noch nie eine platine entworfen habe ... naja

    ich weiß das du die eigendlich nur zum programmieren machen willst, aber wenn du ein paar löcher reinmachst, kann man die doch auch gut fest verbaun, also wenn man zum beispiel nur LEDs braucht.

    dann könnte man die typischen usb lader als netzteil nehmen und die leds auf die pins, case zum fertig.

    egal wie ich würd zwei oder gern auch mehr nehmen.

    nur platinen oder willst die gleich voll bestücken?

  • Hallo,

    ich bin zur Zeit noch beim ersten Entwurf. Insofern wird es bis zur fertigen Platine noch eine Weile dauern. Ob die Platinen dann fertig bestückt sind oder als unbestückte Platine zur Verfügung stehen, wird davon abhängen, wie viel Zeit ich habe und wie aufwändig die Bestückung ist.
    So ganz schlau werde ich aus Deinem Beitrag nicht. Du möchtest also in jeder Ecke eine 3mm Bohrung haben, um die Platine fest verbauen zu können? Kein Problem, da hatten wir wohl die gleiche Idee. Die Löcher sind schon vorgesehen.

    Dass der USB-Seriell Wandler fest auf der Platine verlötet wird stört Dich nicht weiter? Denn den benötigst Du ja in Deinem Einsatzszenario eigentlich nicht.

    Welche Version des ESP würdest Du mit der Platine nutzen wollen?

  • Heute bin ich etwas weiter gekommen. Der Adapter an sich ist soweit gezeichnet. Allerdings brauche ich noch ein paar Maße, damit ich die Bauteile richtig positionieren kann. Dann gibt es auch vom Adapter ein Bildchen

    Es gibt zwei Taster, deren Funktion im ersten Post beschrieben ist. Es gibt außerdem eine Steckbrücke, über die man Vcc und CH-PD verbinden kann. Die LED zur Kontrolle der 3,3V Spannung ist vorhanden und ein 2x4 Sockel, um den ESP8266-01 aufzusetzen.

    Um nun auch anderen ESP Versionen mit dem Adapter nutzen zu können, habe ich beispielhaft für die Versionen 07 und 12/12E einen Adapter entworfen. Dieser wird statt eines ESP8266-01 auf den Sockel gesetzt und auf diesen Adapter wird dann der entsprechende ESP gesetzt. Ob man den ESP fest verlötet oder auf einen weiteren Sockel setzt bleibt den Vorlieben des Nutzers überlassen. Jeder Pin des ESP ist auf eine Leiste mit einem 2,54mm Raster ausgeführt, womit auch das Problem mit dem 2mm Raster behoben ist.

    Solltet ihr weitere Ideen habe, postet sie bitte.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!