LilyGo ESP32-Oled

Last Updated on 31. Juli 2021 by sfambach

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 Seitauf, ein Steckbrett.

Fakten

Allgemeines

BeschreibungWert
ProzessorESP32
Flash [MB]16
USBCP2102
DisplaySSD1306
Lipo Anschluss [mm]JST 2x 1,5
SteckbrettkompatibelJa, eine freie Reihe auf jeder Seite
Allgemeine Infos zum Board

Oled Display

BeschreibungPin
I2C Adresse0x3C
RSTGPIO16
SCLGPIO15
SDAGPIO4
Diagonale [Zoll]0.96
Spalten / Zeilen 128 / 64
Technik/FarbeOLED / SW
OLED Display Daten

Pinout

Esp32-Oled – Pinout
Quelle: https://wiki.liutyi.info/display/ARDUINO/ESP32+OLED+V2.0+TTGO+4Mt+Pro

Anwendungsbereiche

  • Display für Roboter oder andere Geräte
  • Smarthome Anzeige

Ansichten

Analyse

Angeschlossen

Mal angeschlossen, ist bei mir das Drawing Demo zu sehen.

https://wiki.liutyi.info/display/ARDUINO/ESP32+TTGO+V2.0+OLED+Drawing+Demo

Genauer hin geschaut

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.

Speicher auf 16MB = 2* 3MB Anwendungsdaten + 9 MB FATFS (Rest Bootloader …)

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:

Auf 16 MB umgestellt, Detect Flash size aktiviert

Auch hier scheint es zu klappen. Mehr zu den Einstellungen gibts unter folgenden LINK:

https://www.fambach.net/esp32-nuetzliche-infos/

Programmierung

Arduino GUI

Grundsätzliches zur Programmierung mit der Arduino GUI findet ihr HIER.

Bibliotheken

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 EP8266 kompatibel ist. Alle anderen sind aber deswegen nicht schlechter.

https://github.com/ThingPulse/esp8266-oled-ssd1306

Testprogramm

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

Download über Downgit

Arduino Gui Tesprogramm – So schaut’s aus.

Probleme

Keine Probleme bisher bekannt.

Espressif IDF

Grundsätzliches zur Programmierung mit der Espressif IDE findet ihr HIER.

Bibliotheken

Ich wollte eigentlich die u8g2 verwenden, wegen komischer Linker-Fehler habe ich mich dann aber für die unten gelinkte Bibliothek entschieden.

Tarable SSD1306 Biliothek

Die Bibliothek ins components Verzischnis extrahieren oder direkt mit git downloaden.

Testprogramm

Das Tesprogramm habe ich an das der ArduinoGui angelehnt. Da ich keine delays setzten wollte, habe ich zusätzlich noch Timer verwendet. Hier der Code:

Im Prinzip sieht das Ergebnis genauso wie beim vorhergehenden Beispiel aus.

Espressif IDF Testprogramm - Ausgabe

Probleme

Undeutbare Kompilierfehler

Pfad überprüfen sollte keine leerzeichen enthalten.

Kompiliert nicht - SPI Fehler

SPI Display herausnehmen indem man das Folgende in der main-Datei ausdokumentiert.

//#define USE_SPI_DISPLAY
Kein Bild auf dem Oled

Reset nicht mit GPIO 16 belegt stand auf -1.

Nur jede zweite Zeile wir ausgegeben

Zeilenanzahl überprüfen

Sonstiges

Gehäuse

Dies könnte passen, habe ich aber noch nicht ausprobiert:

https://www.thingiverse.com/thing:4460498

Fazit

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

Verwandte Beiträge

Quellen

Github LilyGO Lora-ESP32-OLED

LilyGo Herstellerseite zum 4M ESP32-OLED

Github LilyGO Beispielprogramm

SSD1306 Bibliothek

Tarable SSD1306 Biliothek

Tarable SSD1305 Bibliothek Beispiele

Espressif U8g2 Bibliothek

NodeMCU u8g2 Bibliothek

Espressif IDF Build System

https://wiki.liutyi.info/display/ARDUINO/ESP32+OLED+V2.0+TTGO+4Mt+Pro

https://wiki.liutyi.info/display/ARDUINO/ESP32+TTGO+V2.0+OLED+Clock+Demo

Schreibe einen Kommentar

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