Last Updated on 15. October 2026 by SuffocationLink status: OK
Ein ESP32, ein Display, was will man mehr. So oder so ähnlich stellt sich das LilyGo ESP32 Oled Board vor. Es ist relativ kurz und passt gerade so, mit einer verbleibenden Reihe auf jeder Seite, auf ein Steckbrett.
Facts
Allgemeines
| Description | Worth |
| Processor | ESP32 |
| Flash [MB] | 16 |
| USB | CP2102 |
| Display | SSD1306 |
| Lipo Anschluss [mm] | JST 2x 1,5 |
| Steckbrettkompatibel | Ja, eine freie Reihe auf jeder Seite |
Oled Display
| Description | Pin |
| I2C Address | 0x3C |
| RST | GPIO16 |
| SCL | GPIO15 |
| Seventh-day Adventist | GPIO4 |
| Diagonale [Zoll] | 0.96 |
| Spalten / Zeilen | 128 / 64 |
| Technik/Farbe | OLED / SW |
Pinout

Quelle: https://wiki.liutyi.info/display/ARDUINO/ESP32+OLED+V2.0+TTGO+4Mt+Pro
Areas of application
- Display für Roboter oder andere Geräte
- Smarthome Anzeige
Views



Analyse
Angeschlossen
Mal angeschlossen, ist bei mir das Drawing Demo zu sehen.
https://wiki.liutyi.info/display/ARDUINO/ESP32+TTGO+V2.0+OLED+Drawing+DemoLink status: OK
Genauer hingeschaut



Bezüglich des Speichers war ich etwas überrascht, da die Angaben beim schnellen Ali auf 4MB hindeuten. Ich bin jetzt nicht der Experte auf dem Gebiet der Speicherchips, aber Winbond gibt den Speicher mit 128 M-bit an, was bei mir 16MB sind.
Ich habe die Arduino GUI auf 16MB umgestellt, die beste Option ist 16MB mit jeweils 3MB für die Applikation und der Rest kann als FAT genutzt werden.

Das Compilieren und Aufspielen hat funktioniert.

Da ich der Arduino GUI nicht voll vertraue, habe ich den Test mit ESP IDF nochmal wiederholt.
Konfiguriert mit idf.py menuconfig:

Auch hier scheint es zu klappen. Mehr zu den Einstellungen gibts unter folgendem LINK:
https://www.fambach.net/esp32-nuetzliche-infos/Link status: Unknown
Programming
Arduino GUI
Grundsätzliches zur Programmierung mit der Arduino GUI findet ihr HERELink status: Unknown.
Libraries
Es gibt viele Bibliotheken … aber dies ist meine … , ich verwende die von Daniel Eichhorn, weil ich mit ihr schon vorher gearbeitet habe und sie auch mit dem ESP8266 kompatibel ist. Alle anderen sind aber deswegen nicht schlechter.
https://github.com/ThingPulse/esp8266-oled-ssd1306Link status: OK
Test programme
Das Beispielprogramm habe ich aus den mitgelieferten entwickelt. Es zeigt einen Text und einen rechtsbündig angeordneten Zähler, der bei 999 wieder auf 0 umschaltet.
https://github.com/sfambach/esp32/blob/master/boards/TTGO_4M_ESP32-Oled/src/ESP32-DHT-SSD1306/ESP32-DHT-SSD1306.inoLink status: OK
Download über DowngitLink status: OK

