Programmation ESP32-WROOM

Bonjour,

Je m'intéresse aux ESP32 depuis quelques temps, j'ai récemment conçu et commandé un PCB afin de faire des tests avec ce microcontrôleur.

Problème : je n'arrive pas à le programmer !

Niveau gestionnaire de carte, j'ai sélectionné la carte ESP32-WROOM-DA-Module, simplement parce que je ne savais pas laquelle choisir.

Le port com est bien détecté par l'IDE Arduino, ce qui signifie que mon CH340C est fonctionnel.
image

Lorsque j'essaie de téléverser mon programme, voici le message d'erreur que l'IDE Arduino me donne :

Pour info, voici mon schéma :

Pour la programmation :
(le CP2102 n'est pas présent sur la carte)

Et pour l'ESP32-WROOM 32S :


Désolé, le schéma n'est pas très beau, c'est simplement une carte de test :sweat_smile:

J'ai peut-être fait une erreur, mais si c'est le cas, je ne la trouve pas.
J'espère que vous pourrez m'aider à faire fonctionner ce PCB.

Bonjour @0_antoine_0

As-tu essayé de forcer manuellement l'ESP32 en mode Prog avec SW1 et SW2 avant de lancer le téléversement ?
1° Appui maintenu sur SW2
2° Appui bref sur SW1
3° Relâchement de SW2

J'ai compris que le CP2102 n'est pas implanté sur la carte
Pourquoi Q1 et Q2 en plus de Q3 et Q4 ?

Sur le schéma de référence (carte Devkit d'Espressif) ( et les cartes que je connais) ce sont des transistors bipolaires NPN qui sont utilisés pour obtenir le passage automatique en 'mode prog' . Il n'est pas certain que le timing EN GPIO0 soit OK avec tes Mosfets, avec en plus 1µF pour C5 et C11 au lieu de 0,1µF sur la carte de référence

Disposes-tu d'un oscilloscope ? d'une analyseur logique ? (pour faire le débuggage de ta carte)

Le module WROOM-32 est -il correctement soudé sur la carte ?

As-tu fait une maquette (= validation du schéma) avant de lancer la fabrication des circuits imprimés et le câblage des composants ?

NB fais un copié collé des messages d'erreur , ne mets pas d'image,
réserves les images à tout ce qui n'est pas du texte

A tout hasard:

N'as tu pas un pb de niveau entre USB qui fonctionne en 0-5V et ESP qui fonctionne en 0-3.3V (sur les lignes D+, D-)?

Bonjour @jef59

Les bornes Vcc et V3 du CH340 du montage d'0_antoine_0 étant connectées à 3,3V , les niveaux logiques de et vers l'ESP32 sont OK .
Alimenté de la sorte le' CH340 est conçu pour supporter 5V sur ses bornes D+ et D- (côté ordi) :

on le trouve souvent comme çà sur les cartes LOLIN ( entre autres ) :

Bonjour à tous,

J'ai enfin trouvé mon problème !
Après pas mal de tests et de lectures, je me suis rendu compte que je n'avais pas de résistance de pull-up sur la broche EN (Reset).

J'en ai placé une de 10K entre la broche EN et le +3.3V et j'arrive à programmer correctement mon ESP32-WROOM 32S.

En revanche, lorsque les leds D8, D9, D10, D11 et D12 (respectivement connectées de la pin 17 à la pin 22 de l'ESP) sont brasées sur le PCB, l'ESP reset en boucle... J'ai essayé de lire la doc mais je ne trouve pas de raison compréhensible à ce problème.

C'est simplement une erreur de schéma, j'ai bêtement copié cette partie depuis un schéma qui utilise ces deux convertisseurs UART-USB sans penser que dans ce cas, les deux avaient vocation à communiquer avec le même CI

Effectivement, je suis obligé de forcer la programmation avec les deux switch, les valeurs des condensateurs sont trop grandes à ton avis ?

Pour expliquer mon choix, j'ai simplement vu des BSS138 utilisés avec un CH340C sur certains schémas (comme ici), et j'en avais pas mal en stock.

J'ai enfin trouvé mon problème !
:+1:

LEDS témoin : ne rien raccorder aux GPIO 6 à 11 qui sont utilisés à l'intérieur du module WROOM32 pour relier le micro-controlleur ESP32 et sa mémoire Flash SPI externe (sous le capot métallique d'un module WROOM-32 il n'y a pas que l'ESP32) !!!

https://randomnerdtutorials.com/esp32-pinout-reference-gpios/

Un ESP32 gère plusieurs bus SPI, tu as mis des LEDS sur celui qu'il vaut mieux laisser tranquille pour ne pas pertuber les échanges entre l'ESP32 et sa mémoire Flash (externe)

Pour la valeur du condensateur C5/C11 et le choix de MOSFETS à la place de transistors bipolaires pour le passage automatique en mode PROG, si ça fonctionne comme ça ..........

Tu as trouvé des MOSFETs sur une page perso.... de mon côté je n'ai jamais encore vu ça repris sur une carte du commerce

Ha oui, effectivement...
Je devais être fatigué en lisant la datasheet :smile:

Juste pour info, je viens d'enlever le condensateur C11 (1uF) et les signaux reset et boot passent nickel, les BSS138 semblent être une option viable !
la programmation se fait sans soucis, sans avoir besoin de la forcer avec les switch SW1 et SW2.

Merci beaucoup @al1fch, j'ai réussi à remettre en question mon travail grâce a toi, je vais afficher la solution à ma question.