ESP32 D1 R32 NodeMCU Board

Hallo zusammen,

hier hat unser Blogger Gerhard Lechner bereits einen Artikel über die ESP32-Boards veröffentlicht. Heute möchte ich diesen Beitrag um eine kurze Inbetriebnahme des D1 R32 ergänzen. Das E-Book zum D1 R32 finden Sie außerdem hier.

Auch wenn sich das Board in UNO-Bauform befindet, ist dieser Controller, auch aufgrund des Prozessors, nicht gerade einsteigerfreundlich. 

In den E-Books zu den ESP32-Produkten findet sich die Anleitung zur Vorbereitung der Arduino IDE für die ESP32-Boards. (hier zum Dev Kit C)

Kurz zusammengefasst:

  • CH340-Treiber installieren
  • Arduino IDE installieren
  • Datei -> Voreinstellungen
  • BoardverwalterURL: https://dl.espressif.com/dl/package_esp32_index.json
  • Werkzeuge -> Board -> Boardverwalter
  • Suchleiste: "esp32"
  • esp32 by Espressif Systems installieren

Im Anschluss lässt sich das D1 R32 Board im Boardverwalter unter folgendem Eintrag finden:

 Die programmierbare LED (LED_BUILTIN) befindet sich an GPIO2, im Beispiel "Blink" muss also "LED_BUILTIN" durch "2" ersetzt werden.

Die Stromversorgung ist bei diesem Board solide umgesetzt:

  • Versorgung über DC-Buchse mit 5-12V (In)
  • Versorgung über USB-Buchse mit 5V (In)
  • Am Pin VIN liegt die Spannung der DC-Buchse an, das Modul kann über diesem Pin mit bis zu 12V versorgt werden (In/Out)
  • Am Pin 3.3V stehen dank AMS1117 über 500mA zur Nutzung zur Verfügung. (Out)
  • Der Pin 5V liefert über den MP1482 ebenfalls mehr als 500mA, die für Projekte verwendet werden können. (Out)

Aber Vorsicht! Die GPIOS des ESP32 sind nur mit maximal 3.3V belastbar!

 

Für analoge Sensoren können die Pins:

  • GPIO036 
  • GPIO039 

in der Arduino IDE genutzt werden, diese befinden sich im Bereich "Analog" des D1 R32 Boards. Möchten Sie diese Pins aus der Arduino IDE direkt ansprechen sollte im Arduino-Code "(36)" und "(39)" anstelle der sonst üblichen A0 und A1 verwendet werden.

I2C-Geräte lassen sich über die Pins SCL und SDA verbinden, ein I2C-Scanner gibt Auskunft über evtl. angeschlossene Geräte.
Diese Pins finden Sie in der Nähe der USB-Buchse beim Reset-Button.

Die seriellen Pins RX und TX befinden sich wie beim UNO R3 im Bereich "Digital". Bitte verbinden Sie diese Pins erst nach der Programmierung mit dem Code.

Über die mitgelieferten Beispiele der Arduino IDE lässt sich auch das WiFi Feature testen (Datei->Beispiele->WiFi->Wifi_Scan)

Mehr Informationen, das vollständige Pinout und Anwendungsbeispiele finden Sie wie gewohnt, demnächst in unserem E-Book.

Viel Spaß beim Experimentieren und bis zum nächsten Beitrag!

 

 

 

 

 

Produktvorstellungen

14 Kommentare

Andreas Wolter

Andreas Wolter

Bernd Rehlinger: wenn Sie einen anderen Sketch aus den Beispielen auswählen kann es sein, dass die Baudrate anders angegeben wurde. Wenn nur kryptische Zeichen ausgegeben werden, ist das meistens dafür ein Hinweis. Zumindest wäre das der erste Anhaltspunkt. Wenn das passt, müsste man weitersehen.

Grüße,
Andreas Wolter
AZ-Delivery Blog

Bernd Rehlinger

Bernd Rehlinger

…also ich habe jetzt mal angefangen mit dem Teil herum zu experimentieren.
LED blinken lassen klappt auch noch. :-/
Doch jetzt hänge ich bereits am Beispiel “WIFI-Scan”.
Hochladen funktioniert fehlerfrei aber dann passiert gar nichts.

Findet die Ausgabe vielleicht irgendwo anders statt?
Im Serial-Monitor bekomme ich nur kryptische Zeichen.

Reiner

Reiner

