Last Updated on 12. Oktober 2022 by sfambach
Ich habe neulich beim schnellen Ali ein Paar ESP32 Boards der Variante Loin32 erworben. Ich frage mich seit ich das Board habe, ob es sich bei der Aufschrift Loin32 um einen Schreibfehler handelt und ob es nicht eher Lolin heissen soll. Schreibfehler auf Platinen deuten meist auf ein Plagiat hin. Was in diesem Fall nicht unbedingt schlimm sein muss. Das Board ähnelt sehr dem Lolin32 D32 von Wemos. Es gibt aber auch ein paar unterschiede:
- Pinouts sind unterschiedlich
- JST-Stecker ist gedreht
- Reset ist an anderer Stelle
- Die pins gehen bis runter zum USB
Immerhin der ESP32-Wroom Chip ist gleich 😉
Vorab das Board ist gemacht um mit MicroPython programmiert zu werden. Laut Hersteller ist auch schon eine Mircopython aufgespielt, mehr hierzu im Kapitel Analyse.
P.S. Nur weil sich bei mir auch immer mal wieder Tipp und Schreibfehler einschleichen heisst das nicht, dass ich alles schlecht kopiere ;). Ich versuche immer alle direkten Quellen anzugeben, ob diese was geklaut haben kann ich aber nicht beurteilen. Sollte jemand der Meinung sein ich hätte geistiges Eigentum verwendet oder gar missbraucht ohne es zu kennzeichen, dem kann ich nur sagen meldet euch, ich werde das richtigstellen. Es gibt nichts schlimmeres als wenn jemand gute Arbeit leistet und es keiner würdigt oder man sogar darfür noch einen auf den Deckel bekommt. Ihr fragt euch was will der eigentlich? Schaut euch das an WiringPi und ihr wisst es ;).
Fakten
Hier ein paar Fakten, mehr Details zum ESP können dem Datenblatt entnommen werden.
Beschreibung | Wert |
---|---|
ESP | ESP32-Wroom |
Arbeitsspannung | 3.3V |
Digital I/O Pins | 22 |
Analog Input Pins | 6 (VP, VN, 32, 33, 34, 35) |
Analog Output Pins | 2 (25, 26) |
Clock Speed(Max) | 240MHz |
SPI Flash | 4M Bytes |
SRam Intern [KB]/Extern[MB] | 512/0 |
LED_BUILTIN | GPIO5 |
USB | Micro CH210 |
Akku Anschluss für 3,7V Lipo | JST-PH 2.0 2 Pins |
Abmessungen l/b/h in mm | 58,2 / 25,6/ |
Abmessung (Gemessen) l/b/h in mm | 58,2/ 25,6 /6,6 |
Gewicht | 6.1g |
Auf Steckbrett verwendbar | Ja (Eine Reihe Platz) |
Funktion | Pins |
---|---|
LED | GPIO 5 |
Akku Ladestand?* | GPIO 35? (A1_7) |
*Laut Hersteller (Wemos) soll eine Verbindung vom GPIO35 zu einem Spannungsteiler am Lade-IC bestehen. Bei meinem Board sieht es so aus als wäre der IO35 nicht über einen Spannungteiler mit dem Lade-IC verbunden.
Anwendungsbereiche
- Prototypischer Aufbau
- Steuerung von Aktoren
- Messwertaufnahme
Ansichten
Schaltplan gepostet von Kruno (Siehe Kommentare unten)
Quelle: https://arduino-projekte.info/?jet_download=16840
Analyse
Programm auf dem Board
Den ESP mal an den Computer gehängt. Boudrate ist in dem Fall 115200 hier ist das Output:
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0x00
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0008,len:8
load:0x3fff0010,len:3480
load:0x40078000,len:7804
ho 0 tail 12 room 4
load:0x40080000,len:252
entry 0x40080034
[0;32mI (46) boot: ESP-IDF v2.0-3-gbef9896 2nd stage bootloader[0m
[0;32mI (46) boot: compile time 05:59:45[0m
[0;32mI (46) boot: Enabling RNG early entropy source...[0m
[0;32mI (65) boot: SPI Speed : 40MHz[0m
[0;32mI (77) boot: SPI Mode : DIO[0m
[0;32mI (90) boot: SPI Flash Size : 4MB[0m
[0;32mI (102) boot: Partition Table:[0m
[0;32mI (113) boot: ## Label Usage Type ST Offset Length[0m
[0;32mI (136) boot: 0 phy_init RF data 01 01 0000f000 00001000[0m
[0;32mI (159) boot: 1 otadata OTA data 01 00 00010000 00002000[0m
[0;32mI (183) boot: 2 nvs WiFi data 01 02 00012000 0000e000[0m
[0;32mI (206) boot: 3 at_customize unknown 40 00 00020000 000e0000[0m
[0;32mI (229) boot: 4 ota_0 OTA app 00 10 00100000 00180000[0m
[0;32mI (252) boot: 5 ota_1 OTA app 00 11 00280000 00180000[0m
[0;32mI (276) boot: End of partition table[0m
[0;32mI (289) boot: Disabling RNG early entropy source...[0m
[0;32mI (306) boot: Loading app partition at offset 00100000[0m
[0;32mI (1481) boot: segment 0: paddr=0x00100018 vaddr=0x00000000 size=0x0ffe8 ( 65512) [0m
[0;32mI (1482) boot: segment 1: paddr=0x00110008 vaddr=0x3f400010 size=0x1c5f0 (116208) map[0m
[0;32mI (1498) boot: segment 2: paddr=0x0012c600 vaddr=0x3ffb0000 size=0x0215c ( 8540) load[0m
[0;32mI (1529) boot: segment 3: paddr=0x0012e764 vaddr=0x40080000 size=0x00400 ( 1024) load[0m
[0;32mI (1552) boot: segment 4: paddr=0x0012eb6c vaddr=0x40080400 size=0x1b028 (110632) load[0m
[0;32mI (1631) boot: segment 5: paddr=0x00149b9c vaddr=0x400c0000 size=0x00034 ( 52) load[0m
[0;32mI (1632) boot: segment 6: paddr=0x00149bd8 vaddr=0x00000000 size=0x06430 ( 25648) [0m
[0;32mI (1648) boot: segment 7: paddr=0x00150010 vaddr=0x400d0018 size=0x7a56c (501100) map[0m
[0;32mI (1676) heap_alloc_caps: Initializing. RAM available for dynamic allocation:[0m
[0;32mI (1698) heap_alloc_caps: At 3FFBA6B8 len 00025948 (150 KiB): DRAM[0m
[0;32mI (1719) heap_alloc_caps: At 3FFE8000 len 00018000 (96 KiB): D/IRAM[0m
[0;32mI (1741) heap_alloc_caps: At 4009B428 len 00004BD8 (18 KiB): IRAM[0m
[0;32mI (1761) cpu_start: Pro cpu up.[0m
[0;32mI (1773) cpu_start: Single core mode[0m
[0;32mI (1786) cpu_start: Pro cpu start user code[0m
[0;32mI (1847) cpu_start: Starting scheduler on PRO CPU.[0m
[0;32mI (2086) uart: queue free spaces: 10[0m
Bin version:0.10.0
I (2088) wifi: wifi firmware version: c604573
I (2088) wifi: config NVS flash: enabled
I (2089) wifi: config nano formating: disabled
I (2097) wifi: Init dynamic tx buffer num: 32
I (2098) wifi: wifi driver task: 3ffc4eac, prio:23, stack:3584
I (2103) wifi: Init static rx buffer num: 10
I (2107) wifi: Init dynamic rx buffer num: 0
I (2111) wifi: Init rx ampdu len mblock:7
I (2115) wifi: Init lldesc rx ampdu entry mblock:4
I (2120) wifi: wifi power manager task: 0x3ffca254 prio: 21 stack: 2560
I (2126) wifi: wifi timer task: 3ffcb2d4, prio:22, stack:3584
[0;31mE (2131) phy_init: PHY data partition validated[0m
[0;32mI (2157) phy: phy_version: 329, Feb 22 2017, 15:58:07, 0, 0[0m
I (2158) wifi: mode : softAP (24:62:ab:d5:96:75)
I (2161) wifi: mode : sta (24:62:ab:d5:96:74) + softAP (24:62:ab:d5:96:75)
I (2165) wifi: mode : softAP (24:62:ab:d5:96:75)
Sieht schon sehr nach Mircopython aus :).
Mal aufs Board geschaut
Ich habe einen USB Chip CP210 von Silicon Labs gefunden.
Micro USB Anschluss
Lade-IC ist ein LTH7 (TP4045)
JST 2.0 Anschlussbuchse für LIPO
ESP-Wroom-32
Der Vollständigkeit halber hier noch der Reset Taster und die LED am GPIO 5.
Programmierung
Das Board kann auf verschiedene Weisen programmiert werden. Hier mal zwei Beispiele.
Bibliotheken
Die folgende Firmware habe ich für Mircopython Verwendet.
Sonst gelten die folgenden Regeln.
Mircopython
Eine neue Version von Micropython ist einfach aufgespielt, wie es funktioniert beschreibe ich unter folgenden Link.
Micropython auf ESP32 Installieren
Mit dem VS-Code und anderen kann dann der ESP mit Mircopython programmiert werden.
Wie VS-Code Eingerichtet wird beschreibe ich unter folgenden Linke.
C/C++ Arduino GUI
Für die Programierung mit C/C++ ist die jeweilige Umgebung mit dem Framework für den ESP32 zu versehen.
Für die Arduino Gui habe ich das unter folgenden Link beschieben.
ESP32 mit der Arduino Gui einrichten
Für VS-Code und PlatformIO habe ich den folgenden Link.
Testprogramm
Jede Gui bringt auch ihre eigenen Testprogramme mit, weshalb ich an dieser Stelle nicht viel dazu schreiben werde. Ich habe mein Board erst mit der Micropyhon Version von Blink ausprobiert, und dann noch eine Version des Mircopython Wifi Scanners aufgespielt. Beides war problemlos möglich und hat funktioniert. Hier die Links für eure ersten Tests:
Probleme
Original Micropython auf Controller funktioniert nicht
Die originale Firmware Version auf dem Board hat bei mir nicht funktioniert. Deshalb habe ich eine neue geflashed. Wie das geht ist unter folgenden Link beschrieben.
Micropython auf ESP32 Installieren
Sonstiges
3D Model
Das folgende Modell habe ich finden können.
https://cults3d.com/en/3d-model/tool/wemos-lolin32-v1-0-0
Fazit
Auch wenn es vielleicht ein Plagiat ist und ihm die 8MB SRam von anderen Boards fehlen, hat es seine Daseinsberechtigung. Es funktioniert, hat einen LIPO Anschluss und macht was es soll. Mehr kann man von einem Boad in der Preisklasse nicht erwarten. App. Preisklasse ich habe das Board beim schnellen Ali für unter 3 Euro bekommen da kann man echt nicht meckern.
Verwandte Beiträge
- ESP32-C3 seeed studio xiao
- ESP32-C3 Super Mini Board
- Preview – LuatOs ESP32-C3 Board
- ESP32 BlueTooth Gamepad
- ESP8266/32 WiFi Manager
- Preview – ESP32-IO Schild für Arduino ESP32 Wroom Core Board
- Preview – ESP-WROOM-32 Rev1 Steckbrett Adapterplatine
- Preview – 7x9CM Prototyp Platine zum Löten für ESP8266, ESP-12E, ESP-12F, ESP32
- Preview – ESP32-Audio-Kit ESP32
- LilyGo T-Beam
Hi Kruno
das Datenblatt vom ESP habe ich an anderer Stelle schon verlinkt, den Schaltplan habe ich gleich mit in den Beitrag aufgommen.
Vielen Dank Gruß
Stefan
ESP32-ish Bord mit dem Smartphone fotografiert und an Google Lens geschickt und schwups ich bin auf dieser tollen Seite gelandet die mir viel Ärger und Zeit gespart hat.
Danke für die super Doku und Erfahrungsberichte zu diesem „Dev-Board“ vom „schnelle Ali“
Gruß aus Berlin Mike
Freut mich, dass ich helfen konnte.
Ebenfalls vielen Dank für die sehr gut vorbereitete Infos.
Meine Recherche heute führte mich zur https://arduino-projekte.info/produkt/lolin32-esp32-4mb/
wo sogar Datenblatt und Schaltplan verlinkt sind.
https://arduino-projekte.info/?jet_download=16661
https://arduino-projekte.info/?jet_download=16840