Quel ESP32 choisir pour la robotique et le DIY ? ESP32, S2, S3, C3, C6 et P4

Vérifié d’après la documentation officielle d’Espressif le 9 octobre 2026. L’article compare les possibilités des microcontrôleurs ; une carte donnée peut n’en offrir qu’une partie.

Pour un petit robot, le choix d’un ESP32 commence par des questions assez terre à terre : avec quoi piloter les moteurs, où brancher les encodeurs, si la mémoire suffira pour une caméra et comment transmettre les commandes. La fréquence du processeur compte, mais elle ne tient pas lieu de réponse à ces questions. Par exemple, le C6 ajoute le Wi-Fi 6 et une interface radio pour Thread/Zigbee, le S3 associe deux cœurs principaux à l’USB et à des interfaces caméra, et le P4 mise sur le calcul et le multimédia. Pour autant, le P4 lui-même n’a aucune radio sans fil intégrée. [D3], [D5], [D6]

Voici six familles aux possibilités différentes, utiles en DIY : l’ESP32 classique, l’ESP32-S2, l’ESP32-S3, l’ESP32-C3, l’ESP32-C6 et l’ESP32-P4. C’est une sélection pratique, pas un classement des ventes. Nous comparerons d’abord les ressources matérielles, puis nous verrons comment elles orientent le choix pour un projet.

Six puces ESP32 dessinées à leur taille relative, au-dessus d'un tableau de fonctions. Wi-Fi intégré : toutes sauf l'ESP32-P4. Bluetooth LE : ESP32, S3, C3 et C6. Bluetooth Classic : l'ESP32 classique seulement. IEEE 802.15.4 : le C6 seulement. USB OTG : S2, S3 et P4. Ethernet MAC : ESP32 et P4. MCPWM : ESP32, S3, C6 et P4. PCNT : toutes sauf le C3.

Ce que nous comparons exactement

Une puce, un module et une carte sont des niveaux différents d’un même produit. La puce, ou SoC, contient le processeur, la mémoire et les périphériques. Le module lui associe des composants supplémentaires : par exemple la Flash, la PSRAM, le quartz et l’antenne. La carte de développement ajoute l’alimentation, les connecteurs, les boutons et parfois un écran ou une caméra. La présence et la capacité de la mémoire se vérifient d’après la désignation complète du produit : on ne peut pas attribuer à tous les S3 la mémoire d’un seul module marqué N16R8. Cette distinction est décrite dans le guide d’Espressif sur le choix d’une plateforme.

Pour lire les tableaux, quelques précisions s’imposent :

Les références D1–D6 renvoient aux fiches techniques officielles. Leurs copies locales, leurs versions et les renvois aux sections se trouvent à la fin de l’article.

1. Calcul et mémoire

CaractéristiqueESP32 [D1]ESP32-S2 [D2]ESP32-S3 [D3]ESP32-C3 [D4]ESP32-C6 [D5]ESP32-P4 v3.x [D6]
CPU principalXtensa LX6, 32 bitsXtensa LX7, 32 bitsXtensa LX7, 32 bitsRISC-V, 32 bitsRISC-V, 32 bitsRISC-V, 32 bits
Cœurs principaux × fréquence maximale2 × 240 MHz1 × 240 MHz2 × 240 MHz1 × 160 MHz1 × 160 MHz2 × 400 MHz
Coprocesseur basse consommationULP-FSMULP-FSM / ULP RISC-VULP-FSM / ULP RISC-VPas de cœur ULP/LP programmableLP RISC-V, jusqu’à 20 MHzLP RISC-V, jusqu’à 40 MHz
Calcul float matérielFPU, simple précisionPas de FPUFPU, simple précisionPas de FPUPas de FPUFPU, simple précision
Particularités pour le DSP et le calcul vectorielInstructions DSP, dont MACMultiplication et division entièresInstructions vectorielles 128 bits / SIMDMultiplication et division entièresMultiplication et division entièresOpérations vectorielles 128 bits, extensions AI/DSP
SRAM interne principale520 KB320 KB512 KB400 KB, dont 16 KB pour le cache512 KB HP SRAM768 KB HP L2MEM ; 8 KB SPM à part
RTC / LP SRAM16 KB16 KB16 KB8 KB16 KB32 KB
FlashExterne en QSPI ; dans le boîtier sur certaines variantesExterne en SPI/QSPI/OSPI ; il existe des variantes avec mémoire dans le boîtierExterne en SPI/QSPI/OSPI ; il existe des variantes avec mémoire dans le boîtierExterne en SPI/QSPI ou dans le boîtierExterne en SPI/QSPI ou dans le boîtierExterne, via le contrôleur MSPI
PSRAM comme extension de la mémoire adressableOui, via le cacheOui, via le cacheOui, via le cache, y compris en Octal SPIPas de prise en charge nativePas de prise en charge native16 ou 32 MB dans le boîtier des variantes retenues

