Der ESP32-C3 SuperMini ist ein schönes, günstiges, kleines Entwicklungsboard, aber die Dokumentation ist etwas spärlich und schwer zu finden. In diesem Tutorial lernst du, wie du mit diesem Board startest.
Genauer gesagt lernst du, wie du den ESP32 Core installierst, damit du das Board über die Arduino IDE programmieren kannst. Wir werfen auch einen genaueren Blick auf das Pinout und ich gebe dir einige Beispielschaltungen und Code zum Ausprobieren.
Benötigte Teile
Du kannst das ESP32-C3 SuperMini Board bei AliExpress oder ein sehr ähnliches Board bei Amazon bekommen, wo es „ESP32-C3 Mini“ genannt wird. Das Amazon-Board hat jedoch eine RGB-LED, während das AliExpress-Board nur eine rote und eine blaue LED hat. Ich habe beide unten verlinkt. Du benötigst außerdem ein USB-C-Kabel und ein Breadboard mit einigen Dupont-Kabeln, um Dinge auszuprobieren.

ESP32-C3 SuperMini

ESP32-C3 Mini

USB-C Kabel

Dupont-Kabel-Set

Breadboard
Makerguides is a participant in affiliate advertising programs designed to provide a means for sites to earn advertising fees by linking to Amazon, AliExpress, Elecrow, and other sites. As an Affiliate we may earn from qualifying purchases.
Eigenschaften des ESP32-C3 SuperMini
Der ESP32-C3 SuperMini ist ein kleines (22,52x18mm) Entwicklungsboard für IoT, basierend auf dem Espressif ESP32-C3. Es enthält einen 32-Bit RISC-V Single-Core Prozessor mit bis zu 160 MHz und verfügt über 400KB SRAM, 384KB ROM und einen eingebauten 4M Flash. Der Stromverbrauch ist recht niedrig, mit 43µA im Deep-Sleep-Modus.
Das Board unterstützt WiFi 802.11b/g/n Protokolle bei 2,4 GHz mit Station-Modus, SoftAP-Modus, SoftAP+Station-Modus und gemischtem Modus sowie Bluetooth 5.0.
Bezüglich der IO bietet das Board 1 x I2C, 1 x SPI, 2 x UART, 11 x GPIO (PWM) und 4 x ADC Schnittstellen. Das Bild unten zeigt die Vorder- und Rückseite des Boards:

Du wirst feststellen, dass das Board einen BOOT- und einen RST-Knopf hat. Neben dem Reset-Knopf befindet sich eine rote Power-LED und neben dem Knopf für den Bootloader eine programmierbare blaue LED, die mit GPIO 8 verbunden ist.
Pinout
Das folgende Bild zeigt das Pinout des Boards, mit markierten POWER-, GPIO-, I2C- und SPI-Schnittstellen:

Die Stromversorgung erfolgt entweder über USB-C oder durch Anlegen von 3,3-6V am 5V-Pin und Masse am GND-Pin. B Aber verbinde USB-C und 5V nicht gleichzeitig! Beachte auch, dass das Board mit 3,3V Logik arbeitet.
Installation des ESP32 Core
Wenn dies dein erstes Projekt mit einem Board der ESP32-Serie ist, musst du zuerst den ESP32 Core installieren. Wenn ESP32 Boards bereits in deiner Arduino IDE installiert sind, kannst du diesen Abschnitt überspringen.
Beginne, indem du den Preferences-Dialog öffnest, indem du „Preferences…“ im „Datei“-Menü auswählst. Dadurch öffnet sich der unten gezeigte Preferences-Dialog.
Unter dem Reiter Einstellungen findest du unten im Dialog ein Eingabefeld mit der Bezeichnung „Zusätzliche Board-Manager-URLs“:

In dieses Eingabefeld kopiere die folgende URL:
https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json
Dies teilt der Arduino IDE mit, wo sie die ESP32 Core Bibliotheken finden kann. Als nächstes installieren wir die ESP32 Core Bibliotheken über den Boards Manager.
Öffne den Boards Manager über „Werkzeuge -> Boards -> Board Manager“. Der Boards Manager erscheint in der linken Seitenleiste. Gib „ESP32“ in das Suchfeld oben ein und du solltest zwei Arten von ESP32 Boards sehen; die „Arduino ESP32 Boards“ und die „esp32 von Espressif“ Boards. Wir wollen die esp32 Bibliotheken von Espressif. Klicke auf den INSTALL Button und warte, bis der Download und die Installation abgeschlossen sind.

Auswahl des ESP32C3 Dev Module Boards
Schließlich müssen wir ein ESP32 Board auswählen. Im Fall des ESP32-C3 SuperMini wählen wir das generische „ESP32C3 Dev Module“. Klicke dazu auf das Dropdown-Menü und dann auf „Select other board and port…“:

Es öffnet sich ein Dialog, in dem du „esp32c3“ in die Suchleiste eingeben kannst. Du siehst das „ESP32C3 Dev Module“ Board unter Boards. Klicke darauf und wähle den COM-Port aus, um es zu aktivieren, und klicke dann auf OK:

Alternativ kannst du auch das neuere „Nologo ESP32C3 Super Mini“ auswählen, falls verfügbar. Du siehst es im Screenshot oben (zwei Zeilen unter dem ESP32C3 Dev Module).
Beachte, dass du das Board über das USB-Kabel mit deinem Computer verbinden musst, bevor du einen COM-Port auswählen kannst.
Serielle Kommunikation aktivieren
Um serielle Kommunikation mit dem ESP32-C3 SuperMini zu ermöglichen, stelle sicher, dass „USB CDC On Boot“ aktiviert ist. Diese Einstellung findest du unter „Tools-> USB CDC On Boot“:

Wenn diese Einstellung deaktiviert ist, funktioniert der Serial Monitor zum Beispiel nicht!
Wenn du Probleme beim Flashen des SuperMini hast, halte die BOOT-Taste gedrückt, drücke dann die RESET-Taste, lasse die RESET-Taste los und dann die BOOT-Taste. Dadurch versetzt du den SuperMini in den Download-Modus. Normalerweise ist das aber nicht erforderlich.
Ebenso, wenn das geflashte Programm nach dem Download nicht läuft, drücke und lasse die RESET-Taste los. Auch das ist normalerweise nicht nötig.
Beispiele
In diesem Abschnitt findest du einige Codebeispiele, um deinen SuperMini zu testen:
Codebeispiel: Blink
Das folgende Beispiel ist das klassische Blink-Programm, das die blaue, onboard LED des SuperMini, die mit GPIO 8 verbunden ist, blinken lässt:
#define LED 8 // Blue LED
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
digitalWrite(LED, LOW);
delay(1000);
digitalWrite(LED, HIGH);
delay(1000);
}
Codebeispiel: Wi-Fi Scan
Dieses Beispiel zeigt, wie du dein lokales Wi-Fi Netzwerk scannen kannst:
#include "WiFi.h"
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
}
void loop() {
Serial.println("scan start");
int n = WiFi.scanNetworks();
Serial.println("scan done");
if (n == 0) {
Serial.println("no networks found");
} else {
Serial.print(n);
Serial.println(" networks found");
for (int i = 0; i < n; ++i) {
Serial.print(i + 1);
Serial.print(": ");
Serial.print(WiFi.SSID(i));
Serial.print(" (");
Serial.print(WiFi.RSSI(i));
Serial.print(")");
Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN) ? " " : "*");
}
delay(10);
}
Serial.println("");
delay(5000);
}
Codebeispiel: OLED über I2C
Die I2C-Schnittstelle des SuperMini befindet sich an den Pins 8 (SDA) und 9 (SCL). Das Bild unten zeigt, wie man zum Beispiel ein OLED-Display anschließt:

Hier ist der Code, um die Verkabelung und das OLED zu testen. Er schreibt einfach den Text „make“ auf das Display. Beachte, dass du die installieren musst.Adafruit_SSD1306 library.
#include "Adafruit_SSD1306.h"
Adafruit_SSD1306 oled(128, 64, &Wire, -1);
void setup() {
oled.begin(SSD1306_SWITCHCAPVCC, 0x3C);
oled.setTextSize(4);
oled.setTextColor(WHITE);
}
void loop() {
oled.clearDisplay();
oled.setCursor(20, 16);
oled.print("make");
oled.display();
delay(1000);
}
Wenn du stattdessen ein LCD anschließen möchtest, schau dir das How to synchronize ESP32 clock with SNTP server Tutorial an, das auch die Wi-Fi-Fähigkeiten des SuperMini nutzt.
Codebeispiel: E-Paper Display über SPI
Als letztes Beispiel steuern wir ein E-Paper Display über die SPI-Schnittstelle des SuperMini. Das folgende Schaltbild zeigt, wie man ein 4.2″ e-Paper Display an die SPI-Pins anschließt:

Unten eine Tabelle mit allen Verbindungen zur Übersicht. Beachte, dass du das Display mit 3,3V oder 5V versorgen kannst, aber die SPI-Datenleitungen müssen 3,3V sein! Um auf Nummer sicher zu gehen, verwende 3,3V für die Stromversorgung.
| E-Paper Display | ESP32-C3 SuperMini |
|---|---|
| CS/SS | 7 |
| SCL/SCK | 4 |
| SDA/DIN/MOSI | 6 |
| BUSY | 1 |
| RES/RST | 2 |
| DC | 0 |
| VCC | 3,3V |
| GND | G |
Die Hardware-SPI-Pins für den SuperMini sind 5 (MISO), 6 (MOSI), 7 (CS/SS) und 4 (SCK/SCL). Die anderen Pins sind frei wählbar.
Bevor du auf dem E-Paper Display zeichnen kannst, musst du zwei Bibliotheken installieren. Die Adafruit_GFX Grafikbibliothek, die eine gemeinsame Menge von Grafikprimitiven (Text, Punkte, Linien, Kreise usw.) bereitstellt. Und die GxEPD2 Bibliothek, die die Grafiktreiber-Software für das E-Paper Display bereitstellt.
Das folgende Codebeispiel verwendet diese Bibliotheken, um den Text „Makerguides“ auf dem Display auszugeben:
#include "GxEPD2_BW.h"
// hardware SPI
// #define MISO 5
// #define MOSI 6
// #define SCK 4
#define CS 7
#define DC 0
#define RST 2
#define BUSY 1
GxEPD2_BW<GxEPD2_420_GDEY042T81, GxEPD2_420_GDEY042T81::HEIGHT>
epd(GxEPD2_420_GDEY042T81(CS, DC, RST, BUSY));
void setup() {
epd.init(115200, true, 50, false);
epd.setRotation(1);
epd.setTextColor(GxEPD_BLACK);
epd.setTextSize(2);
epd.setFullWindow();
epd.fillScreen(GxEPD_WHITE);
epd.setCursor(90, 190);
epd.print("Makerguides");
epd.display();
epd.hibernate();
}
void loop() {}
Wenn du etwas Interessanteres programmieren möchtest, schau dir die Monthly Calendar on E-Paper Display und die Analog Clock on e-Paper Display Tutorials an.
Fazit
In diesem Beitrag hast du gelernt, wie man den ESP32-C3 SuperMini verwendet. Der SuperMini ist ideal für IoT-Projekte, die eine kleine Bauform, aber auch Wi-Fi oder Bluetooth benötigen. Aufgrund des niedrigen Deep-Sleep-Stroms ist es auch ein gutes Board für batteriebetriebene Projekte. Sein größter Nachteil ist die vergleichsweise geringe Anzahl an GPIO-Pins.
Viel Spaß beim Basteln ; )
Schaltpläne
Die folgenden Abschnitte zeigen die Schaltpläne für Stromversorgung, Tasten und LEDs sowie den Mikrocontroller des ESP32-C3 SuperMini Boards.
Stromversorgung

Mikrocontroller

Tasten und LEDs

Pin-Header


