Loin32 (oder doch Lolin32?)

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.

BeschreibungWert
ESPESP32-Wroom
Arbeitsspannung3.3V
Digital I/O Pins22
Analog Input Pins6 (VP, VN, 32, 33, 34, 35)
Analog Output Pins2 (25, 26)
Clock Speed(Max)240MHz
SPI Flash4M Bytes
SRam Intern [KB]/Extern[MB]512/0
LED_BUILTINGPIO5
USBMicro CH210
Akku Anschluss für 3,7V LipoJST-PH 2.0 2 Pins
Abmessungen l/b/h in mm58,2 / 25,6/
Abmessung (Gemessen) l/b/h in mm58,2/ 25,6 /6,6
Gewicht6.1g
Auf Steckbrett verwendbarJa (Eine Reihe Platz)
Loin32 – Wichtigste Daten
FunktionPins
LEDGPIO 5
Akku Ladestand?*GPIO 35? (A1_7)
Spezielle Pins

*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.

Ladestromkreis Lolin32 Board

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
I (46) boot: ESP-IDF v2.0-3-gbef9896 2nd stage bootloader
I (46) boot: compile time 05:59:45
I (46) boot: Enabling RNG early entropy source...
I (65) boot: SPI Speed      : 40MHz
I (77) boot: SPI Mode       : DIO
I (90) boot: SPI Flash Size : 4MB
I (102) boot: Partition Table:
I (113) boot: ## Label            Usage          Type ST Offset   Length
I (136) boot:  0 phy_init         RF data          01 01 0000f000 00001000
I (159) boot:  1 otadata          OTA data         01 00 00010000 00002000
I (183) boot:  2 nvs              WiFi data        01 02 00012000 0000e000
I (206) boot:  3 at_customize     unknown          40 00 00020000 000e0000
I (229) boot:  4 ota_0            OTA app          00 10 00100000 00180000
I (252) boot:  5 ota_1            OTA app          00 11 00280000 00180000
I (276) boot: End of partition table
I (289) boot: Disabling RNG early entropy source...
I (306) boot: Loading app partition at offset 00100000
I (1481) boot: segment 0: paddr=0x00100018 vaddr=0x00000000 size=0x0ffe8 ( 65512) 
I (1482) boot: segment 1: paddr=0x00110008 vaddr=0x3f400010 size=0x1c5f0 (116208) map
I (1498) boot: segment 2: paddr=0x0012c600 vaddr=0x3ffb0000 size=0x0215c (  8540) load
I (1529) boot: segment 3: paddr=0x0012e764 vaddr=0x40080000 size=0x00400 (  1024) load
I (1552) boot: segment 4: paddr=0x0012eb6c vaddr=0x40080400 size=0x1b028 (110632) load
I (1631) boot: segment 5: paddr=0x00149b9c vaddr=0x400c0000 size=0x00034 (    52) load
I (1632) boot: segment 6: paddr=0x00149bd8 vaddr=0x00000000 size=0x06430 ( 25648) 
I (1648) boot: segment 7: paddr=0x00150010 vaddr=0x400d0018 size=0x7a56c (501100) map
I (1676) heap_alloc_caps: Initializing. RAM available for dynamic allocation:
I (1698) heap_alloc_caps: At 3FFBA6B8 len 00025948 (150 KiB): DRAM
I (1719) heap_alloc_caps: At 3FFE8000 len 00018000 (96 KiB): D/IRAM
I (1741) heap_alloc_caps: At 4009B428 len 00004BD8 (18 KiB): IRAM
I (1761) cpu_start: Pro cpu up.
I (1773) cpu_start: Single core mode
I (1786) cpu_start: Pro cpu start user code
I (1847) cpu_start: Starting scheduler on PRO CPU.
I (2086) uart: queue free spaces: 10
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
E (2131) phy_init: PHY data partition validated
I (2157) phy: phy_version: 329, Feb 22 2017, 15:58:07, 0, 0
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.

Loin32 – USB Chip CP210

Micro USB Anschluss

Loin32 – Micro USB Anschluss

Lade-IC ist ein LTH7 (TP4045)

JST 2.0 Anschlussbuchse für LIPO

Loin32 – JST 2.0 Buchse

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.

esp32-idf4-20200902-v1.13.bin

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.

VS Code MicroPython

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.

Platform IO

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:

Blink Beispiel ZIP

Wifi Scan Beispiel ZIP

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

Quellen

Original Herstellerseite

Datenblatt TP4054

Datenblatt Wroom 32

GPIO 0 Erläuterung von Espressif

MicroPython ESP32 Referenz

PyMacr Plugin für VSCode

Nodes Js für VSCode Installation

4 Gedanken zu „Loin32 (oder doch Lolin32?)

  1. 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

Schreibe einen Kommentar zu sfambach Antworten abbrechen

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