ESP32-C3 mit 0,42" OLED Display – Das kompakte RISC-V IoT-Board im Detail
Der ESP32-C3 mit integriertem 0,42" OLED-Display ist eines der kompaktesten und vielseitigsten Entwicklungsboards für IoT-Projekte. Auf kleinstem Raum vereint es einen modernen RISC-V-Mikrocontroller, WLAN, Bluetooth 5.0 und ein eingebautes Display – alles ab 5,00 € bei Semaf Electronics in Wien.
Dieser Artikel ist der vollständige deutschsprachige Guide zu diesem Board: von der Hardware über Pinout und Entwicklungsumgebung bis hin zu konkreten Anwendungsfällen und Codebeispielen.
👉 ESP32-C3 OLED 0,42" jetzt kaufen – Semaf Electronics Wien
Inhaltsverzeichnis
- Was ist der ESP32-C3?
- Technische Spezifikationen
- Das eingebaute OLED-Display
- Schnellstart: Firmware flashen ohne Installation
- Entwicklungsumgebung einrichten
- Pinout & GPIO-Übersicht
- Pins mit Vorsicht verwenden
- Flash- & Upload-Konfiguration
- Erstes Programm: Hello World auf dem OLED
- Typische Anwendungsfälle
- Vergleich: Welches Board passt zu deinem Projekt?
- Datenblätter & Ressourcen
- Wo kaufen?
Was ist der ESP32-C3?
Der ESP32-C3 ist ein Mikrocontroller von Espressif Systems, der sich von seinen Vorgängern durch eine besondere Architektur unterscheidet: Statt der proprietären Xtensa-Kerne (wie beim ESP32 und ESP8266) setzt er auf die offene RISC-V-Architektur – ein 32-Bit-Single-Core-Prozessor mit bis zu 160 MHz Taktfrequenz.
Das bedeutet für Entwickler: Der ESP32-C3 ist vollständig kompatibel mit der wachsenden RISC-V-Toolchain-Landschaft und wird langfristig von einer breiten Community unterstützt. Gleichzeitig bleibt er vollständig kompatibel mit dem Espressif ESP-IDF, Arduino-Framework, PlatformIO und ESPHome.
Warum RISC-V? RISC-V ist eine offene Befehlssatzarchitektur (ISA) ohne Lizenzgebühren. Das macht Chips günstiger, die Toolchain offener und die langfristige Verfügbarkeit sicherer als bei proprietären Architekturen.
Das Board in diesem Artikel kombiniert den ESP32-C3 mit einem direkt aufgelöteten 0,42" OLED-Display – kein externes Modul, keine zusätzliche Verdrahtung nötig.
Technische Spezifikationen
| Merkmal | Wert |
|---|---|
| Mikrocontroller | ESP32-C3 (RISC-V 32-Bit, Single-Core) |
| Architektur | RISCV32 |
| Taktfrequenz | bis zu 160 MHz |
| Flash | 4 MB (QIO-Modus) |
| SRAM | 400 KB |
| WLAN | 802.11 b/g/n (2,4 GHz) |
| Bluetooth | BT 5.0 / BLE (Classic + LE) |
| Display | 0,42" OLED, 72×40 Pixel, monochrom |
| Display-Controller | SSD1306 |
| Display-Anbindung | I2C (SDA: GPIO 8, SCL: GPIO 9) |
| USB | Micro-USB |
| USB-Serial-Chip | CP2102 |
| Digitale I/O-Pins | 13 |
| Analoge Eingänge (ADC) | 6 Kanäle, 12-Bit |
| PWM-Pins | 11 |
| Interrupt-Pins | 22 |
| Schnittstellen | UART, SPI, I2C, I2S, PWM |
| Betriebsspannung | 3,3 V |
| Preis bei Semaf Electronics | 5,00 € |
Das eingebaute OLED-Display
Das Highlight dieses Boards ist das fest integrierte 0,42" OLED-Display mit 72×40 Pixeln. Obwohl es winzig klingt, eignet es sich hervorragend für kompakte Statusanzeigen:
- Sensor-Messwerte (Temperatur, Luftfeuchtigkeit, CO₂)
- IP-Adresse nach WLAN-Verbindung
- Menü-Navigation mit Taster
- Systemstatus bei IoT-Nodes
- Einfache Icons und Symbole
Display-Technische Details
| Parameter | Wert |
|---|---|
| Displaygröße | 0,42 Zoll (diagonal) |
| Auflösung | 72 × 40 Pixel |
| Farbe | Monochrom (weiß auf schwarz) |
| Controller | SSD1306 |
| Interface | I2C |
| SDA | GPIO 8 |
| SCL | GPIO 9 |
| I2C-Adresse | 0x3C |
Der SSD1306 ist einer der am weitesten verbreiteten OLED-Controller überhaupt. Es gibt fertige Bibliotheken für Arduino (Adafruit_SSD1306, U8g2), MicroPython (ssd1306) und ESPHome – der Einstieg ist damit sehr einfach.
Achtung zur Auflösung: Die meisten SSD1306-Bibliotheken sind für 128×64 oder 128×32 ausgelegt. Dieses Board verwendet 72×40 Pixel – das muss in der Bibliothek explizit als Breite und Höhe angegeben werden, sonst wird der Bildschirm falsch initialisiert.
Schnellstart: Firmware flashen ohne Installation
Wer keine Entwicklungsumgebung installieren möchte, kann Firmware direkt im Browser auf das Board flashen – mit dem ESP32 Web Flasher von Semaf Electronics:
👉 ESP32 Web Flasher – electronics.semaf.at/ESP32-Web-Flasher
Das Tool läuft vollständig im Browser (Chrome/Edge erforderlich, da Web Serial API benötigt wird). Einfach:
- Board per Micro-USB anschließen
- Web Flasher im Browser öffnen
- Board auswählen und Firmware-Datei hochladen
- Flashen starten – fertig
Kein Python, kein esptool, keine Treiber-Installation nötig. Ideal für Einsteiger oder zum schnellen Testen einer fertigen Firmware.
Entwicklungsumgebung einrichten
Arduino IDE 2
- Arduino IDE 2 installieren (falls noch nicht vorhanden)
- Im Boardverwalter (
Werkzeuge → Board → Boardverwalter) nachesp32by Espressif suchen und installieren - Board auswählen:
Werkzeuge → Board → ESP32 Arduino → **Esp32c3 Dev**
Unter Datei → Einstellungen → Zusätzliche Boardverwalter-URLs folgende URL eintragen:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Empfohlene Einstellungen unter Werkzeuge:
| Einstellung | Wert |
|---|---|
| Board | Esp32c3 Dev |
| CPU Frequency | 160 MHz |
| Flash Size | 4MB |
| Flash Mode | QIO |
| Upload Speed | 921600 |
| Architektur | RISC-V |
PlatformIO (empfohlen für Profis)
[env:esp32-c3-oled-042]
platform = espressif32
board = esp32-c3-devkitm-1
framework = arduino
; Exakte Hardware-Konfiguration für ESP32-C3 OLED 0,42"
board_build.mcu = esp32c3
board_build.f_cpu = 160000000L
board_build.flash_size = 4MB
board_build.flash_mode = qio
board_upload.flash_size = 4MB
ESPHome (für Home Assistant)
esp32:
board: esp32-c3-devkitm-1
framework:
type: arduino # oder "esp-idf"
# ESP32-C3 OLED 0,42" – 160 MHz ESP32C3
# Flash: 4MB | USB: Micro-USB
esptool.py – Direktes Flashen per Kommandozeile
Für fortgeschrittene Nutzer, die Firmware manuell flashen möchten:
# Installation
pip install esptool
# Firmware flashen
esptool.py \
--chip esp32c3 \
--baud 921600 \
write_flash \
--flash_mode qio \
--flash_size 4MB \
0x0 bootloader.bin \
0x8000 partitions.bin \
0xe000 boot_app0.bin \
0x10000 firmware.bin
Wichtig: firmware.bin durch den Pfad zur eigenen Binary ersetzen. Der Bootloader liegt bei diesem Board an Adresse 0x0.
Pinout & GPIO-Übersicht
Das Board bietet 13 digitale I/O-Pins in kompaktem Layout. Alle Pins sind bidirektional (INPUT/OUTPUT konfigurierbar).
Vollständige Pin-Tabelle
| # | Bezeichnung | GPIO | Primärfunktion | Weitere Funktionen |
|---|---|---|---|---|
| 1 | IO08 | GPIO 8 | I2C SDA (OLED) | Digital I/O |
| 2 | IO09 | GPIO 9 | I2C SCL (OLED) | Digital I/O |
| 3 | IO0 | GPIO 0 | Digital I/O | ADC0 |
| 4 | IO1 | GPIO 1 | Digital I/O | ADC1 |
| 5 | IO2 | GPIO 2 | Digital I/O ⚠️ | ADC2, Strapping-Pin |
| 6 | IO3 | GPIO 3 | Digital I/O | ADC3 |
| 7 | IO4 | GPIO 4 | Digital I/O ⚠️ | ADC4, SPI SCK, JTAG TMS |
| 8 | IO5 | GPIO 5 | Digital I/O ⚠️ | ADC5, SPI MISO, JTAG TDI |
| 9 | IO6 | GPIO 6 | Digital I/O ⚠️ | SPI MOSI, JTAG TCK |
| 10 | IO7 | GPIO 7 | Digital I/O ⚠️ | SPI SS, JTAG TDO |
| 11 | IO10 | GPIO 10 | Digital I/O | – |
| 12 | IO20 | GPIO 20 | UART0 RX ⚠️ | Serial Konsole |
| 13 | IO21 | GPIO 21 | UART0 TX ⚠️ | Serial Konsole |
Analog-Inputs (ADC)
| GPIO | ADC-Kanal |
|---|---|
| GPIO 0 | A0 |
| GPIO 1 | A1 |
| GPIO 2 | A2 |
| GPIO 3 | A3 |
| GPIO 4 | A4 |
| GPIO 5 | A5 |
Hinweis: Der ADC des ESP32-C3 hat eine bekannte Nichtlinearität bei Spannungen nahe 0 V und nahe 3,3 V. Für präzise Messungen empfiehlt sich eine Kalibrierung oder ein externer ADC.
Sichere Pins für allgemeine Nutzung ✅
Diese Pins können ohne Einschränkungen als digitale I/O, ADC oder PWM genutzt werden:
GPIO 0 · GPIO 1 · GPIO 3 · GPIO 8 (OLED SDA) · GPIO 9 (OLED SCL) · GPIO 10
- Kein Boot-Sequence-Involvement
- Keine Flash/PSRAM-Verbindungen
- Keine USB- oder JTAG-Konflikte
- Frei zuweisbar ohne Probleme
Pins mit Vorsicht verwenden
Diese Pins haben Sonderfunktionen, die bei falscher Nutzung zu Boot-Problemen oder dem Verlust der seriellen Verbindung führen können:
| Pin | Label | Problem | Typ |
|---|---|---|---|
| GPIO 2 | – | Muss beim Boot HIGH sein – wenn LOW beim Reset, kann der normale Flash-Boot fehlschlagen | ⚠️ Strapping |
| GPIO 4 | MTMS | JTAG TMS für Debugging; Quad-SPI Flash IO (Hold Data Line) in internen Flash-Varianten | 🔗 JTAG |
| GPIO 5 | MTDI | JTAG TDI; Quad-SPI Flash IO (Write-Protect Data Line) | 🔗 JTAG |
| GPIO 6 | MTCK | JTAG TCK; stellt Flash-Clock in internen Flash-Varianten bereit | 🔗 JTAG |
| GPIO 7 | MTDO | JTAG TDO; Quad-SPI Flash IO (Data Line) | 🔗 JTAG |
| GPIO 20 | U0RXD | UART0 Receive – Repurposing deaktiviert die serielle Programmierung und Debug-Logs | 📡 UART |
| GPIO 21 | U0TXD | UART0 Transmit – Repurposing deaktiviert die serielle Konsolenausgabe | 📡 UART |
Faustregel: GPIO 4–7 nur nutzen, wenn kein JTAG-Debugging benötigt wird und die JTAG-Pins bewusst freigegeben wurden. GPIO 20/21 am besten für UART-Kommunikation reservieren.
Flash- & Upload-Konfiguration
Für fortgeschrittene Nutzer und bei CI/CD-Workflows relevante Werte:
| Einstellung | Wert |
|---|---|
| Bootloader-Tool | esptool_py |
| Upload-Tool | esptool_py |
| OTA-Uploader | esp_ota |
| Bootloader-Adresse | 0x0 |
| Flash-Modus | QIO |
| Boot-Modus | QIO |
| Maximale Sketch-Größe | 1.280 KB (1.310.720 Bytes) |
| Maximale Datengröße | 320 KB (327.680 Bytes) |
Partitionstabelle (Standard):
- Bootloader:
0x0 - Partitionstabelle:
0x8000 - Boot-App:
0xe000 - Firmware:
0x10000
Die maximale Sketch-Größe von 1.280 KB ist für die meisten IoT-Projekte ausreichend. Bei sehr großen Projekten mit vielen Bibliotheken kann eine angepasste Partitionstabelle notwendig sein.
Erstes Programm: Hello World auf dem OLED
Benötigte Bibliothek
In der Arduino IDE unter Sketch → Bibliothek einbinden → Bibliotheken verwalten nach Adafruit SSD1306 suchen und installieren (inklusive der Abhängigkeit Adafruit GFX Library).
Code
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// WICHTIG: Korrekte Auflösung für das 0,42"-Display angeben
#define SCREEN_WIDTH 72
#define SCREEN_HEIGHT 40
// I2C-Pins des Boards
#define OLED_SDA 8
#define OLED_SCL 9
// Reset-Pin (-1 = kein externer Reset)
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
Serial.begin(115200);
// I2C mit korrekten Pins initialisieren
Wire.begin(OLED_SDA, OLED_SCL);
// Display starten (I2C-Adresse 0x3C)
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("SSD1306 nicht gefunden!");
while (true);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println("Semaf");
display.println("Electronics");
display.println("Wien :)");
display.display();
}
void loop() {
// Hier eigene Logik einfügen
}
Sensor-Wert anzeigen (Beispiel)
void showValue(float temperatur, float luftfeuchtigkeit) {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.print("Temp: ");
display.print(temperatur, 1);
display.println(" C");
display.setCursor(0, 12);
display.print("Hum: ");
display.print(luftfeuchtigkeit, 1);
display.println(" %");
display.display();
}
ESPHome-Konfiguration für das OLED
i2c:
sda: GPIO8
scl: GPIO9
scan: true
display:
- platform: ssd1306_i2c
model: "SSD1306 72x40"
address: 0x3C
lambda: |-
it.print(0, 0, id(my_font), "Hallo!");
Typische Anwendungsfälle
Dank WLAN, BLE 5.0, kompaktem Formfaktor und integriertem Display eignet sich dieses Board für eine Vielzahl von Projekten:
Für Einsteiger:
- Wetterstation mit lokalem Display (Temperatur, Luftfeuchtigkeit)
- WLAN-Statusanzeige für das Heimnetz
- Einfacher MQTT-Client mit Statusdisplay
Für Fortgeschrittene:
- Home-Assistant-Integration via ESPHome
- BLE-Beacon mit Statusanzeige
- Smarter Türklingel-Sensor
- CO₂-Monitor für Innenräume
- Wearable-Projekte und tragbare Gadgets
Für Profis:
- Industrieller IoT-Sensor-Node (Temperatur, Druck, Vibration)
- Badge-Projekte für Maker-Events oder Konferenzen
- OTA-Update-fähige Firmware mit Statusanzeige
- Matter/Thread-Gerät (via ESP-IDF)
Vergleich: Welches Board passt zu deinem Projekt?
| Board | CPU | Kerne | Display | WLAN | BT | Flash | Preis (Semaf) |
|---|---|---|---|---|---|---|---|
| ESP32-C3 OLED 0,42" | RISC-V 160 MHz | 1 | ✅ 72×40 OLED | ✅ 2,4 GHz | BT 5.0 | 4 MB | 5,00 € |
| ESP32-C3 (ohne Display) | RISC-V 160 MHz | 1 | ❌ | ✅ 2,4 GHz | BT 5.0 | 4 MB | ~3–4 € |
| ESP32-C6 | RISC-V 160 MHz | 1 (+LP-Core) | ❌ | ✅ 2,4 GHz + Wi-Fi 6 | BT 5.3 | 4–8 MB | ~5–7 € |
| ESP32-S3 | Xtensa 240 MHz | 2 | ❌ | ✅ 2,4 GHz | BT 5.0 | 4–16 MB | ~5–8 € |
Was bedeutet das in der Praxis?
ESP32-C3 ohne Display kostet 1–2 € weniger – aber ein externes 0,42"- oder 0,96"-OLED-Modul kostet 3–5 € extra, braucht Verdrahtung und mehr Platz. Das OLED-Board für 5,00 € ist in vielen Projekten die günstigere und kompaktere Gesamtlösung.
ESP32-C6 ist sinnvoll wenn Wi-Fi 6 (802.11ax), Zigbee, Thread oder Matter-Protokolle benötigt werden – etwa für moderne Smart-Home-Integrationen. Für klassische WLAN/BLE-Projekte bringt er keinen Mehrwert, kostet aber mehr.
ESP32-S3 punktet mit zwei Xtensa-Kernen und deutlich mehr Rechenleistung – sinnvoll für TensorFlow Lite Micro, Audio-Verarbeitung oder USB-HID-Projekte. Für einfache IoT-Nodes oder Sensor-Displays ist er überdimensioniert und teurer.
Fazit: Für Projekte, die ein kompaktes Board mit Display, WLAN und BLE benötigen, ist der ESP32-C3 OLED für 5,00 € das beste Preis-Leistungs-Verhältnis im Segment – kein anderes Board liefert ein fertig integriertes Display zu diesem Preis.
Datenblätter & Ressourcen
Alle technischen Dokumente zum Board und zum verwendeten Mikrocontroller:
| Dokument | Beschreibung | Link |
|---|---|---|
| Board Datasheet | Technische Spezifikationen des Boards | Download (GitHub) |
| ESP32-C3 Datasheet | Offizielle Espressif Spezifikation | Download (Espressif) |
| Board-Schaltplan | ESP32-C3 OLED Schematic | Download (GitHub) |
| Arduino ESP32 | Espressif Arduino Core Docs | docs.espressif.com |
| ESPHome ESP32 | ESPHome Konfigurationsreferenz | esphome.io |
Wo kaufen?
Das ESP32-C3 mit 0,42" OLED Display ist bei Semaf Electronics in Wien erhältlich – offizieller Raspberry Pi Approved Reseller mit breitem Sortiment an ESP32-Boards, Sensoren und Zubehör:
👉 ESP32-C3 mit OLED Display 0,42 Zoll – 5,00 € bei Semaf Electronics
Lagerware Wien · Schneller Versand innerhalb Österreichs und der EU · Persönliche Beratung vor Ort
Fazit
Der ESP32-C3 mit 0,42" OLED-Display ist ein durchdachtes, kompaktes Entwicklungsboard das sich durch ein außergewöhnliches Preis-Leistungs-Verhältnis auszeichnet. Für 5,00 € bekommt man einen modernen RISC-V-Mikrocontroller mit WLAN, BLE 5.0, 4 MB Flash und einem direkt integrierten Display – ohne Lötarbeit, ohne Extrakosten für ein Display-Modul.
Die breite Unterstützung durch Arduino, PlatformIO und ESPHome senkt die Einstiegshürde erheblich. Wer noch keine Entwicklungsumgebung installiert hat, kann sofort mit dem ESP32 Web Flasher starten.
Egal ob smarter Sensor, Wearable, Home-Assistant-Node oder Maker-Badge – dieses Board gehört in jede Bastelkiste.
Erhältlich bei Semaf Electronics Wien – electronics.semaf.at · 5,00 €