LILYGO EP32 S2 V1.1

Last Updated on 18. October 2026 by SuffocationLink status: OK

Hier ein Board der LilyGO Familie mit dem neuen ESP32-S2. Über den ESP32-S2 habe ich bereits HERELink status: Unknown berichtet. Es ist ein USB-C Board. Der ESP32 ist direkt aufgedampft. Das Board besitzt einen Anschalter und einen Lipoladeregler mit JST Anschluss. Für den JST Anschluss wurde ein Anschlusskabel mitgeliefert. Die Antenne ist nicht aufgedampft, sondern besteht aus einem kleinen Metallgestell. Auch kann eine externe Antenne angeschlossen werden. Es besitzt drei Taster und Mäuseklavier und einen SD-Karten Slot. Mehr hierzu später.

Verwendete Versionen

  • ESP-IDF v4.3-dev-1901-g178b122c1
  • VS-Code 1.50.1Link status: Broken
    • Version: 1.50.1
    • Commit: d2e414d9e4239a252d1ab117bd7067f125afd80a
    • Date: 2020-10-13T15:06:15.712Z
    • Electron: 9.2.1
    • Chrome: 83.0.4103.122
    • Node.js: 12.14.1
    • V8: 8.3.110.13-electron.0
    • OS: Windows_NT x64 10.0.19041
  • LilyGO ESP32_S2 20-6-18 V1.01

Facts

LILYGO ESP32-S2 V1.1
ManufacturerLILYGO
ProcessorESP32-S2 (Xtensa LX7, 32 Bit)
Kernel1
Tact240 MHz
Flash4 MB
SRAM320 KB
Digitale Pins22
Analoge Eingänge6 (VP, VN, 32, 33, 34, 35)
WLAN802.11 b/g/n, 2,4 GHz
USBUSB-C, CH340C
Operating voltage2,7–3,6 V
Input voltage5 V (USB)
Abmessungen65,21 × 25,95 × 5 mm
Weight7 g
Weitere BausteinePSRAM 8 MB, Akkuanschluss JST 2-polig 1,25 mm (3,7–4,2 V), Ladestrom 500 mA
FunctionPins
LEDGPIO 5
Akku Ladestand?(zu Prüfen)GPIO 35? (A1_7)
Spezielle Pinbelegungen

Areas of application

  • Internet of Things
  • Low Power Consumption
  • TOF Indoor-Ortung ?!?
  • Handy Tool (OTG)

Views

Analyse

Board Annotation

Schön, es gibt eine „Doku“ von LILYGO

Lilygo ESP32_S2 Annotiert
Lilygo ESP32_S2 Annotiert

Dip Switch USB/OTG stellt USB von Normal auf OTG (USB On-The-GoLink status: OK) um, wie überraschend ;). Als OTG Gerät kann das Board zum Beispiel direkt am Handy betrieben werden.

Ich vermute, mit Hilfe von Switch zwei kann man einen externen Oszillator/Takt am GPIO32/33 anschließen. Dieser wird auch als Schaltuhr bezeichnet und sollte mit 32.768 kHz getaktet werden. Leider habe ich hierzu keine weiteren Informationen von Lilygo gefunden, denke aber, dass sie mit denen von Espressif konform gehen:

WhatLink status: OK:Link status: OK Espressif.comLink status: OK

Genauer betrachtet

Der ESP32-S2 Chip von Espressif. S2 ohne Zusatz bedeutet, kein eingebautes Flash, Arbeitstemperatur zwischen -40 und +85°C und Bauform QFN57 (7×7).

ESP32-S2 Controller

Externer PSRam

  • 64 mBit = 8 MB
  • Bauform SOP8-150 mil
  • Maximaler Takt 133 MHz
  • Arbeitstemperatur -40 bis 85°C
  • Spannung 3.3V

40MHz Quarz zur Taktung des ESP

40 MHz externer Quarz

Usb-C Controller CH340.

CH340 USB-C Chip

USB-C Anschluss

USB-C Anschluss

25Q32BVSIG Flash Speicher

  • Hersteller BoyaMicro
  • 25Q = SPI Flash Quad IO
  • 32B = 32M-bit = 4MB
  • Versorgungsspannung 2,7 -3,6V
  • SS = Bauform 8-pin SOIC 208-mil
  • I = Industrieller Temperaturbereich von -40 bis 85°C
  • G = Grüne Verpackung Rohs konform …
Flashspeicher 4MB

Laderegler für Lipo LTH7 (TP4054)

Laderegler TP4054

Linearer Spannungsregler Max 6V auf 3.3V/600mA

JST 1,5 x2 Anschluss

JST 1,5mm Anschluss, zweiphasig

SMD Antennenanschluss. Dieser ist im Auslieferzustand mit der internen Antenne verbunden. Will man den Anschluss verwenden, muss der Widerstand links oben auf den Punkt rechts umgelötet werden. (von vertikal zu horizontal)

