ESP32 C3 Super Mini - SSD1309-OLED-Display 128x64 | 2,42-Zoll-I2C-OLED-Tutorial
Lernen Sie, wie Sie das SSD1309-OLED-Display 128×64 (2,42 Zoll) über die I2C-Schnittstelle mit Ihrem ESP32 C3 Super Mini verwenden. Diese einsteigerfreundliche Anleitung behandelt alles von der grundlegenden Verdrahtung bis zu fortgeschrittenen Funktionen wie Bitmap-Bildern und eigenen Schriftarten.
In diesem Tutorial lernen Sie:
- Was das SSD1309-OLED-Display ist und wie es mit dem ESP32 C3 Super Mini funktioniert
- Wie Sie das 2,42-Zoll-I2C-OLED mit dem ESP32 C3 Super Mini verdrahten
- Wie Sie Text, Zahlen und Grafiken auf dem SSD1309-OLED anzeigen
- Wie Sie Text zentrieren, Formen zeichnen und Bitmap-Bilder anzeigen
- Wie Sie Hardware-Scrolling verwenden und den Kontrast einstellen
- Wie Sie eigene Schriftarten aus der Adafruit-GFX-Bibliothek einsetzen

Erforderliche Hardware
| 1 | × | ESP32 C3 Super Mini | |
| 1 | × | USB-Kabel Typ-A zu Typ-C (für USB-A PC) | |
| 1 | × | USB-Kabel Typ-C zu Typ-C (für USB-C PC) | |
| 1 | × | SSD1309 I2C OLED Display 128x64 (2.42 inch) | |
| 1 | × | Verbindungskabel |
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über the SSD1309 2.42-Inch OLED Display
Der SSD1309 ist ein CMOS-OLED-Treiberchip für 128×64-Punktmatrix-Displays, der über I2C kommuniziert.
Hauptmerkmale:
- Auflösung: 128×64 Pixel (2,42 Zoll Diagonale)
- Schnittstelle: I2C (nur 2 Drähte erforderlich – SDA und SCL)
- Kompatibilität: Registerkompatibel mit dem SSD1306
- Spannungstoleranz: Akzeptiert bis zu 16V an VCC (höher als der SSD1306)
- Eingebauter Aufwärtswandler: Die meisten Module enthalten eine Spannungsregelung auf der Platine
- Geringer Stromverbrauch: 20-40 mA bei voller Helligkeit
- Monochrom: Weiße Pixel auf schwarzem Hintergrund
- Warum es sich hervorragend für Einsteiger eignet: Einfache I2C-Verdrahtung, leicht zu bedienende Bibliothek, und der I2C-Bus kann mit anderen Geräten geteilt werden
Pinbelegung des SSD1309-OLED (I2C-Modul)
Das 2,42-Zoll-SSD1309-OLED-Modul hat vier Pins:
- GND: Masseanschluss
- VCC: Stromversorgung (3,3V)
- SCL: I2C-Taktleitung
- SDA: I2C-Datenleitung

※ Notiz:
- Die Pin-Anordnung des OLED-Moduls kann je nach Hersteller unterschiedlich sein. Verwenden Sie immer die auf dem Modul aufgedruckten Beschriftungen.
- Dieses Tutorial verwendet das SSD1309-I2C-OLED von DIYables, das getestet wurde und nachweislich funktioniert.
Verdrahtungsdiagramm
Schließen Sie das SSD1309-OLED-Display 128x64 gemäß diesem Schaltplan an Ihren ESP32 C3 Super Mini an:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Verbindungstabelle:
| OLED-Modul | ESP32 C3 Super Mini |
|---|---|
| VCC | 3,3V |
| GND | GND |
| SDA | A4 |
| SCL | A5 |
※ Notiz:
- Hinweis: Stellen Sie vor dem Einschalten sicher, dass die Verbindungen fest sitzen
- Hinweis: Die I2C-Pins (A4/A5) können mit anderen I2C-Geräten geteilt werden
Wie man den ESP32 C3 Super Mini für das SSD1309-OLED programmiert
Dieser Abschnitt zeigt Ihnen, wie Sie die erforderliche Bibliothek installieren und Code für Ihr SSD1309-OLED-Display am ESP32 C3 Super Mini schreiben.
Was Sie tun werden:
- Die Bibliothek DIYables_OLED_SSD1309 und ihre Abhängigkeiten installieren
- Das I2C-OLED-Display in Ihrem Code initialisieren
- Text, Zahlen und Grafiken anzeigen
- Fortgeschrittene Funktionen wie Scrolling und eigene Schriftarten verwenden
Die Bibliothek DIYables_OLED_SSD1309 installieren
- Klicken Sie auf das Symbol Libraries in der linken Leiste der Arduino IDE.
- Suchen Sie nach DIYables_OLED_SSD1309 und suchen Sie dann die Bibliothek DIYables OLED SSD1309 von DIYables.
- Klicken Sie auf Install, um die Bibliothek DIYables_OLED_SSD1309 zu installieren.

