ESP32-C3 mit 0,42" OLED Display – Das kompakte RISC-V IoT-Board im Detail

ESP32-C3 mit 0,42" OLED Display
ESP32-C3 mit 0,42" OLED Display

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

  1. Was ist der ESP32-C3?
  2. Technische Spezifikationen
  3. Das eingebaute OLED-Display
  4. Schnellstart: Firmware flashen ohne Installation
  5. Entwicklungsumgebung einrichten
  6. Pinout & GPIO-Übersicht
  7. Pins mit Vorsicht verwenden
  8. Flash- & Upload-Konfiguration
  9. Erstes Programm: Hello World auf dem OLED
  10. Typische Anwendungsfälle
  11. Vergleich: Welches Board passt zu deinem Projekt?
  12. Datenblätter & Ressourcen
  13. 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:

  1. Board per Micro-USB anschließen
  2. Web Flasher im Browser öffnen
  3. Board auswählen und Firmware-Datei hochladen
  4. 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

  1. Arduino IDE 2 installieren (falls noch nicht vorhanden)
  2. Im Boardverwalter (Werkzeuge → Board → Boardverwalter) nach esp32 by Espressif suchen und installieren
  3. 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 €

Semaf Electronics abonnieren

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Abonnieren