Aerial socket

Mal angeschlossen

Mal über die Console aufs Board geschaut, ob da schon etwas läuft. Baudrate ist in dem Fall 115200. Es folgt ein Teil des Outputs.

ESP32-S2 – Programm auf dem Chip

Es handelt sich um ein Programm vom Hersteller. https://github.com/Xinyuan-LilyGO/LilyGo-esp32s2-base/Link status: OK

Programming

Das Board kann aktuell nur mit dem Espressif Framework programmiert werden. Unterstützt wird dies aktuell von zwei IDEs, Eclipse und VS-Code. Unter Eclipse habe ich das Framework nicht zum Laufen gebracht, wenns bei euch geklappt hat, lasst einen Kommentar, bestenfalls mit Link zur entsprechenden Anleitung da.

Die Installation von VS-Code unter Windows hat mich mehrere Tage gekostet. Diese ist unter folgendem Link zu finden.

VS-Code Espressif IDFLink status: Unknown
VS-Code Espressif IDF Installation

Wenn ihr keine IDE benötigt, reicht das Espressif IDF und Python aus, um Code auf der Konsole zu kompilieren, das Vorgehen könnt ihr der folgenden Anleitung entnehmen.

Install Espressif IDF for ESP32-S2Link status: Unknown
Espressif IDF Installation

Libraries

Die Espressif IDF bietet erstmal alles, was man braucht, um den ESP32-S2 zu betreiben. Treiber für Sensoren und sonstiges müssen dann noch zusätzlich eingebunden werden.

Testprojekt erstellen

Es sind viele Beispielprogramme in der IDF enthalten. Ich hätte gerne ein TOF Beispiel verwendet, da es eine der Neuerungen des ESP32-S2 ist. Leider ist die Funktionalität noch nicht implementiert, es wird erst in ein paar Wochen damit gerechnet. Wenn es neue Informationen gibt, werde ich dazu einen eigenen Bericht verfassen.

Mit IDF und Konsole

Preparation
  • Konsole öffnen (cmd.exe) hier spielt sich alles ab.
  • Ins Arbeitsverzeichnis wechseln, bei mir „esp“ im Benutzerverzeichnis.
  • Die Beispielprogramme befinden sich unter ..\esp-idf\examples\<Kategorie>\<Projektname>
  • Mit xcopy ein Beispielprogramm kopieren
  • Ins Verzeichnis wechseln
Windows Konsole – Projekt vorbereiten

Weiter gehts mit dem Bauen:

Zielplattform festlegen
idf.py set-target esp32s2
Konfigurieren
idf.py menuconfig

Menuconfig ist eine textbasierte Oberfläche. Navigiert wird über die Pfeiltasten auf der Tastatur. In ein Menü oder Konfigurationspunkt kann mit Enter gesprungen werden. Heraus kommt man mit Escape. Wird im Hauptmenü Escape gedrückt, wird das Programm beendet. Wurden vorher Änderungen vorgenommen, wird man zum Speichern aufgefordert. (Shift+S zum Speichern und Shift + Q zum Beenden). Nachfolgend die Schritte und die entsprechenden Konsolen Screenshots dazu.

  • Optional, Daten für das Board anpassen
  • Beispielkonfiguration anpassen wichtig ist ssid / passwort und ap passwort im Menü Component config.
  • Speichern
Build
idf.py build

Dies kann beim ersten Mal mehrere Minuten dauern.

Sollte alles geklappt haben, kann nun das Programm auf den ESP geflasht werden.

Flashen

Board an den PC anschließen und den seriellen Port bestimmen (bei mir COM30)

idf.py -p COM30 flash
Monitoren
idf.py -p COM30 monitor 
LilyGO ESP32S2 Ausgabe

Gut es passiert was, spannend wirds aber erst mit zwei oder mehr Knoten. Beim einen den Knopf gedrückt, beim anderen empfangen.

So sollte es beim „anderen“ Knoten aussehen

Wer keinen zweiten ESP32S2 hat, kann auch einen „alten“ ESP32 verwenden, neues Ziel setzen (esp32) , menuconfig, build, flash ….

Mit VS-Code

Wie ein Beispielprogramm kopiert wird, habe ich im Bericht zur VS Code Installation näher beschrieben, deshalb hier nur die Kurzfassung.

  • F1 Taste für Befehle ausführen
  • ESP-IDF eingeben – es werden alle Befehle aufgelistet
  • Befehl ESP-IDF: Show ESP-IDF Examples Projects wählen
VS Code Espressif IDF – Befehl Show Examples Projects

Auf der linken Seite kann das Beispielprogramm ausgewählt werden. Ich wähle hier mal, wie oben, das ip_internal_network Projekt aus der Sparte mesh aus.

VS Code Espressif IDF – Beispiel-Projekt wählen

Noch ein Zielverzeichnis wählen:

VS Code Espressif IDF – Projektverzeichnis wählen

So sieht das Projekt aus:

VS Code Espressif IDF – Projektverzeichnis Struktur

Zielplattform auswählen

  • F1 Taste
  • esp-idf eingeben
  • ESP-IDF: Set Espressif device target wählen

Ich wähle die ESP32-S2 Umgebung

VS-Code IP Project – Auswahl Zielplattform

Die Verarbeitung dauert einen kleinen Moment. Jetzt soll das Projekt konfiguriert werden. Im Code selbst sind Platzhalter eingebaut, wie hier die CONFIG_MESH_ROUTE_TABLE_SIZE.

VS-Code IP Project – Code Beispiel mit Platzhalter

Diese werden auf der Console mit menuconfig, in VS-Code mit dem Konfigurationstool eingestellt.

F1 -> esp-idf eingeben -> „Launch gui configuration tool“ auswählen

(ist auch über das Zahnrad links unten erreichbar)

VS-Code IP Project – Starten von menuconfig

In den Abschnitt Example Configuration wechseln und die Angaben zur SSID, Wlan Passwort und AP Passwort machen. Danach oben rechts Speichern.

VS-Code IP Project – Example Configuration ausfüllen

Jetzt die Sourcen bauen – Zylinder unten links.

VS-Code IP Project – Projekt bauen (CMake config und compile)
VS-Code IP Project – Projekt bauen -> Erfolgsmeldung

Serielle Schnittstelle auswählen

VS-Code IP Project – Port Wahl

Bei mir ist es COM30.

VS-Code IP Project – Port Auswahlliste
VS-Code IP Project – Port Auswahl erfolgreich

Programm auf den ESP schreiben. Dies kann bis zu einer halben Minute dauern.

VS-Code IP Project – Flashen
VS-Code IP Project – Flashen erfolgreich

Monitoren

VS-Code IP Project – Monitor starten
VS-Code IP Project – Monitor Ausgabe.

Hiermit ist der bereits für die IDF beschriebene Prozess für das VS-Code abgeschlossen. Auch hier sei angemerkt, dass das Beispiel erst mit mehreren Knoten einen Sinn ergibt. Wer keine zwei S2 hat, kann einen gewöhnlichen ESP verwenden. Framework Zielplattform auf ESP32 eingestellt und die ganze Prozedur von neuem beginnen. Leider muss auch die Konfiguration neu eingegeben werden.

Problems

Probleme gab es hier keine, da das IDF Framework schon funktionierte. Sollte es mit VS-Code oder dem IDF Framework Probleme geben, bitte in den verlinkten Beiträgen im Kapitel Probleme nachsehen.

ESP-IDF InstallationLink status: Unknown

ESP-IDF im VS-CodeLink status: Unknown

Conclusion

Mit funktionierendem IDF Framework ist die Programmierung des ESP32-S2 ein Kinderspiel. Es sind viele Beispielprogramme dabei und die Menükonfiguration mit den Platzhaltern hat mich beeindruckt.

Schade ist, dass die TOF und OTG Funktionalität noch nicht verfügbar sind, diese Neuerungen wären sehr interessant gewesen. Ich werde diese dann in einem gesonderten Bericht behandeln.

Anfänglich fiel es mir schwer, in den Code hineinzufinden. Wenn man die Einfachheit des Arduino Codes gewohnt ist, sieht der Code der IDF um einiges komplexer aus. Mit ein wenig Übung und ein paar Tutorials ist jedoch auch dies zu schaffen. Die ESP-IDF könnte eine wirkliche Alternative sein. Sie ist früher verfügbar und aktueller als die Portierungen.

Außer, dass ich mehrere Tage für die richtige IDF Installation verbraucht habe, ergeben sich für mich, sieht man mal von dem geringeren Stromverbrauch ab, keine essentiellen Vorteile durch den S2, noch nicht ;).

Wenn ihr auch eine Meinung, Verbesserungsvorschläge, Korrekturen usw. habt, würde ich mich über einen konstruktiven Kommentar von euch freuen.

Related Posts

Sources

Original HerstellerseiteLink status: OK

Espressif IDF Support ESP32-S2Link status: Broken

Espressif IDF get StartLink status: OK

Espressif IDF ESP32-S2 Support Status Link status: OK

GPIO 0 ErLink status: OKlLink status: OKäuterung von EspressifLink status: OK

VS-Code HomepageLink status: OK

DateChangeAuthor
19.10.2026Fakten-Tabelle durch Datenblock aus dem Modell ersetztSuffocation
04.10.2026Rechtschreibung korrigiert: Tippfehler, Kommas, Groß-/Kleinschreibung, GrammatikSuffocation
03.10.2026Log-Liste eingefügtSuffocation
23.10.2020Post createdSuffocation
Changelog

Leave a Reply

Your email address will not be published. Required fields are marked *