Hier: https://github.com/espressif/arduino-esp32/issues/2144#issuecomment-657659077 wird exakt dieses Problem mit geringer WiFi Reichweite beschrieben. Die Modifikation mit einem 330R Widerstand zwischen 3,3V und GPIO00 hat bei mir perfekt funktioniert.

Andreas Wolter

Andreas Wolter

@Lutz Schulze: wir hatten das Problem unter uns Bloggern vor langer Zeit zum Thema gemacht. Ich habe dann unter der WiFi Antenne das Stück Platine herausgeschnitten, um zu sehen, ob sich was verbessert. Soweit ich mich erinnere, wurde es etwas besser. Aber meiner Meinung liegt es daran, dass die Leistung für das WiFi Band zu gering gehalten werden muss, damit es den gesetzlichen Richtlinien entspricht. Alles in allem gegenüber den kleinen ESP Boards ein Nachteil. Andere Möglichkeiten, die Reichweite zu erhöhen, fanden wir nicht. Ein Anschluss für eine externe Antenne wäre wünschenswert.

Grüße,
Andreas Wolter
AZ-Delivery Blog

Lutz Schulze

Lutz Schulze

Hallo,

im Vergleich zu anderen Boards (z.B. TTGO) ist die WLAN-Reichweite sehr gering (habe mehrere Boards getestet).
Lässt sich da z.B. an der Antenne oder an den WiFi-Einstellungen etwas verbessern?

Andreas Wolter

Andreas Wolter

@Fred: bei diesem Fehler wird es sicher aufwändiger, die Lösung zu finden. Da die verfügbaren SSIDs angezeigt werden, wird das WiFi Modul an sich funktionieren. Der Sketch bis dahin auch.
Wenn dann keine Verbindung mit dem WLAN möglich ist, könnte beim Austausch der Zugangsdaten etwas schieflaufen. Die Frage ist nun, ob das Hardware- oder Softwareprobleme sind.

Ich könnte nur empfehlen, ein anderes WLAN aufzuspannen ohne Verschlüsselung. Dann muss man auf die Zugangsdaten selbst achten. Eventuell gibts Probleme mit Sonderzeichen in der SSID oder im Passwort (dass bei diesem Versuch nicht notwendig ist).
So würde ich mich rantasten.

Dann ist noch auf die Firmware Version zu achten. Hier im Blogbeitrag wird noch die alter Version verwendet. Espressif stellt einen ausführlichen Guide zur Verfügung, um die aktuelle Firmware zu installieren:
https://espressif-docs.readthedocs-hosted.com/projects/arduino-esp32/en/latest/installing.html

Dann würde ich dann auch die Tipps aus den Kommentaren mit einbeziehen, was z.B. die Spannungsversorgung angeht.

Das wären die ersten Ansätze. Ich hoffe, das hilft weiter.

Grüße,
Andreas Wolter
AZ-Delivery Blog

Fred

Fred

Leider kann ich speziell mit diesem Board (AZ-Delivery D1 R32) keine WiFi Verbindung herstellen.
Der WiFi Scan funktioniert und zeigt mir die vorhandenen Netze an.
Allerdings kann sich das Bord mit dem WIFIClient und meiner korrekten SSID und Passwort nicht in das WLAN einloggen, der Verbindungsaufbau läuft in einer Endlosschleife.

Andreas Wolter

Andreas Wolter

@AR: welche Spannung an den einzelnen Modulen verwendet werden kann, ist i.d.R. im Datenblatt oder der Produktbeschreibung zu finden. Einige Komponenten kann man mit 3,3V UND 5V betreiben. Andere widerum nur jeweils mit 3.3V bzw. mit 5V.

Um das zu kompensieren, kann man einen Logic Level Converter verwenden:
https://www.az-delivery.de/products/logiklevel-wandler-3-3v-5v
Den schaltet man zwischen die Pins des Mikrocontrollers und des Sensormoduls.

Damit kann man 3.3V-Module an den Pins des UNOs, oder 5V-Module an den ESP Pins verwenden.

Grüße,
Andreas Wolter
AZ-Delivery Blog

AR

AR

“Aber Vorsicht! Die GPIOS des ESP32 sind nur mit maximal 3.3V belastbar!”

Was bedeutet das für einen Anfänger, der vom Uno kommt, in der Praxis?
Welche Arten von Sensoren, Aktoren und Displays usw. könnte ich also NICHT so wie beim Uno anschließen?
Bzw. mit welchen technischen Hilfsmitteln geht es doch?

