(Wemos) D1 ESP32

Last Updated on 15. April 2022 by sfambach

Der WEMOS D1 EP32 ist der Ersatz für den D1 Mini. Er hat ein aufgedampftes ESP 32 Wroom Modul. Ein USB Micro Anschluss, ein Reset-Taster und zwei Eingebaute LEDs auf dem ESP sind die einzige Peripherie. Er zählt von seinen Abmessungen eher zu den kleinen, dies beschränkt in diesem Falle aber nicht die Anzahl der nach aussen geführten 40 Pins, da diese in zwei Reihen nach aussen geführt sind.

Interessant wie auch beim Wemos D1 Mini sind die vielen Erweiterungsplatienen(Siehe Hersteller).

Link zum D1 Mini (Vorgänger)

Ich habe bei Wemos keinen Hinweise über den D1 ESP32 gefunden, deshalb sei in Frage gestell ob dieser offizell auch von Wemos produziert wird.

Fakten

  • USB Micro Anschluss (CH9102)
  • Reset-Taster
  • 18 Digitale Pins
  • 8 Analogen Pin (fast frei konfigurierbar)
  • Betriebsspannung 3.3V
  • Anschluss-Spannung 5V
  • 4M SPI Flash Speicher
  • 80MHz/240MHz
  • 2 LEDs
  • Preis ~5€
  • Abmessungen in mm: l/b/h 39/32/13

Pin-Belegung

(Wemos) D1 ESP32 – Pin Belegung
PinFunktionenESP32 Pin
TXUART TXDTXD
RXUART RXDRXD
A0IO, ADC2GPIO36
D0IOGPIO26
D1IOGPIO22, I²C SCL
D2IOGPIO21, I²C SDA
D3IOGPIO17
D4IOGPIO16
D5IOGPIO18
D6IOGPIO19
D7IOGPIO23
D8IOGPIO5
GGroundGND
5V5V
3V33.3V3.3V
RSTResetRST

Quelle: https://www.wemos.cc/en/latest/d1/d1_mini.html

Anwendungsbereiche

  • Microcontroller Projekte mit WiFi
  • Fernsteuerung
  • Funk-Wecker

Ansichten

Programmierung

Vorbereitung

Der Wemos kommt mit einer CH9102 USB Schnitstelle, sollte der Treiber noch nicht installiert sein muß dieser nachinstalliert werden.

CH9102 USB Treiber

Bibliotheken

Zur Programmierung des Wemos sind keine zusätlichen Bibliotheken nötig. Die ESP Erweiterung der Arduino GUI muss jedoch installiert sein. Siehe hierzu auch den > Link < zur Einrichtung.

Aktueller Stand Arduino ESP32 Bibliothek V2.0.2

Testprogramm

Als Testprogramm kann Blink verwendet werden. Dies gibt es entweder bei den Beispielprogrammen der Arduino GUI unter diesen findest sich auch das Task gesteurte Blink welches zum Erlernen der Multitaskumgebung auf dem ESP32 ganz nett ist. Dies kann auch über Github bezogen werden:

https://github.com/espressif/arduino-esp32/blob/master/libraries/ESP32/examples/FreeRTOS/FreeRTOS.ino

Ich konnte meinen Wemos D1 ESP32 mit den folgenden Einstellungen programmieren:

Als Port wählt bitte eure Serielle Schnittstelle aus, bei mir ist es COM 15.

Probleme

D Ports werden nicht gefunden

Die D-Ports sind leider nicht gemappt hier hilft es einfache Defines mit den entsprechenden Ports zu erstellen. Beispiel:

#ifndef D7
#define D7 23
#endif

#ifndef D5
#define D5 18
#endif

Wemos Board wird nicht erkannt

CH9102 Treiber installieren

Bei weiteren Problemen mal Zadig versuchen.

Programmierung schlägt fehl

Einstellungen für Board, Port und Programmer überprüfen. Evtl. auch mal andere als die von mir gezeigten ausprobieren. Es gibt auch Board Setting für den Wemos

Sonstiges

Fritzing Wemos D1 ESP32 Mini:

https://forum.fritzing.org/uploads/short-url/wv8xVt6y4tFToPngAeMqUju2oUl.fzpz

Beispielprojekte:
https://github.com/wemos/D1_mini_Examples

Modell für den 3D Druck
https://grabcad.com/library/wemos-d1-mini-v3-0-0-1

https://grabcad.com/library/wemos-d1-mini-1

Fazit

Der D1 ESP32 ist aus meiner Sicht nicht ganz kompatibel weil ich keine Board Beschreibung für die Arduino Gui finden konnte die auch das Mapping für die D-Ports beinhaltet. Dennoch kann dieser als schneller Ersetz dienen. Durch die zusätzlichen Pins ist er auch für andere Projekte gut geignet. Mit den Durchgeschliffenen Ports ist er auch auf einer Steckplatine betreibbar und insgesamt sehr kompakt.

Verwandte Beiträge

Quellen

ESP Wroom 32 Datenblatt

https://arduino-projekte.info/produkt/d1-mini-esp32-wifi-bluetooth/

CH9102 USB Treiber

https://makersportal.com/shop/esp32-d1-mini-bluetoothwifi-board

https://docs.platformio.org/en/stable/boards/espressif32/wemos_d1_mini32.html

3 Gedanken zu „(Wemos) D1 ESP32

  1. Hi Sven,
    wenn das Problem mit den Brownout Exceptions noch nicht gelöst sein sollte – hier ein Tip: Im setup() in der ersten Zeile folgenden Code einfügen.
    void setup() {
    WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG,0);
    ………..

  2. Hi, ich habe den ESP32 in dem D1-mini Format noch in der Grabbelkiste gefunden und wollte damit etwas basteln…

    Sobald ich mit der Arduino-API ein WifiConnect versuche, bekomme ich eine Brownout Exception und restart. Das Board ist per USB am Rechner angeschlossen (mit verschiedeneb Kabeln und USB-Ports getestet). Immer der gleiche MIST.

    Bein anderen Dev-Boards, ist wenigstens die 5V Spannung an einem externen Pin vorhanden, den man mit einer externen Spannungsquelle belegen kann. In der Regel wird bei vielen ESP32 Projekten (mit Wifi) empfohlen, die externe Spannung mit einem fetten Kondensator zwischen +5V und GND zu stabilisieren. Wie soll man das bei diesem Bord machen?

    Wie Stefan geschrieben hat, die Zuordnung des Pinouts zum Arduino Code ist ein fummeliges Reverse-Engineering.

    Ich würde beim nächsten Mal ein anderes Bord nutzen.

    1. Hi Sven,

      bin gerade im digitalen Entzug;) deshalb hier nur eine kurze Nachricht. Hätte auch erstmal auf die Spannung getippt (VCC Pin). Aber kann auch an den Einstellungen in der Arduino Gui liegen, Speicher (Größe, Typ … ).

      Gruß
      Stefan

Schreibe einen Kommentar

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