- Sie werden aufgefordert, Abhängigkeiten für die Bibliothek zu installieren.
- Klicken Sie auf Install All, um alle erforderlichen Abhängigkeiten zu installieren.

Programmierschritte
1. Die erforderlichen Bibliotheken einbinden
2. Die Bildschirmabmessungen definieren
3. Das Display-Objekt deklarieren
4. Das OLED in setup() initialisieren
5. Inhalte anzeigen
ESP32 C3 Super Mini Code — Hello World auf dem SSD1309-OLED
Dieses einfache Beispiel zeigt den Text "Hello World" auf Ihrem SSD1309-OLED-Display an.
Was dieser Code macht:
- Initialisiert das I2C-OLED-Display
- Löscht den Bildschirmpuffer
- Legt Textgröße und Position fest
- Zeigt den Text "Hello World" an
- Sendet den Puffer an den physischen Bildschirm
ESP32 C3 Super Mini Code — Text auf dem SSD1309-OLED anzeigen
Dieses Beispiel zeigt fortgeschrittene Textfunktionen, darunter mehrere Textgrößen, Zahlenformatierung und effiziente RAM-Nutzung.
Was dieser Code macht:
- Zeigt Text in verschiedenen Größen
- Zeigt Ganzzahlen und Gleitkommazahlen an
- Verwendet das F()-Makro, um RAM zu sparen
- Formatiert Zahlen dezimal und hexadezimal
- Demonstriert die richtige Cursorpositionierung
Referenz nützlicher Display-Funktionen
Grundlegende Display-Steuerung:
- oled.clearDisplay() — löscht den Bildpuffer (alle Pixel aus)
- oled.display() — überträgt den Puffer an das OLED, damit Änderungen sichtbar werden
- oled.drawPixel(x, y, color) — setzt oder löscht ein einzelnes Pixel
Textfunktionen:
- oled.setTextSize(n) — skaliert die Schrift um den Faktor *n* (1 = 6×8, 2 = 12×16 usw.)
- oled.setCursor(x, y) — bewegt den Textcursor zu den Pixelkoordinaten *(x, y)*
- oled.setTextColor(SSD1309_PIXEL_ON) — nur Textvordergrund (transparenter Hintergrund)
- oled.setTextColor(SSD1309_PIXEL_OFF, SSD1309_PIXEL_ON) — Text mit expliziter Hintergrundfarbe
- oled.println("message") — gibt eine Zeichenkette aus und springt in die nächste Zeile
- oled.println(number) — gibt eine Ganzzahl dezimal aus
- oled.println(number, HEX) — gibt eine Ganzzahl hexadezimal aus
Hardware-Scrolling:
- oled.startscrollright(start, stop) — Hardware-Scrolling nach rechts zwischen Seite *start* und *stop*
- oled.startscrollleft(start, stop) — Hardware-Scrolling nach links
- oled.startscrolldiagright(start, stop) — Hardware-Scrolling diagonal nach rechts
- oled.startscrolldiagleft(start, stop) — Hardware-Scrolling diagonal nach links
- oled.stopscroll() — stoppt jedes aktive Hardware-Scrolling
Display-Einstellungen:
- oled.setContrast(value) — stellt die Helligkeit des Displays ein (0–255)
- oled.dim(true/false) — dimmt das Display schnell oder stellt es wieder her
- oled.invertDisplay(true/false) — Farbumkehr auf Hardware-Ebene
Wie man Text auf dem SSD1309-OLED vertikal und horizontal zentriert
Das Zentrieren von Text auf Ihrem ESP32 C3 Super Mini OLED-Display sorgt für professionell aussehende Oberflächen.
ESP32 C3 Super Mini Code — Formen auf dem SSD1309-OLED zeichnen
Mit der Bibliothek DIYables_OLED_SSD1309 können Sie geometrische Formen auf Ihrem 128x64-OLED-Display zeichnen.
Was dieser Code macht:
- Zeichnet Pixel, Linien und Rechtecke
- Erstellt Kreise und Dreiecke
- Zeigt gefüllte und umrandete Formen
- Demonstriert abgerundete Rechtecke
- Verwendet die Grafikfunktionen von Adafruit GFX
ESP32 C3 Super Mini Code — Hardware-Scrolling auf dem SSD1309-OLED
Das SSD1309-OLED verfügt über ein eingebautes Hardware-Scrolling, das Inhalte ohne Nutzung von CPU-Ressourcen verschiebt.
Was dieser Code macht:
- Demonstriert alle vier Scrollrichtungen (rechts, links, diagonal rechts, diagonal links)
- Verwendet Hardwarebeschleunigung für flüssiges Scrollen
- Zeigt, wie das Scrollen gestartet und gestoppt wird
- Arbeitet mit Seitennummern (0-7 für 8 Pixel hohe Streifen)
※ Notiz:
Rufen Sie display() auf, um Ihre Inhalte an das OLED zu übertragen, bevor Sie ein Scrolling starten. Stoppen Sie das Scrolling mit stopscroll(), bevor Sie neue Inhalte zeichnen.
ESP32 C3 Super Mini Code — Bitmap-Bild auf dem SSD1309-OLED anzeigen
Zeigen Sie eigene Bilder auf Ihrem SSD1309-OLED an, indem Sie sie in Byte-Arrays umwandeln.
So wandeln Sie Bilder um:
- Öffnen Sie das Online-Tool image2cpp
- Laden Sie Ihr Bild hoch (PNG, JPG, BMP usw.)
- Stellen Sie die Canvas-Größe auf 128×64 (oder kleiner) ein
- Wählen Sie Arduino code als Ausgabeformat
- Kopieren Sie das erzeugte Array in Ihren Sketch