Und welche Art von Peripherie kann ich an den GPIOs GENAUSO wie beim Uno anschließen?

Vielen Dank schon mal für die Antworten!

René

René

Was ich natürlich recht störend finde, ist die etwas nutzlose kontinuierlich rot leuchtende LED – erinnert mich an Rambo: “was ist das? blaues Licht? und was macht das? es leuchtet blau!”
Aber danke für den Tipp mit GPIO02! Trotz langer Suche habe ich keine schematic für dieses Board gefunden.

Günther

Günther

Hallo,
Vielen Dank! Der Hinweis auf die Baud-Rate hat auch mir das Leben mit dem Delivery D1 R32 Board gerettet. Mit der voreingestellten Bud-Rate ging gar nichts.
Fehlermeldung wie bei Fred:
A fatal error occurred: Invalid head of packet (0×01)
A fatal error occurred: Invalid head of packet (0×01)

Harald

Harald

Leider kann ich speziell mit diesem Board (AZ-Delivery D1 R32) keine WiFi Verbindung herstellen.
Der WiFi Scan funktioniert und zeigt mir die vorhandenen Netze an.
Der anschliessende Aufruf von WiFi.Begin(meineSSID) zu einer offenen SSID führt nicht zum Erfolg.
Mit anderen Boards (z.B. ESP32 DEVKit,…) funktioniert das selbe Script tadellos.
Gibt es da vielleicht ein Problem mit der Spannungsversorgung über USB Port, und könnte das bei einer getrennten Spannungsversorgung besser funktionieren?

Hartmut

Hartmut

Ich habe ein 3-Set D1 R32 gekauft. Mit der USB-Stromversorgung funktionieren diese einwandfrei. Sowohl 5V als auch 3.3Volt sind korrekt. Das ESP 32 läuft super.
Mit der Stromversorgung über VIN ist ein Betrieb nur eingeschränkt möglich.
Bei 9-12 Volt VIN stellt das D1 R23 bei 5 Volt nur 4,2 Volt bereit.
Bei VIN 7.88 Volt kann ich bei 5V 4.6Volt erreichen und bei 3.3Volt 3,25. Bei höheren VIN fallen die Spannungen wieder. Alle Module zeigen das gleichartige verhalten.

Fred

Fred

Ich habe meine bisherige ESP32-Prozessoren (“Dev Module”, “D1 MINI ESP32” und “Pico Kit”) immer mit den Standardeinstellungen programmiert. Die sind so, wie in Ihrem Bild weiter oben im “Werkzeuge” – Menü erkennbar ist.

Beim D1 R32 Board hat allerdings der standardmäßige “Upload Speed” von 921600 Baud NICHT funktioniert. Mit 115200 hat es geklappt; ich habe die dazwischenliegende Werte noch nicht probiert.

Ergebnis mit der Standardeinstellung von 921600 Baud:

esptool.py v2.6
Serial port /dev/ttyUSB0
Connecting….
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 4c:11:ae:9b:e0:bc
Uploading stub…
Running stub…
Stub running…
Changing baud rate to 921600
Changed.
Configuring flash size…

A fatal error occurred: Invalid head of packet (0×01)
A fatal error occurred: Invalid head of packet (0×01)

Und mit 115200 Baud:

esptool.py v2.6
Serial port /dev/ttyUSB0
Connecting….
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 4c:11:ae:9b:e7:b0
Uploading stub…
Running stub…
Stub running…
Configuring flash size…
Auto-detected Flash size: 4MB
Compressed 8192 bytes to 47…
Wrote 8192 bytes (47 compressed) at 0×0000e000 in 0.0 seconds (effective 5541.2 kbit/s)…
Hash of data verified.
Compressed 15856 bytes to 10276…
Wrote 15856 bytes (10276 compressed) at 0×00001000 in 0.9 seconds (effective 137.2 kbit/s)…
Hash of data verified.
Compressed 247696 bytes to 125815…
Wrote 247696 bytes (125815 compressed) at 0×00010000 in 11.2 seconds (effective 176.1 kbit/s)…
Hash of data verified.
Compressed 3072 bytes to 128…
Wrote 3072 bytes (128 compressed) at 0×00008000 in 0.0 seconds (effective 1339.4 kbit/s)…
Hash of data verified.

Leaving…
Hard resetting via RTS pin…

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert