WeMos D1 R32 ESP32

Last Updated on 5. Februar 2021 by sfambach

Der WeMos D1 R32 ESP32 ist ein Arduino Board Nachbau und besitzt ein paar kompatible Anschlüsse zum Arduino Uno.
Die IOs  arbeiten jedoch nur mit 3V anstatt mit den gewohnten 5V, was zu Inkompatibilitäten zu vielen Erweiterungsplatinen (Shields) füht. Der Preis liegt beim schnellen Ali unter 5 Euro.

Das schöne an diesem Board ist der ESP32 Prozessor in Form eines WROOM32 Moduls. Dieser verfügt über WLan, Bluetooth und ein paar weitere Features.

In diesem Beitrag wird nur die Inbetriebnahme des Boards behandelt, andere Aspekte wie Funktionsumfang des ESP32 usw. können den ensprechenden Artikeln entnommen werden. Ein paar sind unten verlinkt.

Ansichten

Überblick

Hier der technischen Daten zum Vergleich noch der Arduino Uno und der Leonardo dabei.

Name Arduino UnoArduino LeonardoWeMos D1 R32
ESP32
Anzahl/CPU
1 / ATmega328P1 / ATmega32u41/ESP WROOM 32 Modul
Takt (MHz)1616240
Kerne112
Digital IOs / Pins142036/28
Analog inputs61218
Interrupt Pins22?
PWM6716
SPI114
Flash Speicher 32 KB32 KB
SRam (KB)22,5520
EEPROM (KB)114 KB
WiFi--802,11 b/g/N
Bluetooth
Verschlüsselung--WEB / WPA2 / TKIP /AES
Bluetooth--4.1
UART113
I2C112
Ethernet---
Video---
Sound---
Sonstiges
USB1 normal1 micro1 Micro
Betriebsspannung [V]553,3
Eingangsspannung7-127-123,3 - 9
Strom (mA) / Standby (mA)
Größe l x b x h68,6 x 53,368,6 x 53,368,6 x 53,3
Gewicht [g]2520< 25

Pins

Wire / I²C

2 Wire Kontoller sind auf dem ESP Verfügbar, an folgenden Pins kann einer von ihnen Verwendet werden. (Welcher weiss ich nicht).

BezeichnungPin
SCL22
SDA21
Wire Pins

ADC

Der ESP32 besitzt zwei ADCs mit 18 Kanälen. 6 sind hier auf die regulären ADC Pins herausgeführt. Weitere 4 könnten über, beim Arduino eigentlich Digitale Pins, abgefragt werden. Die Kanäle des ADC 2 sind nicht mit eingeschalteten WIFI nutzbar.

PinGPIOADCKanal
A0221Nicht Nutzbar mit WIFI
A1420Nicht Nutzbar mit WIFI
A23517
A33416
A43610
A53913
121225Nicht Nutzbar mit WIFI
131324Nicht Nutzbar mit WIFI
141426Nicht Nutzbar mit WIFI
252528Nicht Nutzbar mit WIFI
Analoge Pin-Zuordnung

Ich hatte die ADC Kanäle einzeln durchgetestet, immer einer belegt die anderen jeweils unbelegt. Hierbei ist mir ein gewisser Einfluss des Belegten ADC Kanals auf die anderen aufgefallen. Evtl. müsste man dies untersuchen wenn die Werte der ADC Kanäle all zu sehr schwanken.

Die GPIOs 6, 7, 8, 9, 10 und 11 werden beim Wroom Modul für den internen Flash benötigt, sind bei diesem Board aber auch nicht nach aussen geführt.

Programmierung

Arduino Programmierumgebung

Wenn der ESP32 vorher noch nicht benutzt wurde muss die Arduino Gui noch angepasst werden. Wie ist im gelinkten Artikel unten beschrieben.

Beitrag zur Einrichtung der Arduino Gui für den ESP32

Infos gibts auch auf GITHUB.

Testprogramm

Als Testprogramm habe ich das WiFiClient Beispielprogramm herangezogen und etwas angepasst. Bitte die WLAN Daten entsprechend auf die Lokalen Umstände anpassen.

Nicht schön aber so sieht es bei mir aus:

Für das Programm braucht ihr eine Gegenstelle. Hierfür könnt ihr das kleine Java Tool nehmen, dass ich bereits in anderen Projekten verwendet habe. Beim Starten den port 88 angeben und/oder im Programm ändern.

Sonstiges

Basic OTA

Ota ist möglich, wie im folgend gelinkten Beitrag zu entnehmen.

ESP Nützliche Infos, enthält Kapitel zu Basic OTA

ADCs auslesen

Hier ein Beispiel:

Funktionierende Zusatzplatinen

Prototyp Platine V1

Motor Platine V2

(Ungetestet)

Sensorplatine V5

Verwandte Beiträge

Fazit

Nett gendacht aber nicht gut gemacht. Der EPS32 bietet viele Möglichkeiten und Anschlüsse. Den ADC2, welcher bei aktiven WLAN nicht verwendbar ist auf A0 und A1 zu legen ist nicht sonderlich sinnvoll. Auch wären 5V Aus-/Eingänge aus kompatiblitätsgründen sehr nützlich gewesen. Wer jedoch nur Shields verwendet, die auch mit 3V arbeiten findet hier einen Arduino UNO Clone der zusätzlich WIFI bietet. Auch wer seine Projekte ohne Shields diskret aufbaut, kann mit diesem Board arbeiten, evtl. benötigt er an der ein oder anderen Stelle einen Logik-Level-Konverter. Die meisten aktuellen Sensoren arbeiten jedoch mit 3-5V oder es wird eine 3V Version gewählt. Der diskrete Aufbau benötigt den Formfaktor des Arduino Uno jedoch nicht.

