← Toutes les notes

Mai 2026

Sortir un microcontrôleur d’un bootloop

Forcer le ROM bootloader, effacer la flash entière, reflasher un firmware minimal sans radio ni PSRAM pour isoler hardware et logiciel. Le piège du mode PSRAM.

Un microcontrôleur qui redémarre en boucle ne dit pas s’il est mort ou seulement mal flashé. Le réflexe est de tout reflasher, mais sans méthode on reflashe par-dessus l’état corrompu et le bootloop persiste. Il faut d’abord neutraliser le logiciel pour isoler le matériel.

Forcer le bootloader et tout effacer

On force d’abord le ROM bootloader, gravé en usine et indépendant du firmware applicatif, en maintenant la broche de boot au reset. Ce mode répond toujours, même si l’application est cassée. Ensuite on procède à un erase flash complet : partition table, NVS et zones OTA comprises, pas seulement la partition applicative.

Un NVS corrompu ou une table OTA pointant sur une image invalide suffit à entretenir un bootloop indéfiniment.

Reflasher minimal et le piège PSRAM

On reflashe ensuite un firmware minimal, sans radio ni PSRAM exotique, juste de quoi clignoter une LED et parler sur le port série. S’il tourne, le hardware est sain et le problème était logiciel. Le piège classique est le mode PSRAM : un firmware compilé pour une PSRAM absente ou d’une autre variante boucle au démarrage avant toute trace utile.

Le principe à retenir : effacez tout, repartez d’un firmware nu, et réintroduisez radio puis PSRAM une étape à la fois.