L’absence de FPU sur les S2, C3 et C6 a été vérifiée en complément dans la documentation ESP-IDF : sur ces puces, les calculs en float sont effectués par logiciel. La FPU des ESP32, S3 et P4 est en simple précision : le double est donc calculé par logiciel sur les six puces. Cela n’empêche pas d’écrire un régulateur ou un filtre, mais pour une tâche qui enchaîne beaucoup de calculs de ce genre, il faut mesurer le temps d’exécution. [Optimisation de la vitesse, ESP-IDF : ESP32], [S2], [S3], [C3], [C6] [D6, §4.1.1.1]

La PSRAM et la Flash ne servent pas à la même chose. La Flash stocke le firmware et les données permanentes, la PSRAM étend la mémoire vive. Pour l’ESP32 classique, la fiche technique admet jusqu’à 8 MB de RAM externe, mais la fenêtre mappée à un instant donné ne dépasse pas 4 MB. « Prend en charge tant de mémoire » et « toute la mémoire est accessible comme un seul tableau continu » sont donc deux affirmations différentes. Le S3 a lui aussi des limites de mappage, décrites indépendamment de la capacité physique de la mémoire connectée. [D1, §4.1.3] [D3, §4.1.2.2]

Mieux vaut ne pas choisir un C3 ou un C6 en comptant y ajouter plus tard de la PSRAM comme tas ordinaire de l’application. Sur le C3, seule la Flash externe est mappée à travers le cache, et ce cache ne fonctionne qu’en lecture. La fiche technique du C6 ne parle elle aussi que de la Flash, et l’absence de prise en charge de la PSRAM sur le C6 est confirmée en toutes lettres dans la FAQ du fabricant. Lire une puce mémoire distincte via un SPI ordinaire est une autre façon de travailler, qui n’équivaut pas à une extension de la RAM adressable. [D4, §4.1.2.2–4.1.2.3] [D5, §4.1.2.2] [FAQ sur la PSRAM]

Sur les S2 et S3, l’ULP est un sous-système auxiliaire, et non un cœur supplémentaire à part entière pour l’application principale. En particulier, sur ces deux puces, les options ULP-FSM et ULP RISC-V ne peuvent pas fonctionner en même temps. [D2, §4.1.1.2] [D3, §4.1.1.3]

2. Wi-Fi, Bluetooth et autres protocoles radio

CaractéristiqueESP32 [D1]ESP32-S2 [D2]ESP32-S3 [D3]ESP32-C3 [D4]ESP32-C6 [D5]ESP32-P4 v3.x [D6]
Wi-Fi intégré802.11b/g/n, Wi-Fi 4802.11b/g/n, Wi-Fi 4802.11b/g/n, Wi-Fi 4802.11b/g/n, Wi-Fi 4802.11b/g/n/ax, Wi-Fi 6Non
Bande Wi-Fi2,4 GHz2,4 GHz2,4 GHz2,4 GHz2,4 GHz—
Largeur de canal20/40 MHz en 802.11n20/40 MHz20/40 MHz20/40 MHz20 MHz en ax ; 20/40 MHz en n—
STA / SoftAP / STA+SoftAPOui / oui / ouiOui / oui / ouiOui / oui / ouiOui / oui / ouiOui / oui / oui ; ax indiqué en non-AP—
Bluetooth Classic, BR/EDROui, Bluetooth 4.2NonNonNonNonNon
Bluetooth LE4.2 selon la fiche technique ; une certification LE 5.0 existe, voir l’explicationNonBluetooth 5 LEBluetooth 5 LELE, certification Bluetooth 5.3Non
PHY Bluetooth LELE 1M—LE 1M, 2M, Coded 125/500 kbit/sLE 1M, 2M, Coded 125/500 kbit/sLE 1M, 2M, Coded 125/500 kbit/s—
IEEE 802.15.4NonNonNonNon2,4 GHz, 250 kbit/sNon
Thread / Zigbee selon la fiche techniquePas de radio 802.15.4 intégréePas de radio 802.15.4 intégréePas de radio 802.15.4 intégréePas de radio 802.15.4 intégréeThread 1.3 / Zigbee 3.0Pas de radio 802.15.4 intégrée

Le Wi-Fi 6 du C6 ne veut pas dire Wi-Fi à 5 GHz. Sa radio fonctionne dans la bande des 2,4 GHz. En outre, la fiche technique limite le 802.11ax à un canal de 20 MHz et au rôle de client (non-AP) : la présence du SoftAP ne signifie pas que le C6 crée un point d’accès Wi-Fi 6. Pour le n, des canaux de 20/40 MHz sont prévus. Les avantages de l’ax tiennent ici, entre autres, à l’OFDMA et au mécanisme Target Wake Time, et non à la promesse d’un débit maximal digne d’un ordinateur portable. [D5, Features → Wi-Fi]

Le débit PHY maximal indiqué dans les caractéristiques radio n’est pas le débit de données utiles en TCP, MQTT ou HTTP. Comparer les contrôleurs sur le seul chiffre des « Mbit/s » n’apprendrait donc pas grand-chose : le mode radio, la pile et l’application pèsent sur le résultat. Pour mesurer le débit réel, Espressif fournit l’exemple iperf, et son guide Wi-Fi décrit les réglages de la pile qui l’influencent. [Performances Wi-Fi, ESP-IDF] [Exemple iperf]

Avec l’ESP32 classique, la mention Bluetooth cache un piège. La fiche technique actuelle énumère le BR/EDR et le LE de la spécification 4.2. Le fabricant a aussi annoncé une certification LE 5.0, mais il précise expressément dans sa FAQ que cette puce ne prend pas en charge les nouvelles fonctions du LE 5.0. On ne peut pas lui attribuer le LE 2M ou le Coded PHY sur la seule foi de cette certification. Pour les S3, C3 et C6, ces PHY figurent dans les fiches techniques. [D1], [D3], [D4], [D5] [FAQ Bluetooth]

Si un projet dépend du Bluetooth Classic, par exemple du profil SPP, c’est un critère de choix à part entière. Le BLE utilise un autre ensemble de protocoles et de profils ; la mention « Bluetooth 5 » ne signifie pas à elle seule une compatibilité avec le Classic. Parmi les six familles principales, seul l’ESP32 classique dispose du Classic. Au-delà de ces six, la situation change déjà : le S31 est présenté plus bas. [Vue d’ensemble du Bluetooth dans ESP-IDF] [Profils Classic, dont SPP]

ESP-NOW est un protocole d’Espressif pour échanger des données sans se connecter à un réseau Wi-Fi ordinaire. Il utilise la radio Wi-Fi, et non un bloc radio distinct. C’est une option intéressante pour une télécommande, de la télémétrie et des capteurs. La présence d’un P4 sur une carte n’apporte pas à elle seule ESP-NOW : il faudra une puce radio séparée et l’intégration logicielle correspondante. [Présentation d’ESP-NOW] [ESP-NOW dans ESP-IDF] [D6]

Matter est un protocole applicatif : il n’existe donc pas de ligne matérielle distincte « radio Matter ». Espressif propose Matter sur Wi-Fi et sur Thread. Le C6 dispose d’une radio 802.15.4 pour Thread, et des solutions Matter over Wi-Fi sont possibles sur les modèles Wi-Fi ; la prise en charge effective dépend du SDK et de la configuration de l’appareil. Zigbee et Thread utilisent le 802.15.4, mais restent des piles différentes. La fiche technique du C6 indique Thread 1.3 ; en janvier 2025, Espressif a annoncé la certification du C6 pour la compatibilité avec Thread 1.4. Qu’un seul C6 puisse travailler avec plusieurs protocoles ne signifie pas non plus plusieurs canaux radio indépendants : Wi-Fi, BLE et 802.15.4 cohabitent sur une seule antenne et une seule chaîne radio 2,4 GHz. [Introduction à ESP-Matter] [Certification Thread 1.4] [D5, Product Overview]

3. Périphériques : que brancher sur le contrôleur

La ligne SPI compte les GP-SPI utilisateur, sans les contrôleurs qui desservent la Flash/PSRAM. Les interfaces LP sont indiquées à part : elles peuvent avoir d’autres limites. Pour MCPWM, le nombre désigne des blocs périphériques, pour PCNT des blocs de comptage, pour LEDC des sorties PWM. Ces unités ne sont pas interchangeables.

CaractéristiqueESP32 [D1]ESP32-S2 [D2]ESP32-S3 [D3]ESP32-C3 [D4]ESP32-C6 [D5]ESP32-P4 v3.x [D6]
GPIO, maximum selon la fiche technique34, dont 6 en entrée seulement434522 ou 16, selon la variante30 en QFN40 / 22 en QFN3255
GP-SPI222112 + LP-SPI
UART32322 + LP-UART5 + LP-UART
I²C22211 + LP-I²C2 + LP-I²C
I²S212113 + LP-I²S en réception
ADC : nombre de blocs × résolution ; entrées2 × 12 bits ; 18 entrées2 × 12 bits ; 20 entrées, voir la note2 × 12 bits ; 20 entrées2 × 12 bits ; 6 entrées matérielles, restriction sur l’ADC21 × 12 bits ; 7 entrées2 × 12 bits ; 14 entrées
DAC2 × 8 bits2 × 8 bitsNonNonNonNon
Entrées tactiles capacitives101414NonNon14
LEDC : sorties PWM1688668
MCPWM : blocs2Non2Non12
PCNT : blocs de comptage844Non44
RMT : canaux8, configurables en TX/RX4, configurables en TX/RX4 TX + 4 RX2 TX + 2 RX2 TX + 2 RX4 TX + 4 RX
Timers à usage général4 × 64 bits4 × 64 bits4 × 54 bits2 × 54 bits2 × 54 bits4 × 54 bits
DMADMA sur plusieurs blocs périphériquesDMA sur plusieurs blocs périphériquesGDMA, 5 TX + 5 RXGDMA, 3 TX + 3 RXGDMA, 3 TX + 3 RXPlusieurs contrôleurs DMA, dont GDMA et 2D-DMA
TWAI / CAN1 × CAN 2.01 × CAN 2.01 × CAN 2.01 × CAN 2.02 × CAN 2.03 × CAN 2.0
USB OTG, host/deviceNonFull-Speed, 12 Mbit/sFull-Speed, 12 Mbit/sNonNonHigh-Speed 480 Mbit/s + Full-Speed 12 Mbit/s
USB Serial/JTAG distinctNonNonOuiOuiOuiOui
SD/MMC/SDIO hostOuiNonOuiNonNonOui
SDIO slaveOuiNonNonNonOuiNon
Ethernet MAC intégré10/100 Mbit/sNonNonNonNon10/100 Mbit/s
Caméra et LCDModes parallèles de l’I²S ; écrans aussi en SPIDVP via I²S ; LCD via I²S/SPILCD_CAM dédié : DVP, RGB/I8080 parallèlePas de LCD_CAM dédié ; écrans en SPIPARLIO et SPI ; pas de LCD_CAMLCD_CAM, MIPI CSI et DSI
Blocs matériels de traitement d’imagePas d’ensemble comparable à celui du P4Pas d’ensemble comparable à celui du P4Pas d’ensemble comparable à celui du P4Pas d’ensemble comparable à celui du P4Pas d’ensemble comparable à celui du P4ISP, PPA, JPEG codec, H.264 encoder

Le nombre de blocs MCPWM, PCNT, RMT et de timers a été vérifié en complément dans les fichiers officiels soc_caps.h d’ESP-IDF v5.5.3 : ESP32, S2, S3, C3, C6, P4. Il s’agit d’une vérification de la configuration matérielle, et non d’une affirmation selon laquelle cette version du SDK prend en charge toutes les fonctions de chaque nouvelle révision. En particulier, les possibilités du P4 v3.x sont tirées de sa fiche technique actuelle. Le nombre total de SPI dans le SDK ne doit pas se lire comme le nombre de bus utilisateur libres ; le nombre de canaux tactiles internes peut lui aussi inclure un canal qui n’est sorti sur aucun GPIO. La répartition des RMT du C6 en 2 TX + 2 RX vient elle aussi de soc_caps.h : la fiche technique du C6 parle de quatre canaux, sans leur attribuer de direction.

Pourquoi ces différences comptent pour un robot

LEDC, MCPWM et PCNT répondent à des besoins différents. LEDC génère un PWM ordinaire et ne sert pas qu’aux LED. MCPWM offre de quoi commander un étage de puissance : synchronisation, signaux complémentaires, temps mort (dead time), traitement des entrées de défaut et capture d’événements. PCNT compte des impulsions et permet de lire un encodeur avec un filtrage matériel. La présence du « PWM » sur le C3 ne rend donc pas ses périphériques équivalents à ceux du S3 ou du C6. [D1, §4.8.7–4.8.9] [D3], [D4], [D5]

Cela ne veut pas dire qu’on ne peut pas construire un robot autour d’un C3. Pour un driver simple à entrée PWM et un petit nombre de signaux, il peut convenir. Mais quand on choisit un contrôleur pour plusieurs moteurs et encodeurs, il est plus commode de compter d’abord les MCPWM, les PCNT et les GPIO nécessaires, et de n’évaluer la fréquence du CPU qu’ensuite. C’est une conclusion d’ingénieur tirée du tableau, pas le résultat d’un essai comparatif de robots complets.

RMT mémorise et reproduit des séquences de durées de niveaux logiques, et sait aussi les recevoir. Pour les protocoles à impulsions, il permet de confier une partie du travail au matériel. Cela dit, sur les S3, C3, C6 et P4, les canaux d’émission et de réception sont séparés ; la mention « 8 canaux » ne peut pas, sans précision, se lire comme huit émetteurs. [D1], [D2], [D3], [D4], [D5], [D6] [soc_caps.h : S3], [C3], [C6], [P4]

TWAI exige un émetteur-récepteur CAN externe. Le tableau recense des contrôleurs CAN 2.0, et non du CAN FD ni des ports électriques CANH/CANL prêts à l’emploi. De même, l’Ethernet MAC de l’ESP32 classique et du P4 exige un PHY externe et le schéma de raccordement correspondant. [D1, §4.8.12–4.8.13] [D6, §4.2.2.12–4.2.2.13] [TWAI, ESP-IDF]

Un connecteur USB sur une carte ne signifie pas pour autant USB OTG. Sur une carte à ESP32 classique, il est relié à un pont USB–UART séparé : cette puce n’a pas d’USB propre. Le Serial/JTAG intégré des C3 et C6 est prévu pour la communication série, le téléversement et le débogage ; on n’en tire ni un périphérique USB HID quelconque ni un hôte USB. Pour ces usages, on se tourne vers l’OTG des S2, S3 et P4. Sur le S3, l’OTG et le Serial/JTAG partagent le même PHY interne : faire fonctionner les deux contrôleurs en même temps demande une solution à part, par exemple un PHY externe. [D3, §4.2.1.7–4.2.1.8] [D4], [D5] [Guide ESP-USB]

L’absence de SD/MMC host n’interdit pas de brancher une carte mémoire en SPI. Ce sera une autre interface, avec d’autres contraintes de vitesse et d’occupation du bus. [Pilote SD SPI d’Espressif]

ADC : le nombre de bits ne dispense pas de vérifier les limites

Pour mesurer la tension d’une batterie ou d’un capteur analogique, il faut connaître non seulement la résolution, mais aussi la plage admissible, l’étalonnage et le partage des ressources matérielles.

La résolution n’est pas une précision garantie en volts. Pour une plage d’entrée donnée, il faut lire les tableaux ADC Characteristics et tenir compte de l’atténuation du signal et de l’étalonnage. Le tableau ci-dessus décrit les ADC à usage général ; les convertisseurs internes à la chaîne radio n’y figurent pas. [D1], [D2], [D3], [D4], [D5], [D6]

4. Alimentation, veille et conservation de l’état

Les valeurs qui suivent concernent des puces dans des configurations précises, et non la consommation d’une carte complète. Ce n’est pas un tableau d’autonomie sur batterie. La ligne d’alimentation énumère les domaines principaux ; le schéma d’alimentation complet, la mémoire et les limites d’une variante donnée se vérifient à part dans la fiche technique.

CaractéristiqueESP32 [D1]ESP32-S2 [D2]ESP32-S3 [D3]ESP32-C3 [D4]ESP32-C6 [D5]ESP32-P4 v3.x [D6]
Principaux domaines d’alimentationVDDA, VDD3P3, VDD3P3_RTC : 2,3–3,6 V sur le D0WD-V3, 3,0–3,6 V sur les variantes avec mémoire dans le boîtier ; VDD3P3_CPU : 1,8–3,6 VVDDA, VDD3P3, VDD3P3_RTC, VDD3P3_CPU : 2,8–3,6 V ; 3,0–3,6 V pour VDD3P3_RTC_IODomaines principaux : 3,0–3,6 VDomaines principaux : 3,0–3,6 VDomaines principaux : 3,0–3,6 VVDD_LDO, VDD_DCDCC, VDD_ANA, VDD_LP : 3,0–3,6 V ; VDD_BAT : 2,5–3,6 V ; domaines distincts pour les I/O, le cœur, la PSRAM, l’USB et le MIPI
Modes selon la fiche techniqueActive, Modem-sleep, Light-sleep, Deep-sleep, HibernationActive, Modem-sleep, Light-sleep, Deep-sleep, HibernationActive, Modem-sleep, Light-sleep, Deep-sleepActive, Modem-sleep, Light-sleep, Deep-sleepActive, Modem-sleep, Light-sleep, Deep-sleepActive, Light-sleep, Deep-sleep
Exemple en Light-sleep800 µA750 µA240 µA130 µA35 ou 180 µA selon l’état des périphériques75 µA avec mémoire HP conservée et périphériques coupés
Exemple en Deep-sleep10 µA : timer RTC + mémoire RTC25 µA : timer RTC + mémoire RTC7 µA : mémoire RTC active, périphériques RTC coupés5 µA : timer RTC + mémoire RTC7 µA : timer RTC + mémoire LP12 µA : timer LP + mémoire LP
Principales sources de réveil depuis le Deep-sleep, selon ESP-IDFTimer, GPIO RTC compatibles, entrées tactiles, ULPTimer, GPIO RTC compatibles, entrées tactiles, ULPTimer, GPIO RTC compatibles, entrées tactiles, ULPTimer, GPIO pris en chargeTimer, GPIO LP pris en charge, cœur LPTimer, GPIO LP pris en charge, entrées tactiles, cœur LP
Traitement programmable dans le sous-système basse consommationULPULPULPPas de cœur dédiéLPLP
Secure Boot / chiffrement de la FlashOui / ouiOui / ouiOui / ouiOui / ouiOui / ouiOui / oui

Conditions des courants indiqués :

Pour les S2, S3, C3 et C6, les paramètres 3,3 V et 25 °C figurent dans les sous-sections consacrées aux mesures en mode actif ; les tableaux de veille ne répètent pas ces conditions. Pour l’ESP32 classique, elles ne figurent pas directement dans le tableau 4-2. Ces valeurs ne sont donc pas présentées comme un essai de laboratoire unique mené dans des conditions strictement identiques. [D1], [D2], [D3], [D4], [D5], [D6]

En pratique, le Light-sleep est commode quand il faut reprendre le travail avec l’état du système principal conservé. Le Deep-sleep coupe la partie de calcul principale et oblige à repasser par la séquence de réveil/démarrage ; les données qui doivent survivre à la veille sont gardées en mémoire RTC ou LP, ou bien dans la Flash. L’ensemble des sources de réveil dépend de la puce et du mode : par exemple, le réveil par UART ne fonctionne que depuis le Light-sleep. La ligne du tableau sur les sources de réveil a été établie d’après les guides ESP-IDF Sleep Modes : les fiches techniques ne donnent pas une telle liste. Les limites et les GPIO admis se vérifient dans le guide qui correspond précisément au contrôleur choisi. [Sleep : ESP32], [S2], [S3], [C3], [C6], [P4]

Pour un capteur sur batterie, il est pertinent de comparer le cycle entier : mesure, démarrage de la radio, transmission et veille. Sur une carte, il reste le régulateur de tension, les LED, les puces d’interface et les capteurs branchés. Le chiffre de « 5 µA » de la fiche technique ne promet donc pas la même consommation de la part de n’importe quelle carte C3 DevKit. Cela découle de la différence entre la mesure d’une puce et le schéma d’une carte complète ; Espressif décrit à part la mesure du courant des modules.

Secure Boot et le chiffrement de la Flash sont des mécanismes pris en charge, et non une protection automatiquement active sur n’importe quel firmware. Le tableau constate leur présence ; la configuration d’un produit donné doit être vérifiée dans les Security Guides correspondants. [D1], [D2], [D3], [D4], [D5], [D6]

Six modèles face à des tâches réelles

Les dates ci-dessous se rapportent aux événements indiqués : annonce, début de production ou disponibilité officielle. Elles ne se substituent pas les unes aux autres ; la date de la première version d’un PDF n’est pas non plus considérée comme la date de sortie du microcontrôleur.

ESP32 classique : moteurs, encodeurs et Bluetooth Classic

Espressif situe la sortie du premier ESP32 en septembre 2016. [Histoire de l’entreprise]

L’ESP32 classique garde un solide jeu d’arguments : deux cœurs principaux, une FPU, deux blocs MCPWM, huit blocs PCNT, deux DAC et le Bluetooth Classic. Il convient donc pour s’initier à la commande de moteurs et à la mesure de vitesse de rotation, ainsi que pour les projets qui exigent précisément le Classic. L’Ethernet MAC est utile pour un nœud filaire, à condition d’ajouter un PHY. Ce sont des recommandations fondées sur la composition des périphériques, et non une affirmation sur la part de l’ESP32 dans ces applications. [D1] [soc_caps.h ESP32]

Les limites apparaissent au moment d’agencer le montage : pas d’USB intégré, une partie des GPIO ne fonctionne qu’en entrée, l’ADC2 entre en conflit avec le Wi-Fi. Dans la fiche technique actuelle, une partie des anciennes variantes est marquée NRND ou EOL. Il faut choisir d’après la désignation complète de la puce ou du module, et non d’après la simple mention « ESP32 ». [D1] [FAQ sur l’ADC]

ESP32-S2 : USB et Wi-Fi sans Bluetooth

La publication officielle sur la sortie du S2 est datée du 3 septembre 2019 ; elle indique que des échantillons d’ingénierie étaient disponibles depuis juin. Le début de la production de masse de la série a été annoncé le 28 février 2020. [Annonce du S2] [Production du S2]

Le S2 est intéressant pour un périphérique USB, un panneau de commande ou un instrument avec Wi-Fi et sorties analogiques : il offre l’USB OTG, deux DAC, des entrées tactiles et la PSRAM. L’architecture LX7 n’en fait pas l’équivalent du S3 : il n’a qu’un cœur principal, et ni FPU ni Bluetooth. Pour la commande de moteurs, il dispose de LEDC et de PCNT, mais pas de MCPWM. Cela aide à comprendre pourquoi le S2 est utile dans sa niche sans être pour autant un remplaçant universel de l’ESP32 classique. [D2] [Optimisation de la vitesse, ESP-IDF : S2] [soc_caps.h S2]

ESP32-S3 : caméra, écran, son et calcul

Le S3 a été annoncé le 31 décembre 2020. Dès le départ, le fabricant a mis en avant le traitement du signal et les tâches AIoT comme applications cibles. [Annonce du S3]

Pour un projet avec caméra et écran, la combinaison de LCD_CAM, de la PSRAM, de deux cœurs, d’une FPU et d’instructions vectorielles fait du S3 un point de départ justifié. Dans un robot doté d’une interface locale, MCPWM et PCNT sont utiles eux aussi. Mais des instructions vectorielles ne font pas un NPU universel distinct, et la présence d’une interface caméra matérielle ne garantit pas la fréquence d’images voulue quels que soient la définition et le traitement. [D3]

Le S3 n’a ni DAC ni Bluetooth Classic. Au moment de choisir une carte avec USB, il faut vérifier à quoi est relié le connecteur et comment se répartissent l’OTG et le Serial/JTAG. La taille de la PSRAM et les broches qu’elle occupe dépendent de la variante précise. [D3] [Guide ESP-USB]