Was dieser Code macht:
- Wandelt Bilder in monochrome Bitmaps um
- Speichert Bitmap-Daten in PROGMEM, um RAM zu sparen
- Zeigt das Bitmap auf dem 128x64-OLED an
- Zeigt die richtige Positionierung des Bitmaps
※ Notiz:
- Die Bitmap-Abmessungen dürfen bei diesem Modul 128×64 nicht überschreiten
- Bilder werden automatisch in Monochrom (Schwarz-Weiß) umgewandelt
ESP32 C3 Super Mini Code — Kontrast und Dimmen am SSD1309-OLED
Steuern Sie die Helligkeit Ihres SSD1309-Displays am ESP32 C3 Super Mini mit den Kontrast- und Dimmfunktionen.
Was dieser Code macht:
- Stellt den Kontrast von 0 (minimal) bis 255 (maximal) ein
- Verwendet setContrast() für eine präzise Helligkeitssteuerung
- Verwendet dim() zum schnellen Umschalten der Helligkeit
- Demonstriert fließende Helligkeitsübergänge
ESP32 C3 Super Mini Code — Eigene externe Schriftarten auf dem SSD1309-OLED
Die Adafruit-GFX-Bibliothek enthält Dutzende professioneller FreeFont-Schriftarten für Ihr SSD1309-OLED-Display.
Verfügbare Schriftfamilien:
- Serif-Schriften (klassisches Aussehen)
- Sans-Schriften (modern, klar)
- Mono-Schriften (feste Breite)
- Jeweils in den Stilen Regular, Bold und Italic
- Vier Größen für jede Schrift
Was dieser Code macht:
- Zeigt, wie eigene Schrift-Header eingebunden werden
- Demonstriert setFont() zum Wechseln der Schrift
- Zeigt Text in mehreren Schriftstilen an
- Verwendet PROGMEM für eine effiziente Speicherung im Flash
※ Notiz:
- Wenn eine externe Schrift aktiv ist, bezieht sich die Y-Koordinate des Cursors auf die Grundlinie des Textes, nicht auf die linke obere Ecke
- Externe Schriften werden im Flash (PROGMEM) gespeichert. Setzen Sie sie überlegt ein, um im Flash-Budget des ESP32 C3 Super Mini zu bleiben
Schnelle Schritte
- Neu beim ESP32 C3 Super Mini? Absolvieren Sie zuerst unser Tutorial Erste Schritte mit dem ESP32 C3 Mini, um Ihre Entwicklungsumgebung einzurichten.
- Display verdrahten: Verbinden Sie das SSD1309-OLED gemäß der obigen Verdrahtungstabelle mit dem ESP32 C3 Super Mini
- Bibliothek installieren: Öffnen Sie den Bibliotheksverwalter der Arduino IDE und installieren Sie DIYables_OLED_SSD1309 und alle Abhängigkeiten
- Beispiel öffnen: Laden Sie einen der Beispiel-Sketches aus den obigen Codeabschnitten
- Board auswählen: Wählen Sie ESP32C3 Dev Module im Menü Werkzeuge > Board
- Code hochladen: Schließen Sie Ihren ESP32 C3 Super Mini an und klicken Sie auf Hochladen
- Display prüfen: Das SSD1309-OLED sollte sofort die Ausgabe des Beispiels anzeigen
- Experimentieren: Ändern Sie Text, Farben oder Koordinaten, um zu sehen, wie das Display reagiert
- Profi-Tipp: Rufen Sie nach dem Zeichnen immer display.display() auf, um den Bildschirm zu aktualisieren – der SSD1309 verwendet einen Bildpuffer, der an das physische Display übertragen werden muss
SSD1309-OLED-Fehlerbehebung mit dem ESP32 C3 Super Mini
Wenn auf Ihrem 2,42-Zoll-SSD1309-OLED-Display nichts erscheint, folgen Sie diesen Schritten zur Fehlerbehebung:
Häufige Probleme und Lösungen:
- Verdrahtung prüfen: Bestätigen Sie, dass SDA→A4, SCL→A5, VCC→3,3V und GND→GND alle korrekt verbunden sind
- Treiberchip bestätigen: Diese Bibliothek ist für den SSD1309-Controller gedacht – Module mit SH1106 oder anderen Chips funktionieren nicht
- I2C-Adresse prüfen: Die meisten SSD1309-Module verwenden 0x3C, manche jedoch 0x3D – führen Sie den unten stehenden Scanner aus, um Ihre zu finden
- display() aufrufen: Der SSD1309 verwendet einen Bildpuffer – nichts erscheint, bis Sie oled.display() aufrufen
- Stromversorgung prüfen: Das 2,42-Zoll-OLED zieht 20-40 mA – stellen Sie sicher, dass die 3,3V-Versorgung genügend Strom liefern kann
- Verbindungen testen: Bewegen Sie die Drähte vorsichtig, um lose Verbindungen zu erkennen
- I2C-Scanner verwenden: Laden Sie den folgenden Code hoch, um die I2C-Adresse Ihres OLED zu ermitteln
I2C-Scanner-Code:
Erwartete Ausgabe im Seriellen Monitor, wenn der SSD1309 erkannt wird:
Anwendungs- und Projektideen
Hier sind einige praktische Projekte, die Sie mit Ihrem ESP32 C3 Super Mini und dem SSD1309-OLED-Display bauen können:
- Wetterstationsanzeige mit Temperatur, Luftfeuchtigkeit und Vorhersagesymbolen
- Echtzeituhr mit Datum, Uhrzeit und eigenen Alarmanzeigen
- WLAN-Signalstärkemonitor mit visuellen Balkendiagrammen
- IoT-Sensor-Dashboard, das mehrere Sensorwerte anzeigt
- Musikplayer-Oberfläche mit Liedtitel, Interpret und Wiedergabesteuerung
- Systemmonitor mit CPU-Auslastung, Speicher und Netzwerkstatus
- Spielkonsole für einfache pixelbasierte Spiele wie Snake oder Pong
- Laufschrift-Nachrichtentafel für Benachrichtigungen und Warnungen
Video-Tutorial
Sehen Sie sich das folgende Video an, um eine visuelle Schritt-für-Schritt-Anleitung zu diesem Projekt zu erhalten.
...VIDEO 5yFyA1jrNuk
...VIDEO
Herausforderungen
Bringen Sie Ihre Fähigkeiten mit dem SSD1309-OLED am ESP32 C3 Super Mini mit diesen Herausforderungen auf die nächste Stufe:
- Einfach: Ändern Sie das Hello-World-Beispiel so, dass es Ihren Namen und Ihr Lieblings-Emoji in verschiedenen Textgrößen anzeigt
- Einfach: Erstellen Sie eine einfache Digitaluhr, die Stunden, Minuten und Sekunden in großer Schrift anzeigt
- Mittel: Bauen Sie eine Temperaturanzeige, die die Messwerte eines DHT11-Sensors mit einem grafischen Thermometer darstellt
- Mittel: Entwerfen Sie einen animierten Ladebalken, der sich mithilfe von Rechtecken von links nach rechts füllt
- Fortgeschritten: Erstellen Sie ein Menüsystem mit mehreren Seiten, durch die Sie mit Tastern navigieren können
- Fortgeschritten: Bauen Sie ein Echtzeit-Diagramm, das Sensordaten über den 128x64-Bildschirm scrollt
- Fortgeschritten: Entwerfen Sie eine Bitmap-Animation, die mehrere Einzelbilder durchläuft, um Bewegung zu erzeugen