Noms D et numéros GPIO
D0 à D3 sont les GPIO 2 à 5, D4 et D5 les GPIO 6 et 7 (I²C par défaut), D6 et D7 les GPIO 21 et 20 (UART), et D8 à D10 les GPIO 8 à 10 (SPI par défaut). Avec la carte XIAO_ESP32C3 sélectionnée dans Arduino-ESP32, les constantes D0 à D10 donnent le bon GPIO.
Broches de strapping sur D0, D8 et D9
Seeed prévient que le GPIO2 (D0), le GPIO8 (D8) et le GPIO9 (D9) sont des broches de strapping : un circuit qui les tient au mauvais niveau à la mise sous tension peut empêcher la carte de démarrer ou d’accepter un programme. Le GPIO9 est aussi le bouton BOOT. Une fois le programme lancé, elles fonctionnent normalement : utilisez-les plutôt pour des sorties ou le SPI que pour des capteurs qui pilotent la ligne à 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 |
Broches analogiques et veille profonde
D0, D1 et D2 (GPIO 2 à 4) sont sur l’ADC1. D3 (GPIO5) est sur l’ADC2, qu’ESP-IDF et Arduino-ESP32 ne prennent pas en charge sur l’ESP32-C3 : utilisez D0 à D2 pour les lectures analogiques. Seuls les GPIO 0 à 5 peuvent réveiller la puce de la veille profonde, soit D0 à D3 sur cette carte.
Alimentation, batterie et LED
La carte fonctionne sur USB-C ou sur une batterie lithium de 3,7 V, qu’elle charge à 380 mA au maximum. Seeed donne 500 mA pour la sortie 3,3 V dans ses spécifications (700 mA ailleurs sur la même page) et environ 44 µA en veille profonde. Il n’y a pas de LED utilisateur : la petite LED près du connecteur USB indique la charge.
Tableau complet des broches de la XIAO ESP32C3
| Broche | GPIO | État | Analogique | Fonctions | Notes |
|---|---|---|---|---|---|
| D0 | GPIO2 | Avec précaution | ADC1_CH2 | RTC_GPIO2, PWM (LEDC) | strapping |
| D1 | GPIO3 | Libre | ADC1_CH3 | RTC_GPIO3, PWM (LEDC) | Aucune restriction |
| D2 | GPIO4 | Libre | ADC1_CH4 | RTC_GPIO4, PWM (LEDC), MTMS (JTAG) | JTAG |
| D3 | GPIO5 | Libre | ADC2_CH0 | RTC_GPIO5, PWM (LEDC), MTDI (JTAG) | ADC2 non pris en charge, JTAG |
| D4 | GPIO6 | Libre | Non | PWM (LEDC), MTCK (JTAG) | JTAG, I²C SDA |
| D5 | GPIO7 | Libre | Non | PWM (LEDC), MTDO (JTAG) | JTAG, I²C SCL |
| D8 | GPIO8 | Avec précaution | Non | PWM (LEDC) | strapping, SPI SCK |
| D9 | GPIO9 | Avec précaution | Non | PWM (LEDC) | strapping, bouton BOOT, SPI MISO (RX) |
| D10 | GPIO10 | Libre | Non | PWM (LEDC) | SPI MOSI (TX) |
| D7 | GPIO20 | Avec précaution | Non | PWM (LEDC), U0RXD | UART0, UART RX |
| D6 | GPIO21 | Avec précaution | Non | PWM (LEDC), U0TXD | UART0, UART TX |
Broches par défaut d’Arduino-ESP32 pour la XIAO ESP32C3 : I²C sur D4 (SDA) et D5 (SCL), SPI sur D8 (SCK), D9 (MISO) et D10 (MOSI), UART sur D6 (TX) et D7 (RX). Grâce à la matrice GPIO, vous pouvez les déplacer sur d’autres pastilles.
Questions fréquentes
La XIAO ESP32C3 a-t-elle une LED intégrée ?
Pas de LED utilisateur. Le wiki de Seeed indique que LED_BUILTIN n’est pas disponible sur cette carte, et la LED près du connecteur USB n’indique que la charge de la batterie. Branchez une LED avec une résistance sur une pastille libre, comme D10.
Quelles broches de la XIAO ESP32C3 sont analogiques ?
D0, D1 et D2 (GPIO 2, 3 et 4), sur l’ADC1. D3 est sur l’ADC2, qui n’est pas pris en charge sur l’ESP32-C3.
Pourquoi ma XIAO ESP32C3 ne démarre-t-elle pas avec un capteur sur D9 ?
D9 est le GPIO9, une broche de strapping reliée au bouton BOOT : si le capteur la met à l’état BAS à la mise sous tension, la puce démarre en mode téléchargement. Déplacez le capteur sur une autre pastille, ou assurez-vous que la ligne reste à l’état HAUT au reset.
Peut-on alimenter la XIAO ESP32C3 sur batterie ?
Oui, avec une batterie lithium de 3,7 V branchée sur les pastilles de batterie. La carte la charge depuis l’USB-C à 380 mA au maximum.
Les broches de la XIAO ESP32C3 tolèrent-elles le 5 V ?
Non. Les GPIO de l’ESP32-C3 fonctionnent en 3,3 V. La pastille 5V est une broche d’alimentation, pas une entrée de signal.