ESP32-C3 : un nœud Wi-Fi/BLE compact

Le C3 a été présenté le 27 novembre 2020 comme un contrôleur RISC-V pour des appareils connectés abordables. [Annonce du C3]

Son équipement convient bien à un capteur indépendant, à un nœud actionneur, à une télécommande ou à un petit appareil réseau : Wi-Fi, BLE avec Coded PHY, UART/I²C/SPI et USB Serial/JTAG. Le choix devient moins commode si le projet réclame un grand tampon d’image, plusieurs compteurs matériels d’encodeurs ou MCPWM : PSRAM, PCNT et MCPWM sont absents ici. Le PWM ordinaire est en revanche bien là, et TWAI, avec un émetteur-récepteur externe, donne un bus CAN. [D4] [soc_caps.h C3]

En choisissant une petite carte, il ne faut pas oublier les broches : leur nombre varie d’une variante du C3 à l’autre, et une partie des GPIO peut être prise par la Flash. Mieux vaut aussi tenir compte de la restriction de l’ADC2 avant le routage. [D4] [ADC oneshot, ESP-IDF : C3]

ESP32-C6 : Wi-Fi 6, Thread/Zigbee et des périphériques utiles pour les moteurs

La première annonce du C6 a été publiée le 9 avril 2021, et la disponibilité officielle des modules et des cartes de développement a été annoncée le 6 janvier 2023. Ce sont des étapes différentes de la vie du produit. [Annonce du C6] [Disponibilité du C6]

Le C6 mérite d’être envisagé pour des capteurs en réseau, la domotique et des nœuds où l’on a le choix entre Wi-Fi et Thread/Zigbee. La présence de MCPWM, de PCNT et de deux TWAI le rend intéressant aussi pour l’électronique de commande d’un robot. Le cœur LP permet de sortir du CPU principal une partie du travail à basse consommation. [D5] [soc_caps.h C6]

Pour autant, le C6 n’est pas un « S3 avec un Wi-Fi plus récent » : il a un seul cœur principal et n’a ni FPU, ni PSRAM, ni USB OTG. Si la tâche réclame un grand tampon d’image, un hôte USB ou de lourds calculs en float, ces différences peuvent peser plus que la nouvelle radio. [D5] [Optimisation de la vitesse, ESP-IDF : C6] [FAQ sur la PSRAM]

ESP32-P4 : un contrôleur multimédia avec une solution radio à part

Le P4 a été annoncé le 5 janvier 2023. Le 8 mai 2026, Espressif a présenté la mise à jour v3.x, qui relève la fréquence maximale de 360 à 400 MHz et modifie les blocs multimédias. Un chiffre de fréquence doit donc être accompagné de la révision. [Annonce du P4] [Mise à jour v3.x]

Le P4 est un candidat pour une interface évoluée, une caméra MIPI, le traitement d’image et l’USB High-Speed. Outre les cœurs principaux, l’ISP, le PPA, le JPEG codec et le H.264 encoder accomplissent un travail utile. Il compte aussi assez de blocs périphériques pour la commande : deux MCPWM, quatre PCNT, trois TWAI et un Ethernet MAC. Tout cela le rend intéressant pour la partie vision et la partie commande d’un robot, mais ne garantit pas les performances d’un algorithme donné sans mesures. [D6]

Le P4 n’a ni Wi-Fi ni Bluetooth intégrés. S’ils sont présents sur une carte à P4, il faut vérifier la puce radio supplémentaire et la façon dont elle est reliée. Une telle carte s’évalue comme un assemblage de composants. [D6] [Annonce du P4]

Les variantes NRW16X/NRW32X de la fiche technique jointe relèvent de la v3.x et contiennent 16/32 MB de PSRAM. Le document Pre-release v0.7 est marqué comme préliminaire, paramètres électriques compris. Le statut du PDF ne doit pas se lire comme l’absence d’un produit réel ; il signifie que les caractéristiques consignées peuvent encore être révisées. Pour le P4 v1.3, plus ancien, il existe une fiche technique distincte ; entre elle et la v3.x, l’alimentation, les fréquences et les exigences du SDK ne se transposent pas sans vérification. [D6]

Comment choisir pour son projet

Les recommandations qui suivent sont une interprétation d’ingénieur des caractéristiques vérifiées, et ne revendiquent aucun essai comparatif au banc.

Avant d’acheter une carte précise, il est utile de noter les GPIO occupés, le type d’USB, les capacités de Flash/PSRAM, la désignation du module et la révision de la puce. Cette courte liste tranche souvent le choix plus sûrement qu’une comparaison de fréquences.

Ce qu’Espressif propose d’autre : C5, H2, C61 et S31

ESP32-C5 : quand il faut du Wi-Fi à 5 GHz. Contrairement au C6, le C5 prend en charge le Wi-Fi 6 dans les bandes 2,4 et 5 GHz ; il a aussi le BLE et l’IEEE 802.15.4. Il possède un cœur RISC-V principal jusqu’à 240 MHz et prend en charge la PSRAM externe : c’est donc à lui qu’il convient de comparer un appareil sans fil qui exige le 5 GHz. La production de masse a été annoncée le 30 avril 2025. [Production et caractéristiques du C5]