Quellen

https://www.wemos.cc/

https://github.com/SmartArduino/SZDOITWiKi/wiki/ESP8266—ESPduino-32

https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/windows.md

Anleitung für OTA

9 Gedanken zu „WeMos D1 R32 ESP32

  1. Hallo,
    Danke für den Beitrag. Aus langjähriger Erfahrung mit Arduino, hatte mich das Design des D1 R32 angesprochen und habe ich mir auch einen gekauft.
    Nur bin ich sehr entäuscht über die Reichweite des WLAN und Bluetooth-Moduls bei beiden muss ich direkt neben dem Router bzw. mit dem Smartphone vor dem ESP stehen, damit er sich verbindet. Hast Du irgendeinen Tipp wie man bei dem D1 R32 die Reichweite erhöht? Danke!

    1. Hallo Jonas,

      ich habe mal meinen D1 R32 aus der Kiste geholt. Bei mir ist der Accesspoint an der Decke und ca. 10m entfernt.
      Ich habe trotz Wände -56 dbm Empfang. Mit montierter Zusatzplatine habe ich noch -60 dbm. Ich kann somit nicht über die Reichweite klagen.
      Allerdings zeigt auch die Antenne des ESP nach oben. Deshalb habe ich hierzu den ESP mal auf den Kopf gestellt, dieser ist auf einer Metallplatte montiert was zusätzlich abschiermen sollte.
      Der RSSI Wert am ESP ergab -70 dbm, was immer noch ok ist.
      (Accesspoint ist ein Netlink EAP265 HD)

      Es gibt beim ESP32 ein Problem, dass er sich manchmal nicht connecten will, dies ist im Kapitel Probleme hier beschrieben: https://www.fambach.net/esp32-nuetzliche-infos/.
      Zusätzlich kann man noch ein ESP.restart(); nach mehrmaligen durchlaufen der Schleife einbauen.

      Sonst würde mir nur noch das einfallen https://www.youtube.com/watch?v=wP9YMNj_E7Y 😉
      Gruß
      Stefan

  2. Vielen Dank für diesen sehr informativen Artikel!

    Es ist mir klar, dass die meisten bestehenden Erweiterungsplatinen nicht funktionieren werden. Dieses Board lässt sich aber sehr leicht kombinieren mit den Arduino Prototyping-Platinen, die es bei den bekannten Lieferanten aus China für ca. 1 bis 2 Euro gibt. Damit lässt sich viel besser arbeiten als mit den wackligen Steckbrettern.

    Grüße
    Fred

    1. Hallo Fred,
      vielen Dank für deinen Beitrag. Du hast natürlich recht die Prototypen Platine passt und bietet einige Vorteile, ich verwende sie auch gerne. Mir ist noch die Sensorplatine eingefallen, so bietet beispielsweise direkte Anschlüsse für Servos und dandere Sensoren.

      Link zum schnellen Ali

      Gruß
      Stefan

  3. Vielen Dank für Ihr update der Seite und Ihre Antwort. Da werde ich mir wohl so ein Teil zulegen „müssen“… 😉
    Viele Grüße,
    Migusch

    1. Hallo Migusch,

      wenn das für dich passt. Ich persönlich finde das Board nicht so gut, weil die meisten Erweiterungsplatinen nicht funktionieren und somit auch das Format keinen Sinn ergibt. Es gibt günstigere ESP32 boards mit mehr Pins, die auch mit der Arduino GUI programmiert werden können.
      Gruß
      SteFam

  4. Hallo Migusch,

    danke für deinen Beitrag. Mein Antwort hat leider einen Moment gedauert, da ich erstmal den Beitrag aktualisieren und ein paar Fehler korrigieren wollte. Da sich die Artikel immer weiter entwickeln, bleibt es leider manchmal nicht aus, dass ein Paar Infos unvollständig sind oder der Beitrag wie im obigen Fall in Vergessenheit gerät. Ich hoffe die Inhalte sind jetzt nicht mehr widersprüchlich, Der Arduino Uno besitzt 6 ADC Eingängen, diese sind auch hier bedingt verfügbar. ADC Pin 0/1 können allerdings nich parallel mit Wifi betrieben werden. 4 Weitere Eingänge des ADC 2 sind auf Digitalen Pins des Arduino Uno verfügbar.
    Basic OTA habe ich auch gleich mal mit getestet, es funktioniert auch wenn ich manchmal Abbrüche habe.

    Gruß SteFam

  5. Schöne Webseite mit vielen nützlichen Informationen!
    Kann man den WeMos D1 R32 wireless programmieren, also „OTA“?
    Ich habe nicht verstanden wie viel analoge Anschlüsse man jetzt tatsächlich nutzen kann. Der Chip könnte eigentlich 18, aber wie viele sind an der Arduino-GPIO herausgeführt? Der Bestückungsdruck hat entlang 6 Anschlüsse die Bezeichnung „Analog“. Oben schreiben Sie bei A2 bis A4 einen Strich, heißt das die Anschlüsse sind nicht nutzbar?
    Vielen Dank für eine Antwort

Schreibe einen Kommentar

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