Tous les articles

Pins G6-G11 sur ESP32 : pourquoi ils crashent votre Arduino — explication QSPI

C'est probablement l'erreur numéro 1 sur les projets ESP32 LED. Vous branchez vos LEDs sur G6, G7, G8... et la carte refuse de démarrer. LED de status qui clignote en boucle, aucun log série. Voici pourquoi.

Le bus QSPI : la mémoire flash interne

L'ESP32-S3 (qui équipe l'Arduino Nano ESP32) utilise une mémoire flash externe pour stocker le programme. Cette mémoire est connectée via un bus QSPI (Quad SPI) — un bus 4 fils ultra-rapide. Les pins qui portent ce bus sont G6, G7, G8, G9, G10 et G11. Dès le démarrage, le bootloader utilise ces pins pour charger le firmware depuis la flash. Si ces pins sont chargés (LED, résistance, etc.), le signal est perturbé et la carte crashe avant même de démarrer votre code.

Pourquoi ça marche parfois ?

Parfois la carte démarre malgré tout — charge trop faible, timing favorable. Mais c'est instable : ça peut marcher à froid et crasher à chaud, ou crasher après une mise à jour du firmware. Ne comptez pas dessus.

Les pins input-only

G34, G35, G36, G39 sont des pins input uniquement — pas de sortie possible. Parfaits pour lire un signal (récepteur RC, LDR, CH3) mais impossible de piloter une LED dessus. Sur Flare RC, G35 = LDR et G36 = CH3.

Les 21 pins PWM disponibles

Sur le Nano ESP32, les pins sûrs pour les LEDs (PWM) sont : G2, G3, G4, G5, G12 à G22, G23, G24, G25, G26, G27, G32. Flare RC les utilise tous pour ses 21 fonctions LED. G33 est analogique uniquement (LDR).

Règle d'or : Si votre carte plante au démarrage après avoir branché des LEDs, vérifiez en premier que vous n'utilisez pas G6-G11.
Articles liés
← Retour au blog