Les broches libres
Les GPIO 0, 1, 3, 4, 5, 6, 7 et 10 n’ont aucun rôle au démarrage. Les GPIO 4 à 7 sont aussi les broches JTAG, utiles seulement avec un débogueur externe, car la carte se programme et se débogue par l’USB de la puce. Les GPIO 18 et 19 portent cette liaison USB et ne sont pas sur le connecteur.
GPIO 2, 8 et 9 : broches de strapping
L’ESP32-C3 lit ces trois broches au reset. Le GPIO9 a un pull-up et est relié au bouton BOOT : à l’état BAS au reset, la puce passe en mode téléchargement. Le GPIO8 doit être à l’état HAUT pour le mode téléchargement et, sur la plupart des cartes, commande la LED bleue. Espressif recommande de garder le GPIO2 à l’état HAUT au reset. Une fois le programme lancé, ce sont des broches normales ; évitez seulement de brancher ce qui les force à l’état BAS à la mise sous tension.
| GPIO | Valeur au reset | Ce qu’il sélectionne | En pratique |
|---|---|---|---|
| 2 | Flottant | Ne décide pas du démarrage, mais Espressif recommande un pull-up | Gardez-le à l’état HAUT au reset |
| 8 | Flottant | Doit être HAUT pour entrer en mode téléchargement | Ne le maintenez pas à l’état BAS à la mise sous tension |
| 9 | Pull-up faible (HAUT) | Mode de démarrage : HAUT lance le programme, BAS passe en mode téléchargement | Bouton BOOT ; rien d’autre ne doit le maintenir à l’état BAS |
GPIO 20 et 21 : UART0
Ce sont le RX et le TX de l’UART0 de la puce. La programmation passe par le port USB natif, et Serial utilise l’USB ou ces broches selon l’option « USB CDC On Boot » d’Arduino-ESP32. Au reset, les messages de démarrage de la ROM sortent sur le GPIO21.
Entrées analogiques et veille profonde
L’ADC1 est sur les GPIO 0 à 4. Le GPIO5 est sur l’ADC2, qu’ESP-IDF et Arduino-ESP32 ne prennent pas en charge sur l’ESP32-C3 : faites donc les lectures analogiques sur les GPIO 0 à 4, qui fonctionnent aussi avec le Wi-Fi activé. Seuls les GPIO 0 à 5 peuvent réveiller la puce de la veille profonde (deep sleep).
Alimentation et clones
La carte prend le 5 V de l’USB-C ou de la broche 5V et a un petit régulateur 3,3 V. Aucun circuit ne sépare les deux sources de 5 V : ne branchez donc pas les deux en même temps. Le régulateur et son courant changent d’un fabricant à l’autre, de 250 à 500 mA selon les documents des vendeurs : donnez aux charges importantes leur propre alimentation. Beaucoup de cartes ont aussi une antenne céramique peu performante : si la portée Wi-Fi est mauvaise, l’antenne est plus souvent en cause que la puce.
Le schéma suit chaque rangée depuis l’extrémité USB. Les étiquettes sont imprimées au dos : la rangée qui se trouve à gauche ou à droite dépend donc du côté d’où vous regardez. Vérifiez les étiquettes de votre carte.
Tableau complet des broches de l’ESP32-C3 SuperMini
| Broche | GPIO | État | Analogique | Fonctions | Notes |
|---|---|---|---|---|---|
| L8 | GPIO0 | Libre | ADC1_CH0 | RTC_GPIO0, PWM (LEDC), XTAL_32K_P | quartz 32 kHz |
| L7 | GPIO1 | Libre | ADC1_CH1 | RTC_GPIO1, PWM (LEDC), XTAL_32K_N | quartz 32 kHz |
| L6 | GPIO2 | Avec précaution | ADC1_CH2 | RTC_GPIO2, PWM (LEDC) | strapping |
| L5 | GPIO3 | Libre | ADC1_CH3 | RTC_GPIO3, PWM (LEDC) | Aucune restriction |
| L4 | GPIO4 | Libre | ADC1_CH4 | RTC_GPIO4, PWM (LEDC), MTMS (JTAG) | JTAG, SPI SCK |
| R1 | GPIO5 | Libre | ADC2_CH0 | RTC_GPIO5, PWM (LEDC), MTDI (JTAG) | ADC2 non pris en charge, JTAG, SPI MISO (RX) |
| R2 | GPIO6 | Libre | Non | PWM (LEDC), MTCK (JTAG) | JTAG, SPI MOSI (TX) |
| R3 | GPIO7 | Libre | Non | PWM (LEDC), MTDO (JTAG) | JTAG, SPI CS |
| R4 | GPIO8 | Avec précaution | Non | PWM (LEDC) | strapping, LED, I²C SDA |
| R5 | GPIO9 | Avec précaution | Non | PWM (LEDC) | strapping, bouton BOOT, I²C SCL |
| R6 | GPIO10 | Libre | Non | PWM (LEDC) | Aucune restriction |
| R7 | GPIO20 | Avec précaution | Non | PWM (LEDC), U0RXD | UART0, UART RX |
| R8 | GPIO21 | Avec précaution | Non | PWM (LEDC), U0TXD | UART0, UART TX |
Broches par défaut de la SuperMini dans Arduino-ESP32 : I²C sur 8 (SDA) et 9 (SCL), SPI sur 4 (SCK), 5 (MISO), 6 (MOSI) et 7 (SS), UART sur 20 (RX) et 21 (TX). Grâce à la matrice GPIO, vous pouvez les déplacer sur n’importe quelle broche.
Questions fréquentes
Sur quel GPIO est la LED de l’ESP32-C3 SuperMini ?
Sur le GPIO8 pour la plupart des cartes. Elle s’allume quand la broche est à l’état BAS : digitalWrite(8, LOW) l’allume donc. Le GPIO8 est aussi une broche de strapping, ce qui ne pose pas de problème pour une LED. Cela varie selon les clones : vérifiez avec un sketch de clignotement.
Comment mettre l’ESP32-C3 SuperMini en mode téléchargement ?
Maintenez BOOT (GPIO9), appuyez sur RESET et relâchez-le, puis relâchez BOOT. Si le téléversement échoue parce que votre sketch a planté ou reconfiguré l’USB, la puce revient ainsi à son bootloader.
Quelles broches de l’ESP32-C3 SuperMini sont analogiques ?
Les GPIO 0 à 4, sur l’ADC1. Le GPIO5 est sur l’ADC2, qui n’est pas pris en charge sur l’ESP32-C3 : il ne sert donc pas pour les lectures analogiques.
Quelles sont les broches I2C et SPI de l’ESP32-C3 SuperMini ?
Dans Arduino-ESP32, la carte SuperMini utilise le GPIO8 pour SDA et le GPIO9 pour SCL, et les GPIO 4, 5, 6 et 7 pour SCK, MISO, MOSI et SS. Les GPIO 8 et 9 sont des broches de strapping, mais les pull-up de l’I²C les tiennent à l’état HAUT, exactement ce qu’il faut pour un démarrage normal.
Les broches de l’ESP32-C3 SuperMini tolèrent-elles le 5 V ?
Non. Les GPIO de l’ESP32-C3 fonctionnent en 3,3 V et ne sont pas garantis pour le 5 V. Pour les signaux 5 V, utilisez un convertisseur de niveaux logiques ou un pont diviseur résistif.