ESP32-H2 : BLE et 802.15.4 sans Wi-Fi. Son cœur RISC-V fonctionne à une fréquence allant jusqu’à 96 MHz. C’est un candidat pour un nœud Thread/Zigbee qui n’a pas besoin de son propre Wi-Fi. Espressif a fait état du passage du H2 en production de masse dans son rapport du premier semestre 2023 ; cette source ne permet pas d’établir le jour exact du début de la production. La fiche technique actuelle indique Thread 1.4 et Zigbee 3.0. [Fiche technique du H2] [Rapport d’Espressif]

ESP32-C61 : Wi-Fi 6 avec PSRAM, mais sans Thread ni Zigbee. Le C61 réunit le Wi-Fi 6 à 2,4 GHz, le BLE, un seul cœur jusqu’à 160 MHz et la prise en charge de la PSRAM. Il n’a pas de radio 802.15.4 : ce n’est donc pas un remplaçant du C6 pour un nœud Thread/Zigbee autonome. Le fabricant confirme la prise en charge du C61 v1.0 de série dans ESP-IDF v5.5.2. C’est une confirmation du statut de série et de la compatibilité avec le SDK ; la date exacte du début de la production n’est pas établie ici. [Fiche technique du C61] [Statut du C61]

ESP32-S31 : un nouveau modèle qu’on ne peut déjà plus ignorer. Espressif a annoncé la production de masse le 27 juillet 2026. Le S31 réunit deux cœurs RISC-V jusqu’à 320 MHz, le Wi-Fi 6 à 2,4 GHz, le Bluetooth 5.4 avec LE et Classic BR/EDR, l’IEEE 802.15.4 et un Gigabit Ethernet MAC. Pour un nouveau projet qui a besoin à la fois de calcul, d’une interface évoluée et de plusieurs types de liaison, il mérite une étude à part. L’affirmation « seul l’ESP32 a le Bluetooth Classic » n’est donc exacte ici que pour les six familles principales retenues, et non pour toute la gamme actuelle. [Production du S31]

Pour ces modèles aussi, il faut vérifier la prise en charge des périphériques nécessaires dans le SDK choisi, la révision et le schéma de la carte en question.

Abréviations des tableaux

Les définitions sont données d’après les sections Features et le §4 des fiches techniques. [D1], [D2], [D3], [D4], [D5], [D6]

Fiches techniques : copies locales et originaux

Les six fichiers ci-dessous ont tous été téléchargés le 9 octobre 2026 directement depuis le domaine documentation.espressif.com. Ce sont les PDF d’origine du fabricant, sans aucune retouche. Avec le temps, le lien d’Espressif peut renvoyer une édition plus récente : pour que la comparaison reste reproductible, les versions effectivement utilisées sont donc conservées à côté.

RéférenceFamilleVersion du document sauvegardéPDF localOriginal Espressif
D1ESP325.3TéléchargerESP32 Series Datasheet
D2ESP32-S21.9TéléchargerESP32-S2 Series Datasheet
D3ESP32-S32.2TéléchargerESP32-S3 Series Datasheet
D4ESP32-C32.4TéléchargerESP32-C3 Series Datasheet
D5ESP32-C61.5TéléchargerESP32-C6 Series Datasheet
D6ESP32-P4 v3.xPre-release v0.7, PRELIMINARYTéléchargerESP32-P4 Series Datasheet

Où vérifier les chiffres

Les numéros de page ci-dessous sont ceux des PDF joints, couverture comprise. Dans ces versions, ils coïncident avec la pagination imprimée du document.

Comment l’article a été vérifié

Les chiffres des tableaux ont été confrontés aux versions indiquées des fiches techniques ; le nombre de plusieurs blocs périphériques l’a été, en complément, à l’ESP-IDF officiel. Les dates viennent des communiqués d’Espressif, et non des dates d’articles publiés par des tiers. Les limites qui changent le choix en pratique ont été vérifiées dans les errata, les FAQ et les guides du SDK. Les liens vers ces précisions se trouvent à côté des affirmations concernées. La documentation ESP-IDF est partout citée dans la version v5.5.3, celle-là même qui a servi à vérifier les soc_caps.h.

Sur les points litigieux, la priorité a été donnée au document de la puce et de la révision concernées. Les différences entre la certification et les fonctions Bluetooth, entre l’ancien et le nouvel ADC du S2, entre l’ADC2 matériel du C3 et sa prise en charge dans le SDK, ainsi qu’entre les révisions du P4, sont conservées dans le texte au lieu d’être masquées par un seul chiffre. Les scénarios d’utilisation sont formulés comme des conclusions tirées des possibilités, sans affirmations non vérifiées sur la popularité, le prix ou des résultats de tests.