Modules
Les bases de la conception d'une carte porteuse ESP32-C3
Concevez une carte porteuse ESP32-C3 avec une alimentation 3,3 V fiable, des commandes de boot et de reset, une programmation USB ou UART, des choix de GPIO sûrs et un dégagement RF correct.
Publié le Mis à jour le
Partez du module exact
« Module ESP32-C3 » n’est pas une spécification de composant complète. Les modules diffèrent par le contour de boîtier, la capacité de flash, le type d’antenne et les broches exposées. Indiquez la référence fabricant complète dans la valeur du schéma et dans la BOM, téléchargez la fiche technique actuelle de ce module, et utilisez son empreinte recommandée. Vérifiez la numérotation des broches par rapport à la convention vue de dessus ou vue de dessous du plan avant de router.
Un module est le bon premier choix pour une carte personnalisée car il contient déjà l’ESP32-C3, la flash, le quartz, l’adaptation RF, et généralement une antenne PCB ou une interface pour antenne externe. Un design à base d’ESP32-C3 nu doit reproduire ces circuits haute fréquence et relève d’un tout autre niveau de travail RF.
Si un agent aide à créer le design, cadrez-le avec le module exact et les artefacts de revue décrits dans comment vibecoder une carte ESP32.
La carte porteuse reste responsable de quatre systèmes critiques : l’alimentation 3,3 V, l’enable/reset, l’accès de téléversement et le placement de l’antenne.
Construisez un rail 3,3 V capable d’encaisser les salves radio
Espressif recommande une alimentation 3,3 V capable de fournir au moins 500 mA pour un design ESP32-C3 monosource. C’est un objectif de capacité de régulateur et de tenue aux transitoires, pas une affirmation que le module consomme en continu 500 mA. Vérifiez la fiche technique du module et vos périphériques pour établir le budget réel de fonctionnement.
Pour une carte alimentée en USB, le chemin d’alimentation est le suivant :
USB-C VBUS
-> fuse or current-limited load switch as required
-> input TVS/reverse-current protection as required
-> 3.3 V regulator
-> bulk capacitor near the module power entry
-> module 3V3 and peripheral rails
Choisissez les condensateurs d’entrée et de sortie d’après la fiche technique du régulateur, y compris le déclassement en tension pour les composants céramiques. Placez un condensateur de réserve de classe 10 µF et un condensateur de 100 nF proches des broches d’alimentation du module, ou suivez le schéma de référence du module. Gardez la boucle chaude du régulateur compacte. S’il s’agit d’un régulateur à découpage, éloignez son inductance et son nœud de commutation de l’antenne.
Utilisez un chemin 3,3 V large et un plan de masse continu. Les étranglements étroits et les condensateurs éloignés ajoutent de l’inductance, ce qui explique pourquoi un rail qui affiche 3,3 V au multimètre peut malgré tout s’effondrer pendant une transmission RF. La logique de placement est détaillée dans combien de condensateurs de découplage utiliser et où.
Câblez EN et les broches de strapping avec méthode
CHIP_EN est actif à l’état haut et ne doit jamais flotter. Les recommandations d’Espressif au niveau du chip utilisent généralement un pull-up de 10 kΩ et 1 µF vers la masse pour créer un délai de mise sous tension RC, mais le design de référence du module choisi reste la source d’autorité. Ajoutez un bouton reset normalement ouvert entre EN et la masse. Gardez la piste EN courte et à l’écart des nœuds de commutation bruyants.
Les broches de strapping de l’ESP32-C3 sont GPIO2, GPIO8 et GPIO9. Leurs niveaux sont échantillonnés autour du reset puis elles redeviennent des GPIO ordinaires. Pour un boot SPI normal, GPIO9 doit être à l’état haut. Maintenir GPIO9 à l’état bas pendant la libération du reset sélectionne le mode boot de téléversement lorsque les autres niveaux de strap requis sont satisfaits. Une interface manuelle typique utilise donc un pull-up sur GPIO9 et un bouton BOOT vers la masse.
Ne placez pas de gros condensateur sur GPIO9. Ne connectez pas non plus un périphérique qui piloterait une broche de strapping pendant le reset sans avoir prouvé le niveau résultant. Les LED, les translateurs de niveau et les périphériques I2C peuvent tous modifier un strap indirectement. Réservez ces broches dans le tableau d’affectation des broches et consignez leurs états requis au démarrage. Voir circuits de reset et de boot pour ESP32 et RP2040 pour le détail des circuits.
Choisissez une voie de programmation, puis exposez une solution de secours
L’ESP32-C3 peut être programmé via son interface USB Serial/JTAG intégrée ou via UART0. L’USB natif réduit le nombre de composants, mais exige les bonnes broches USB du module, un circuit USB-C solide et des choix de firmware qui ne compliquent pas la récupération. Suivez le design de référence du module pour les résistances série et le routage.
Si vous utilisez UART, exposez au minimum U0TXD, U0RXD, EN, GPIO9/BOOT, la référence 3,3 V et la masse sur des pads accessibles ou un connecteur. Étiquetez TX et RX du point de vue du module. Une empreinte à six pads pour pogo-pins est souvent plus adaptée à la production qu’un connecteur monté en permanence.
Les circuits de reset/téléversement automatiques pilotés par DTR et RTS de l’USB-UART ne sont utiles que s’ils sont recopiés d’une référence Espressif éprouvée et vérifiés avec la chaîne d’outils visée. Deux boutons directs sont plus simples pour une première carte. Même avec l’USB natif, des pads de test pour les logs UART peuvent sauver une carte dont le connecteur ou le routage USB serait défaillant.
Pour un connecteur Type-C, n’omettez pas les deux pull-down CC séparés. Le guide USB-C pour cartes de développement donne le câblage complet en configuration sink-only.
Laissez l’antenne dicter le contour de la carte
Placez le module avant tout le reste. La disposition privilégiée met son antenne PCB au bord de la carte porteuse, souvent avec la portion d’antenne dépassant du PCB porteur. Appliquez le keepout de la fiche technique du module sur toutes les couches : aucun remplissage de cuivre, piste, composant ou plan sous la région de l’antenne, sauf autorisation explicite du plan.
Éloignez aussi le métal dans le produit assemblé. Une batterie, un écran, une vis de fixation, un câble, un blindage ou un boîtier métallisé peut désaccorder ou bloquer l’antenne même si le DRC KiCad est propre. Préservez une masse pleine sous la portion reliée à la masse du module et ajoutez le cousu de vias de masse recommandé à proximité, mais pas à l’intérieur, de la limite du keepout.
Ne présumez pas que les homologations réglementaires du module couvrent automatiquement le produit final. La carte porteuse, le boîtier, les antennes et le firmware en fonctionnement affectent les émissions et la performance radio. Testez la portée et le débit avec la carte installée dans son boîtier réel.
Affectez les GPIO en tenant compte du comportement au reset
Créez un tableau avant la capture du schéma :
| Fonction | GPIO candidat | Point d’attention au démarrage | Test |
|---|---|---|---|
| Bouton BOOT | GPIO9 | Doit être haut pour un boot normal | Dix démarrages à froid |
| I2C SDA/SCL | Broches non-strap | Pull-ups externes vers 3,3 V | Scan du bus |
| LED d’état | Sortie non-strap | Ne doit pas activer un actionneur | Test de commutation |
| Interruption capteur | Broche compatible entrée | Le capteur peut piloter la broche MCU éteint | Test de séquencement d’alimentation |
Vérifiez chaque affectation dans la fiche technique exacte du module. Certaines GPIO du chip ne sont pas toujours sorties, et les broches connectées à la flash sur certaines variantes sont indisponibles. Vérifiez aussi la matrice des périphériques et les glitches au démarrage avant de connecter un relais, une ligne enable ou un driver forte puissance.
Vérifiez et mettez en route la carte porteuse
Lancez l’ERC, mettez à jour le PCB à partir du schéma, et lancez le DRC avec les keepouts d’antenne et de boîtier représentés dans le fichier de carte. Inspectez le courtyard du module et les ouvertures de pâte et de masque. Comparez le repère d’orientation du module dans la fiche technique, l’empreinte, le plan d’assemblage et la sérigraphie.
Sur la première unité, limitez le courant d’entrée, vérifiez 3,3 V et EN, et confirmez que le reset et le mode de téléversement manuel fonctionnent avant de charger le firmware applicatif. Transmettez ensuite en Wi-Fi de façon continue tout en mesurant le rail près du module. Enfin, testez toutes les orientations de câble USB prévues, tous les connecteurs de périphériques, et chaque condition de démarrage à froid. Une carte porteuse n’est simple que lorsque ces quelques détails sont rendus explicites.