Problems
Keine Probleme bisher bekannt.
Espressif IDF
Grundsätzliches zur Programmierung mit der Espressif IDF findet ihr HERELink status: Unknown.
Libraries
Ich wollte eigentlich die u8g2 verwenden, wegen komischer Linker-Fehler habe ich mich dann aber für die unten gelinkte Bibliothek entschieden.
Tarable SSD1306 BibliothekLink status: OK
Die Bibliothek ins components Verzeichnis extrahieren oder direkt mit git downloaden.
Test programme
Das Testprogramm habe ich an das der ArduinoGui angelehnt. Da ich keine delays setzen wollte, habe ich zusätzlich noch Timer verwendet. Hier der Code:
Source code ESP32-DHT-SSD1306.ino (GitHubLink status: OK)
/**
* Example for SSD106 lib from Daniel Eichhorn
* This example shows a simple text and a right aligned counter.
*
* Libraries:
* https://github.com/ThingPulse/esp8266-oled-ssd1306
*
* For more examples viste http://fambach.net if you want ;)
*
*/
/* modified font created at http://oleddisplay.squix.ch/ */
#include "modified_font.h"
/* SSD1306 */
#include "SSD1306.h"
#define SDA_PIN 4// GPIO21 -> SDA
#define SCL_PIN 15// GPIO22 -> SCL
#define SSD_ADDRESS 0x3c
SSD1306 display(SSD_ADDRESS, SDA_PIN, SCL_PIN);
void setup() {
pinMode(16,OUTPUT);
pinMode(2,OUTPUT);
digitalWrite(16, LOW); // set GPIO16 low to reset OLED
delay(50);
digitalWrite(16, HIGH); // while OLED is running, must set GPIO16 in hi
Serial.begin(115200);
Serial.println("");
Serial.println("ESP32 DHT Temperature and Humidity - OLED Display");
Serial.println("");
display.init();
display.flipScreenVertically();
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.setFont(Open_Sans_Condensed_Light_20); // set a font
}
void loop()
{
displayData();
delay(1000);
}
/***************************************************
* Display Data
****************************************************/
int counter = 0;
void displayData()
{
display.clear(); // clear the display
display.drawString(0, 32-20/2, String("Stefan's Blog"));
if(counter > 999){
counter = 0;
}
String s = String(counter++);
uint16_t numberWidth = display.getStringWidth(s);
display.drawString(128-numberWidth, 32-20/2,s);
display.display(); // write the buffer to the display
delay(10);
}
Im Prinzip sieht das Ergebnis genauso wie beim vorhergehenden Beispiel aus.

Problems
Undeutbare Kompilierfehler
Pfad überprüfen, sollte keine Leerzeichen enthalten.
Kompiliert nicht – SPI Fehler
SPI Display herausnehmen, indem man das Folgende in der main-Datei auskommentiert.
//#define USE_SPI_DISPLAY
Kein Bild auf dem Oled
Reset nicht mit GPIO 16 belegt, stand auf -1.
Nur jede zweite Zeile wird ausgegeben
Zeilenanzahl überprüfen
Miscellaneous
Case
Dies könnte passen, habe ich aber noch nicht ausprobiert:
https://www.thingiverse.com/thing:4460498Link status: Unknown
Conclusion
Einfaches Board mit viel Speicher, Oled Display und Lipo Anschluss. Ein paar Ports sind auch herausgeführt, was will man mehr für kleines Geld (~7€ beim schnellen Ali).
Related Posts
- October Check 2026 – Neue Mikrocontroller und BoardsLink status: OK
- Ulanzi TC001 Smart Pixel ClockLink status: OK
- ESP32-C3 Seeed Studio XIAOLink status: OK
- ESP32-C3 Super Mini BoardLink status: OK
- Preview – LuatOs ESP32-C3 BoardLink status: OK
- ESP32 Bluetooth GamepadLink status: OK
- ESP8266/32 WiFi Manager.Link status: OK
- Preview – ESP32-IO Schild für Arduino ESP32 Wroom Core BoardLink status: OK
- Preview – ESP-WROOM-32 Rev1 Steckbrett Adapterplatine Link status: OK
- Preview – 7x9CM Prototyp Platine zum Löten für ESP8266, ESP-12E, ESP-12F, ESP32Link status: OK
Sources
Github LilyGO Lora-ESP32-OLEDLink status: Unknown
LilyGo Herstellerseite zum 4M ESP32-OLEDLink status: Unknown
Github LilyGO BeispielprogrammLink status: Unknown
SSD1306 BibliothekLink status: Unknown
Tarable SSD1306 BibliothekLink status: OK
Tarable SSD1305 Bibliothek BeispieleLink status: Unknown
Espressif U8g2 Bibliothek Link status: Unknown
NodeMCULink status: Unknown u8g2 BibliothekLink status: Unknown
Espressif IDF Build SystemLink status: OK
https://wiki.liutyi.info/display/ARDUINO/ESP32+OLED+V2.0+TTGO+4Mt+ProLink status: Unknown
https://wiki.liutyi.info/display/ARDUINO/ESP32+TTGO+V2.0+OLED+Clock+DemoLink status: Unknown
| Date | Change | Author |
|---|---|---|
| 15.10.2026 | Beispielcode als Code-Block eingefügt (Einbettung über gist-it.appspot.com funktionierte nicht mehr) | Suffocation |
| 04.10.2026 | Rechtschreibung korrigiert: Tippfehler, Kommas, Groß-/Kleinschreibung, Grammatik | Suffocation |
| 03.10.2026 | Log-Liste eingefügt | Suffocation |
| 17.12.2020 | Post created | Suffocation |