ESP32-C3 Custom board

Bonjour à tous,

Je me suis amusé à créer une carte perso. Je l'ai reçue et je suis ravi de ma commande cependant il m'est impossible d'uploader quelconque programme dessus.

Première chose importante, quand je connecte simplement la carte à mon ordinateur, elle se connecte puis se déconnecte et ainsi de suite toutes les 3 secondes environ (dans le moniteur série j'ai une erreur "invalid header" suivi d'un code hexadécimal).

Deuxième chose, quand je me mets en mode de téléchargement il m'est impossible d'envoyer un programme sur la carte - j'ai le droit à un joli message d'erreur "packet content transfer stopped (received 8 bytes)"

Alors après quelques recherches et une quantité d'essais j'ai essayé sous différents IDE (Arduino bien évidemment et celui de Espressif avec ESP-IDF). J'ai également essayé différentes façons d'envoyer mon programme en modifiant la Fréquence de flash, le Mode de flash, l'adaptateur JTAG, le Schéma de partition et le Débit mais rien n'y fait alors j'en ai conclu que j'avais certainement fait une erreur sur ma carte perso.

Je vous envoie le schéma, si vous pouvez m'aiguiller je vous en serais très reconnaissant :slight_smile:

Windead

Bonjour,

Tu as mesuré le courant pendant le démarrage?
Tu pourrais aussi vérifier à l'oscilloscope la forme du 3.3V.
Le HT7333-7 est spécifié pour 250mA, c'est peut-être un peu limite.

A noter, le schéma est un peu touffu, difficile à lire.
Il ne faut pas hésiter à utiliser des labels pour éviter d'avoir des fils dans tous les sens et/ou utiliser 2 feuilles en séparant par exemple la partie alimentation et connectique du reste

1 Like

Bonjour,

Merci pour ta réponse.

Je n'ai malheureusement aucun matériel pour faire ce type de mesures et de ce fait pas d’oscilloscope.

J'imagine que j'aurais du mettre un régulateur en 500mA du coup ?

Je suis désolé pour la qualité du schéma je fais seulement ça en guise de passe temps. En tout cas merci pour les conseils je prends note :slight_smile:

Bonjour

oui un régulateur 500mA pour 'assurer' lors des pics de courants

mettre au point une telle carte sans oscilloscope ni analyseur logique est délicat...

L'antenne Mifa imprimée et l'adaptation d'impédance est aussi un pount délicat
On peut éviter cela en prenant un module Espressif et non une puce ESP32-C3 nue

