Last Updated on 14. April 2024 by sfambach
Vom ESP 8266 ist das NodeMCU board schon bekannt, jetzt gibt es dieses auch mit einem ESP32 Wroom 32.
Auch dieser passt nicht unbedingt auf ein Steckbrett, es sei denn man kann sich für eine Pinreihenseite entscheiden ;).
Diese ESP32 Board hat eine CP210 USB Bridge, dh. vor dem anstecken an den USB-Port mal den Treiber installieren (siehe Kapitel Treiber).
Ansicht
Frontansicht, links Micro USB Anschluss, zwei Taster(Reset und Boot?), rechts das aufgedampfte ESP modul.
Überblick
Name | Node MCU ESP 32 | Arduino Nano 33 BLE |
---|---|---|
Anzahl/CPU | 1 / ESP 32 | 1 / 64 MHz Arm® Cortex-M4F (with FPU) |
Takt (MHz) | 240 | 64 |
Kerne | 2 | 1 |
Digital IOs / Pins | 36 / 28 | 14 |
Analog inputs | 18 | 8 |
Interrupt Pins | ? | 14 |
PWM | 16 | 14 |
SPI | 4 | 1 |
Flash Speicher | 1MB | |
SRam (KB) | 520 | 256KB |
EEPROM (KB) | 4 MB | – |
WiFi | 802,11 b/g/N Bluetooth |
– |
Verschlüsselung | WEB / WPA2 / TKIP /AES | – |
Bluetooth | 4.1 | NINA-B306 Module Bluetooth® Low Energy 5.0 Module Bluetooth® 5 multiprotocol / Zigbee |
UART | 3 | 1 |
I2C | 2 | 1 |
Ethernet | – | – |
Video | – | – |
Sound | _ | – |
Sonstiges | – | LSM9DS1 (9 axis IMU) MPM3610 DC regulator NFC-A tag Nina B306 |
USB | 1 Micro CP2102 | 1 Micro |
Betriebsspannung [V] | 3,3 | 3,3 |
Eingangsspannung | 3,3 – 7 | 21 |
Strom (mA) / Standby (mA) | 30 | |
Größe l x b x h | 55 x 27 x 12 | 43,16 x 17,7 |
Gewicht [g] | ?? | 5 |
Pinning
Es gibt eine Menge unterschiedlicher Boardlayouts was ein entsprechendes Pinout zu finden erschwert. Unten habe ich mal das am besten passende eingefügt. Allerdings besitzt mein Boad nur eine LED. Somit vorsicht beim Anschliessen vorher erstmal messen.
Treiber
Das Board hat eine CP210 USB Bridge. Der Treiber ist nicht im Windows enthalten und muss, am besten vor dem ersten Anschluss des Boardes, an den USB Port, installiert werden.
Der Treiber kann hier bei Silicon Labs heruntergeladen werden.
Einfach installieren und den Computer neu starten.
Programmierung
Die Programmiereinstellungen sind analog zum Lora Board, deshalb sei an dieser Stelle darauf verwiesen.
Testprogramm
Als Testprogramm habe ich das WiFiClient Beispielprogramm genommen und etwas angepasst. Bitte die WLAN Daten entsprechend 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 in anderen Projekten schon verwendet habe. Beim Starten den port 88 angeben und/oder im Programm ändern.
Probleme
Board wird nicht von Windows erkannt
USB Treiber installieren, siehe entsprechendes Kapitel oben.
Ergänzung: Bei Oliver (Siehe Kommentare unten) hat es nach ein paar automatisierten Windows Updates funktioniert.
USB Fehler
Obwohl ich vorher den Treiber installiert hatte, wurde bei mir das Board von Windows 10 nicht richtig erkannt, .
Das kann über den Hardwaremanager korrigiert werden. Hier wird das fehlerhafte Gerät angezeigt. Über rechts Klick mit der Mouse und Treiber update den gedownloadeten Treiber (*.inf Datei im Hauptverzeichnis) erneut auswählen, dann sollte es gehen.
Netzwerkscan schlägt fehl
Es gibt wohl einen Bug in der Bibliothek, wenn der ESP nicht richtig initialisiert ist. Dies ist der Fall wenn vor dem Scan nicht die methode WiFi.begin() aufgerufen wird. Das Resultat ist, der Scan schlägt fehl oder bekommt nur sehr wenige SSIDs.
Die Lösung ist in der init Methode einmal WiFi.begin() aufrufen.
GPIO 23 Beschriftung doppelt
Der GPIO 32 ist doppelt vorhanden, einmal links neben GPIO 32 und einmal rechts bei GPIO 22. Links ist es in Wirklichkeit GPIO33.
Fazit
Nettes kleines ESP board, leider nicht für Steckbretter geeignet da es zu breit ist.
Quellen
https://en.wikipedia.org/wiki/ESP32
http://www.instructables.com/id/ESP32-Internal-Details-and-Pinout/
https://github.com/nodemcu/nodemcu-firmware/tree/dev-esp32
https://gist.github.com/xxlukas42/7e7e18604f61529b8398f7fcc5785251
Es dauert einige automatisierte Windwosupdates bis der USB-Treiber funktioniert. Bei mir hat Windows den Versuch den COM-Port zu starten immer mit CODE10 quittiert. Nach einigen Updates war der Fehler behoben und das DevKit (JoyIT) läuft bei mir