Skip to Content

ESP32-C3 SuperMini Board

ESP32-C3 SuperMini Board

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 wire set

Dupont-Kabel-Set

Half_breadboard56a

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:

Front and Back of ESP32-C3 SuperMini board
Vorder- und Rückseite des ESP32-C3 SuperMini 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:

Pinout of ESP32-C3 SuperMini
Pinout des ESP32-C3 SuperMini (source)

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.

Install ESP32 Core libraries
ESP32 Core Bibliotheken installieren

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…“:

Drop-down Menu for Board Selection
Dropdown-Menü zur Board-Auswahl

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:

Board Selection Dialog with ESP32C3 Dev Module
Board-Auswahl-Dialog mit ESP32C3 Dev Module

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“:

Enabling USB CDC On Boot
USB CDC On Boot aktivieren

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:

OLED an SuperMini über I2C anschließen

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:

Connecting e-Paper to SuperMini via SPI
E-Paper an SuperMini über SPI anschließen

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 DisplayESP32-C3 SuperMini
CS/SS7
SCL/SCK4
SDA/DIN/MOSI6
BUSY1
RES/RST2
DC0
VCC3,3V
GNDG

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

Schematics for Power Supply
Schaltplan für Stromversorgung

Mikrocontroller

Schematics for Microcontroller
Schaltplan für Mikrocontroller

Tasten und LEDs

Schematics for Buttons and LEDs
Schaltplan für Tasten und LEDs

Pin-Header

Schematics for Pin Headers
Schaltplan für Pin-Header