Skip to Content

Carte ESP32-C3 SuperMini

Carte ESP32-C3 SuperMini

L’ESP32-C3 SuperMini est une petite carte de développement sympa et bon marché, mais la documentation est un peu rare et difficile à trouver. Dans ce tutoriel, vous apprendrez à démarrer avec cette carte.

Plus précisément, vous apprendrez à installer le core ESP32 afin de pouvoir programmer la carte via l’IDE Arduino. Nous examinerons également de plus près le brochage et je vous fournirai quelques circuits et codes d’exemple pour expérimenter.

Pièces requises

Vous pouvez vous procurer la carte ESP32-C3 SuperMini sur AliExpress ou une carte très similaire sur Amazon, où elle s’appelle « ESP32-C3 Mini ». Cependant, la carte Amazon possède une LED RGB, tandis que la carte AliExpress a seulement une LED rouge et une LED bleue. J’ai mis les liens des deux ci-dessous. Vous aurez aussi besoin d’un câble USB-C et d’une breadboard avec quelques fils Dupont pour faire des essais.

ESP32-C3 SuperMini

ESP32-C3 Mini

Câble USB C

Dupont wire set

Set de fils Dupont

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.

Caractéristiques de l’ESP32-C3 SuperMini

L’ESP32-C3 SuperMini est une petite carte de développement (22,52×18 mm) pour l’IoT, basée sur l’Espressif ESP32-C3. Elle intègre un processeur RISC-V 32 bits monocœur jusqu’à 160 MHz, avec 400 Ko de SRAM, 384 Ko de ROM et une mémoire flash intégrée de 4 Mo. La consommation d’énergie est assez faible, avec 43 µA en mode deep sleep.

La carte supporte les protocoles WiFi 802.11b/g/n à 2,4 GHz avec les modes Station, SoftAP, SoftAP+Station et mode mixte, ainsi que le Bluetooth 5.0.

Côté entrées/sorties, la carte offre 1 x I2C, 1 x SPI, 2 x UART, 11 x GPIO (PWM) et 4 x ADC. L’image ci-dessous montre le recto et le verso de la carte :

Front and Back of ESP32-C3 SuperMini board
Recto et verso de la carte ESP32-C3 SuperMini

Vous remarquerez que la carte possède un bouton BOOT et un bouton RST. À côté du bouton reset se trouve une LED d’alimentation rouge et à côté du bouton bootloader une LED bleue programmable connectée au GPIO 8.

Brochage

L’image suivante montre le brochage de la carte, avec les interfaces POWER, GPIO, I2C et SPI indiquées :

Pinout of ESP32-C3 SuperMini
Brochage de l’ESP32-C3 SuperMini (source)

L’alimentation se fait soit via USB-C, soit en fournissant 3,3-6 V sur la broche 5V et la masse sur la broche GND. B Mais ne connectez pas USB-C et 5V en même temps ! Notez aussi que la carte utilise une logique 3,3 V.

Installation du Core ESP32

Si c’est votre premier projet avec une carte de la série ESP32, vous devrez d’abord installer le core ESP32. Si les cartes ESP32 sont déjà installées dans votre IDE Arduino, vous pouvez passer cette section.

Commencez par ouvrir la boîte de dialogue Préférences en sélectionnant “Preferences…” dans le menu “File”. Cela ouvrira la fenêtre de préférences ci-dessous.

Sous l’onglet Settings, vous trouverez un champ de saisie en bas de la fenêtre intitulé “Additional boards manager URLs“ :

Dans ce champ, copiez l’URL suivante :

https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json

Cela permettra à l’IDE Arduino de savoir où trouver les bibliothèques du core ESP32. Ensuite, nous installerons ces bibliothèques via le Boards Manager.

Ouvrez le Boards Manager via « Tools -> Boards -> Board Manager ». Le gestionnaire de cartes apparaîtra dans la barre latérale gauche. Tapez « ESP32 » dans le champ de recherche en haut et vous verrez deux types de cartes ESP32 : les « Arduino ESP32 Boards » et les « esp32 par Espressif ». Nous voulons les bibliothèques esp32 par Espressif. Cliquez sur le bouton INSTALL et attendez que le téléchargement et l’installation soient terminés.

Install ESP32 Core libraries
Installer les bibliothèques Core ESP32

Sélection de la carte ESP32C3 Dev Module

Enfin, il faut sélectionner une carte ESP32. Pour l’ESP32-C3 SuperMini, choisissez la carte générique « ESP32C3 Dev Module ». Pour cela, cliquez sur le menu déroulant puis sur « Select other board and port… »:

Drop-down Menu for Board Selection
Menu déroulant pour la sélection de la carte

Cela ouvrira une fenêtre où vous pourrez taper « esp32c3 » dans la barre de recherche. Vous verrez la carte « ESP32C3 Dev Module » dans la liste. Cliquez dessus, sélectionnez le port COM pour l’activer, puis cliquez sur OK :

Board Selection Dialog with ESP32C3 Dev Module
Dialogue de sélection de carte avec ESP32C3 Dev Module