Excusez la naiveté de ma question, mais est il possible de mettre en paralléle des régulateurs LDO (IIRC, on pouvait l'oser avec des 7805); l'avantage, si ce n'est pas une hérésie, serait qu'il n'y aurait pas à dessouder quoi que ce soit pour des essais.

Lorsque j'avais testé l'utilisation de module ESP8266, cela passait avec un régulateur de 250 mA, même si finalement je suis passé à un 500mA, suite à la lecture des articles de @hbachetti
Normalement au reboot en boucle tu as un message différent de celui que tu indiques par contre.

Pour les schémas tu peux t'inspirer des schéma que tu trouve pour les cartes de développement à base d'ESP ou pas.
Mais tu utilises déjà un label pour le 3.3V ou la batterie, donc c'est que tu as quand même des bases :slight_smile:

Edit: Les 500mA étant nécessaire pour le wifi, si tu boot en mode programmation, le µC doit démarrer je pense.
ha devancé par @al1fch :slight_smile:

La mise en parallèle de régulateurs de tension est une hérésie !

Avec ton régulateur actuel sous-dimensionné il me semble que la carte devrait fonctionner tant que le WiFI n'est pas activé, voire m^me le Bluetooth

Pour la conception de ta carte as-tu pris le temps de bien étudier le document ci-dessous et t'y conformer ?
Hardware Reference Guidelines

... entre autres chose la partie Strapping Pins (pages 11 et 12) où l'on apprend que GPIO8 doit être à l'état haut pour que le téléversement fonctionne
Sur les cartes avc ESP32-C3 que je connais une résistance de pull up est en place sur ce GPIO8

je confirme : tel quel ton schéma est long à analyser, celui de la LOLIN C3 Mini est plus clair !

Si tu l'exportes toin schéma d'EsayEDA en .json avec Fichiers/Exporter/EasyEDA tu pourrais le communiquer ici en le zippant, ça faciliterai un petit peu son analyse

Déjà, merci à tous pour vos réponses

@al1fch J'ai voulu essayer de faire ma propre carte seul et je me rends bien compte qu'il aurait été nécessaire de faire appel à de l'aide plus tôt. J'enverrai mon schéma comme tu me l'as indiqué demain dans la mâtiné

@terwal Je pensais avoir un message différent à chaque démarrage également mais c'est ce message en boucle qui est toujours le même qui me fait penser que j'ai du faire une erreur quelque part. Une grande partie de mon schéma est sortie de la doc Espressif pour être franc. Quant au wifi je n'en ai pas besoin, je n'ai besoin que du Bluetooth mais je n'ai trouvé aucun MicroProcesseur qui ne prenne en charge que le BT et qui soit "à la portée" d'un newbie

je n'ai trouvé aucun MicroProcesseur qui ne prenne en charge que le BT et qui soit "à la portée" d'un newbie

Attention, la variante -C3 des ESP32 supporte le BLE, pas le Bluetooth 'classique'

Sur ta carte maison , peux-tu intervenir sur GPIO8 pour y ajouter un pull-up ?
ça résoudra au moins une partie du problème... avec un boitier QFN32 de 5mm x 5mm ce n'est pas évident à postériori !

Attention, la variante -C3 des ESP32 supporte le BLE, pas le Bluetooth 'classique'

Oui BLE pardon j'ai marqué BT par étourderie

Sur ta carte maison , peux-tu intervenir sur GPIO8 pour y ajouter un pull-up ?
ça résoudra au moins une partie du problème

Oui je peux ! Quelle valeur de résistance tu me conseilles ?

la valeur de ce pull-up n'est pas critique, tu peux faire ce que tu as fait pour EN et GPIO9

D'accord merci je ferais ça :slight_smile:

Si tu l'exportes toin schéma d'EsayEDA en .json avec Fichiers/Exporter/EasyEDA tu pourrais le communiquer ici en le zippant, ça faciliterai un petit peu son analyse

Au fait, @al1fch, je reviens sur ton message j'ai fait la manipulation de manière à exporter mon schéma en json. Je suis nouveau sur le Forum alors je n'ai pas encore le droit d'envoyer des fichiers alors je le partage par le biais de Mega

Tu peux le télécharger ici

bonjour @windead

je joins ton schéma (json chargeable par EsayEDA)

Sur ce schéma GPIO8 n'est pas connecté.
Que donne la carte une fois que GPIO8 a sa résistance de pull-up ? téléversement possible ?

Schéma.zip (24.8 KB)

Bonsoir,

Merci d'avoir mis le fichier plus accessible

Malheureusement le rajout de la résistance pull-up sur le GPIO8 n'a rien changé. J'ai même essayé un transfert depuis un pont UART sur les pin TX RX (avec un module CP210x USB à pont UART) mais ça n'a rien donné

Je ne sais pas trop quoi faire

pour activer le bootloader tu fais bien la manip suivante :

appui maintenu sur ton bouton BOOT puis appui bref sur le bouton EN et enfin relâchement du bouton BOOT

Ton schéma ne comporte pas de composants destinés à activer automatiquement le bootloader , il faut donc faire cela à la main

si ça ne va pas , vu que tu n'as ni multimetre ni oscilloscope je ne sais pas quoi te proposer pour établir un diagnostic

Oui je fais bien cette manip

Dans le cas où je passe par l'USB-C j'obtiens une erreur : Write timeout
Et si je passe par le pont UART j'obtiens l'erreur : No serial data received

Je pense avoir un problème hardware quelque part mais je ne sais pas laquelle.

Merci en tout cas pour ton aide

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.