Flash ESP32C3 12F avec carte "sans soudure", help

Hello

Quelqu’un a-t-il déjà réussi à flasher un ESP32C3 12F avec ce genre de carte ?
J’ai l’impression que je le passe bien en flash mode, mais rien n’y fait…

J’ai besoin de le flasher avant de le ressouder à une PCB en remplacement d’une puce WIFI WBR3

Quel sont tes branchements ?
L’ESP-C3 à un port USB en natif, c’est le mode de flash actif par défaut (à condition que les boches d’alim/reset/straping soient au bon niveau)

Salut @Forhorse

Alors je ne suis pas certain de répondre 100% à la question mais la situation est la suivante:

  • photos réelles du matériel, liens boutiques carte et esp32
  • coté support, impossible de savoir qui est branché avec quoi, le vernis foncé empeche de voir le circuit.

Ceci dit, j’ai quand même un comportement qui me laisse penser que le branchement est assez bon :

  • avec un bête allumage du support , et le branchement usb j’obtient ce genre d’infos sur la console

    [18:57:54]ESP-ROM:esp32c3-api1-20210207 
    [18:57:54]Build:Feb  7 2021
    [18:57:54]rst:0x1 (POWERON),boot:0x9 (SPI_FAST_FLASH_BOOT)
    [18:57:54]SPIWP:0xee
    [18:57:54]mode:DIO, clock div:2
    [18:57:54]load:0x3fcd5820,len:0x16b8
    [18:57:54]load:0x403cc710,len:0x964
    [18:57:54]load:0x403ce710,len:0x2e94
    [18:57:54]entry 0x403cc710
    [18:57:54]I (31) boot: ESP-IDF v5.0.2-376-g24b9d38a24-dirty 2nd stage bootloader
    [18:57:54]I (31) boot: compile time 10:35:22
    [18:57:54]I (32) boot: chip revision: v0.4
    [18:57:54]I (35) boot.esp32c3: SPI Speed      : 40MHz
    [18:57:54]I (40) boot.esp32c3: SPI Mode       : DIO
    [18:57:54]I (45) boot.esp32c3: SPI Flash Size : 4MB
    [18:57:54]I (49) boot: Enabling RNG early entropy source...
    [18:57:54]I (55) boot: Partition Table:
    [18:57:54]I (58) boot: ## Label            Usage          Type ST Offset   Length
    [18:57:54]I (66) boot:  0 otadata          OTA data         01 00 0000d000 00002000
    [18:57:54]I (73) boot:  1 phy_init         RF data          01 01 0000f000 00001000
    [18:57:54]I (81) boot:  2 nvs              WiFi data        01 02 00010000 0000e000
    [18:57:54]I (88) boot:  3 at_customize     unknown          40 00 0001e000 00042000
    [18:57:54]I (96) boot:  4 ota_0            OTA app          00 10 00060000 001d0000
    [18:57:54]I (103) boot:  5 ota_1            OTA app          00 11 00230000 001d0000
    [18:57:54]I (111) boot: End of partition table
    [18:57:54]I (115) esp_image: segment 0: paddr=00060020 vaddr=3c160020 size=32438h (205880) map
    [18:57:54]I (168) esp_image: segment 1: paddr=00092460 vaddr=3fc95c00 size=0386ch ( 14444) load
    [18:57:54]I (172) esp_image: segment 2: paddr=00095cd4 vaddr=40380000 size=0a344h ( 41796) load
    [18:57:54]I (184) esp_image: segment 3: paddr=000a0020 vaddr=42000020 size=155650h (1398352) map
    [18:57:55]I (490) esp_image: segment 4: paddr=001f5678 vaddr=4038a344 size=0b828h ( 47144) load
    [18:57:55]I (502) esp_image: segment 5: paddr=00200ea8 vaddr=50000000 size=00018h (    24) load
    [18:57:55]I (509) boot: Loaded app from partition at offset 0x60000
    [18:57:55]I (509) boot: Disabling RNG early entropy source...
    [18:57:55]v3.2.0.0
    
  • Et si je fait la manip maintient prog/reset je bascule

    [19:00:49]ESP-ROM:esp32c3-api1-20210207 [19:00:49]Build:Feb  7 2021
    [19:00:49]rst:0x1 (POWERON),boot:0x1 (SPI_DOWNLOAD_BOOT)
    [19:00:49]wait spi download
    
  • J’ai aussi ponté le GPIO9 sur la masse, le résultat est identique

J’ai testé ESPHome-Flasher, Flash Download Tool (officiel Espressif) et esptool en ligne de commande, le flash echoue

Using 'COM3' as serial port.
Connecting......................................
Unexpected error: ESP is not in flash boot mode. If your board has a flashing pin, try again while keeping it pressed.

J’ai ressorti un vieux convertisseur USB FTDI branché sur TX/RX sans plus de résultat

Bon, c’est le problème des produits chinois, c’est pas cher, dans la grande majorité des cas ça fonctionne, mais la doc est bien souvent inexistante ou très lacunaire.
On va supposer que toutes les connexions sont faites correctement pour programmer les ESP vu que c’est vendu dans ce but.

Le bouton prog et GPIO9 c’est la même chose.

De mémoire, ESP hors tension, tu maintient appuyé « PROG » et « RESET », tu met sous tension, après quelques secondes tu lâches « RESET » tout en maintenant « PROG » appuyé. Tu lances la programmation (ou l’effacement) dans Espressif Flash Download Tool et quand c’est parti tu peux lacher « PROG »

Merci pur tout retour

Oui, c’est assez sommaire coté doc, bon après pas certain que ce genre de bidule soit autre chose que chinois à la base

Ok, c’est pas exactement la séquence, j’ai laché le bouton prog avant de lancer le flash
Je teste ça dès mon retour à la maison en fin de semaine, je viens de grimper dans le train.