Vous pouvez aussi choisir la plus récente « Nologo ESP32C3 Super Mini« , si elle est disponible. Vous la verrez dans la capture d’écran ci-dessus (2 lignes en dessous de ESP32C3 Dev Module).

Notez qu’il faut connecter la carte via le câble USB à votre ordinateur avant de pouvoir sélectionner un port COM.

Activation de la communication série

Pour permettre la communication série avec l’ESP32-C3 SuperMini, assurez-vous que « USB CDC On Boot » est activé. Ce réglage se trouve dans « Tools -> USB CDC On Boot » :

Enabling USB CDC On Boot
Activation de USB CDC On Boot

Si ce réglage est désactivé, le Moniteur Série ne fonctionnera pas, par exemple !

Si vous avez des problèmes pour flasher la SuperMini, maintenez le bouton BOOT enfoncé, puis
appuyez sur le bouton RESET, relâchez RESET, puis relâchez BOOT. Cela met la SuperMini en mode téléchargement. En général, ce n’est pas nécessaire.

De même, si le programme flashé ne s’exécute pas après le téléchargement, appuyez et relâchez le bouton RESET. Là encore, ce n’est généralement pas nécessaire.

Exemples

Dans cette section, vous trouverez quelques exemples de code pour tester votre SuperMini :

Exemple de code : Blink

L’exemple suivant est le classique Blink qui fera clignoter la LED bleue intégrée de la SuperMini, connectée au GPIO 8 :

#define LED 8 // Blue LED

void setup() {
  pinMode(LED, OUTPUT);
}

void loop() {
  digitalWrite(LED, LOW);
  delay(1000);
  digitalWrite(LED, HIGH);
  delay(1000);
}

Exemple de code : Scan Wi-Fi

Cet exemple du Manual montre comment scanner votre réseau Wi-Fi local :

#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);
}

Exemple de code : OLED sur I2C

L’interface I2C de la SuperMini est sur les broches 8 (SDA) et 9 (SCL). L’image ci-dessous montre comment connecter un écran OLED, par exemple :

Connexion OLED à la SuperMini via I2C

Voici le code pour tester le câblage et l’OLED. Il affiche simplement le texte « make » sur l’écran. Notez que vous devrez installer la 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);
}

Si vous souhaitez connecter un écran LCD à la place, consultez le How to synchronize ESP32 clock with SNTP server tutoriel, qui exploite aussi la capacité Wi-Fi de la SuperMini.

Exemple de code : écran E-Paper sur SPI

Pour finir, nous allons contrôler un écran E-Paper via l’interface SPI de la SuperMini. Le schéma de câblage ci-dessous montre comment connecter un 4.2″ e-Paper Display aux broches SPI :

Connecting e-Paper to SuperMini via SPI
Connexion e-Paper à la SuperMini via SPI

Voici un tableau récapitulatif des connexions pour plus de commodité. Notez que vous pouvez alimenter l’écran en 3,3 V ou 5 V, mais les lignes de données SPI doivent être en 3,3 V ! Pour plus de sécurité, utilisez 3,3 V pour l’alimentation.

Écran e-PaperESP32-C3 SuperMini
CS/SS7
SCL/SCK4
SDA/DIN/MOSI6
BUSY1
RES/RST2
DC0
VCC3.3V
GNDG

Les broches SPI matérielles pour la SuperMini sont 5 (MISO), 6 (MOSI), 7 (CS/SS) et 4 (SCK/SCL). Les autres broches sont libres.

Avant de pouvoir dessiner sur l’écran e-Paper, vous devrez installer deux bibliothèques. La Adafruit_GFX bibliothèque graphics, qui fournit un ensemble commun de primitives graphiques (texte, points, lignes, cercles, etc.). Et la GxEPD2 bibliothèque, qui fournit le pilote graphique pour l’écran E-Paper.

L’exemple de code suivant utilise ces bibliothèques pour afficher le texte « Makerguides » sur l’écran :

#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() {}

Si vous souhaitez réaliser quelque chose de plus intéressant, consultez les tutoriels Monthly Calendar on E-Paper Display et Analog Clock on e-Paper Display.

Conclusions

Dans cet article, vous avez appris à utiliser l’ESP32-C3 SuperMini. Le SuperMini est idéal pour les projets IoT nécessitant un petit format mais aussi le Wi-Fi ou le Bluetooth. Grâce à sa faible consommation en deep sleep, c’est aussi une bonne carte pour les projets sur batterie. Son principal inconvénient est le nombre relativement réduit de broches GPIO.

Bon bricolage ; )

Schémas

Les sections suivantes montrent les schémas pour l’alimentation, les boutons et LEDs, ainsi que le microcontrôleur de la carte ESP32-C3 SuperMini.

Alimentation

Schematics for Power Supply
Schéma de l’alimentation

Microcontrôleur

Schematics for Microcontroller
Schéma du microcontrôleur

Boutons et LEDs

Schematics for Buttons and LEDs
Schéma des boutons et LEDs

Connecteurs à broches

Schematics for Pin Headers
Schéma des connecteurs à broches