Après il faut encore voir si la carte est prévue pour les ESP32-C3… ESP-12x ça me fait plus penser à des ESP32 « tout court » (voir même des ESP8266…*) et la broche de prog n’est pas la même (GPIO0)

Il serait bon de vérifier que le bouton prog agit bien sur le GPIO9 (et que le GPIO9 de la carte correspond bien au GPIO9 du module ESP)

*EDIT : D’ailleurs, dans la boutique alixpress, ils proposent 2 modèles : ESP8266 et ESP32, le modèle que tu montres en photos en #1 c’est le modèle ESP8266 : c’est écrit dessus (les ESP-12x c’est des variantes de l’ESP8266) donc même si ton ESP32-C3 rentre physiquement dans le support, pas certains que le « pinout » corresponde exactement.
Je vais essayer de creuser pour voir les (non) correspondances et les éventuelles adaptations nécessaires.

1 « J'aime »

Bonne idée,
De mon coté, j’ai commandé une paire d’esp8266 aussi, histoire de lever le doute

De ce que j’ai pu voir, ton module ESPC3 est pin-to-pin compatible avec un ESP8266 (en tout cas pour la partie flash) donc ça devrait fonctionner avec la bonne séquence.

Bon j’ai trituré le truc un peu dans tous les sens, ça flashe pas. J’attends les 8266

Salut,

Je suis tombé sur ton post, et par curiosité j’ai voulu tester.
J’ai acheté ces mêmes puces il y a quelques semaines, pour tester par rapport aux 8266 12F classiques. J’ai également la carte de flash sans soudure, conçue pour les ESP8266, mais comme l’a souligné @Forhorse , c’est « pin compatible », enfin presque.

Comme toi, impossible de flasher. Je l’ai branchée sur le PC et passée sous crible avec le moniteur Arduino. C aparle un peu chinois, mais Gemini a pigé.
En fait, la carte est bien reconnue, elle boote, mais ne parvient pas à passer en état flash. Et le fautif est le GPIO8.
Pour cette carte ESP32 12F, le GPIO8 doit être impérativement en pullup, sinon, ça n’autorise pas le flash (via GPIO9).
Or sur la carte qui accueille l’ESP12, ce fameux GPIO8 correspond au GPIO15 de l’ESP12F classique, connecté à une LED. J’ai mesuré 1.2V au lieu des 3.3V attendu.
Malheureusement (par manque de temps), je n’ai pas pu aller jusqu’à l’étape du flash.
J’ai soudé des pins sur cet ESP32 12F, et au moment de tout raccorder, le pin vcc s’est arrachée, avec la platine…

Je m’y remettrai prochainement. En tout cas, cette piste (GPIO8 en pullup) semble prometteuse.

J’ai pu ressouder une patte sur le pin du vcc.
En mettant le GPIO8 en pullup, j’ai pu flasher le module sans soucis.
Après redémarrage, le module est bien reconnu sous ESPHome.

LA solution serait de trouver une platine compatible (ça doit pas courir les rues…) pour simplifier le processus et éviter de se retrouver avec le bordel ci-dessous.

A noter que le C3 se flash en USB directement (GPIO18 & 19). Je ne sais pas si en passant par là il prend en compte ou non les straping pin.
Mais quand je flash mes modules en passant par l’USB j’ai même pas besoin de passer GPIO9 à l’état bas.

Salut
Intéressant tout ça.
Du coup si on a 1.2V au lieu de 3.3V c’est pas possible de ponter directement le pin ?
Risqué pour la carte j’imagine ?

Après les ESP8622 sont en route, donc le seul truc que je vais perdre c’est le proxy BT que j’envisageais de mettre en place aussi

Faudrait avoir le schéma de la carte. Mais je ne vois pas spécialement de contre indication… au pire la led connectée sur la pin s’allume, pas bien gênant…

1 « J'aime »

Succès !!!



Merci !!!

2 « J'aime »

Super !
Par contre attention, sur ta photo j’ai l’impression que tu as mis le GPIO8 au +5V, c’est au +3.3V qu’il faut le brancher (les ESP sont des µC en 3.3V)
Les ESP sont plus ou moins 5V tolérant mais c’est pas une habitude à prendre.

Tu as parfaitement raison, le 3.3V est de l’autre coté. Bien vu.

Pour la petite histoire, je suis parti sur ce projet

Et les premiers essais sont bons

Effectivement, bien joué !

J’avais également ponté le pin GPIO8 en 3.3V mais uniquement regardé le résultat sur l’arduino moniteur. J’ai pas essayé de flasher avec ! L’important c’est que ça fonctionne ainsi !
Concernant ce projet, j’ai ai réalisé 3 chez moi avec le Create Windcalm (swap de puce avec ESP12F 8266).
Ca fonctionne nikel depuis 2 ans.
Le truc impératif dans le yaml ESPHome : Il faut mettre

logger:
  baud_rate:0

Sinon, va ya avoir conflit sur la ligne avec les commandes envoyées au MCU. Chez moi, ça laggait à mort ou alors, les commandes n’étaient pas transmises. Avec cette ligne, le ventilateur est super réactif (via un interrupteur zigbee). Faudrait que je teste avec cet ESP32 12F pour voir si ça améliore encore la rapidité.

1 « J'aime »

Oui, j’ai suivi les docs, donc je ne suis pas piégé et j’ai cette ligne.
Coté réactivité, pour l’instant c’est assez sommaire, l’intégration HA débute
J’ai surtout bossé sur la synchro des états du MCU / ESP pour que toutes les fonctions issues de la télécommande soient prises en compte. J’ai un NSPanel en route pour remplacer le tout à ce moment là je serai en dire plus sur la fluidité.