ESP32 C3 Ladeproblem

Kann man einen ESP32 C3 durch falsche Programmierung beschädigen?

Situation:

  • Vorhandenes laufendes Programm für ESP32 (große Platine)

  • Kauf von 3 x ESP32 C3

  • Einstellungen in der IDE angepasst (USB CDC enabled)

  • Hello World Programm auf ESP32 C3 geladen, läuft problemlos

  • Vorhandenes Programm (mit neuen Einstellungen für ESP32 C3) übersetzt und versucht zu laden, Fehlermeldung

  • Neuer Versuch Hello World Programm auf ESP32 C3 geladen, Fehlermeldung

  • Analyse: Vorhandenes Programm verwendet Pins, die auf den ESP32 nicht vorhanden sind.

  • Hello World Programm auf zweitem ESP32 C3 geladen, läuft wieder problemlos
    damit scheiden Kabel, USB-Port und PC als Ursache aus

Das laufende Programm verwendet WiFi und einen per Port angeschlossenen Infrarot-Sensor (Fernbedienung)

Ist es denkbar, dass nur die Verwendung nicht vorhandener Pins ein ESP32 C3 beschädigt wird?

Hallo und willkommen.

Bitte zu den Boards Links posten, es gibt nicht nur ein Board zu den Bezeichnungen.

Ja, je nachdem wie du diese Pins programmiert hast, ist das durchaus möglich. Um mehr dazu zu sagen, brauchen wir den genauen Sketch und das Schaltbild.

Ich denke nicht das du den ESP32 wegwerfen musst.

Ich vermute aber das es ein hartes Stück Arbeit wird, ihn wieder zu beleben.

Ich empfehle mal diesen Artikel zu lesen. Er beschreibt dein Problem ziemlich gut.

Gruß

Pucki

Und weiter gehts.
Wer lesen kann, ist klar im Vorteil.

Was hast du jetzt schon wieder zu meckern. ?

Wenn das MC-Board sich nicht programmieren lässt, brauche ich weder ein Schaltplan noch das Script was der TO gemacht hat. Er weiß ja schon wo er Mist gebaut hat.

Logische Schlussfolgerung.
Solange das MC-Board PING macht beim Einstecken, muss ich nur das Board wiederbeleben. Und um Stress zu vermeiden würde ich es sogar wen möglich aus der Schaltung entfernen und "nackt" auf den Tisch legen.

Gruß

Pucki

Wo ist es meckern, wenn man dich darauf hinweist, dass du nicht lesen kannst.

Erkläre mir mal was ich nicht verstanden haben soll. Ich weiß es wirklich nicht.

Gruß

Pucki

Von "verstanden" habe ich nichts geschrieben. Du hast den Beitrag des TO einfach nicht gelesen.
Mit dem ESP32 hat er kein Problem, mit dem ESP32-C3 schon.
Das sind aber sehr unterschiedliche Controller.

Nachtrag:
OK, ich berichtige mich:
Du verstehst tatsächlich nichts !

Wenn er es weiß, warum fragt er dann ?

Meinetwegen direkt von Hersteller.

Gruß

Pucki

Der Sketch ist recht umfangreich, ich zeige mal die Teile, die mit den Pins zu tun haben im
Zustand wie für den "großen" ESP32

#include <Adafruit_NeoPixel.h>
#include "PinDefinitionsAndMore.h"
#include "IRremote.h"
#include <Preferences.h>
#include <nvs_flash.h>
#include <WiFi.h>
#include <WiFiManager.h>

Preferences preferences;

int LED_PIN =18;
int IR_PIN =17;
int IRLED_PIN = 5; //V# 1.0.1
...
   pinMode(IRLEDPIN, OUTPUT);      
   digitalWrite(IRLEDPIN, HIGH);   
...
 Adafruit_NeoPixel strip(MAX_LED_COUNT+1, LED_PIN, NEO_GRB + NEO_KHZ800);
...
  IrReceiver.begin(IR_PIN, ENABLE_LED_FEEDBACK);
...
1 Like

Danke dir schon mal.
Da kann man mal durchlesen.
Bitte noch die Links der Boards posten.

Zusatz: Beim Test war der ESP32-C3 nur am USB-Port angeschlossen.
Alle Pins waren unbeschaltet

Es wäre schön, wenn Du die Art der Fehlermeldung bekanntgeben könntest.
Hat das Laden nicht geklappt, gibt es einen (wiederholten) Reset oder was sonst genau ging schief?

Wenn es das Laden ist: Geht das ursprünglich aufgespielte Hello World noch?

Nochmal NUR für den TO.

Wenn das Teil nicht mehr reagiert musst es ihm wieder Leben einhauchen.

DANACH ist es logisch du die Fehler im Code beseitigst.
Aber du hast ja oben geschrieben das du die "Falschen Pins" schon identifiziert hast.

Also einfach das "scheintote" Board wiederbeleben.

Und da ist das Zauberwort "Factory-Reset".

Und das geht, soweit ich weiß nicht mit der IDE.

Edit: Den selben Fehler habe ich in meiner Anfängerzeit mit einen NANO gemacht. War auch ein hartes Stück arbeit den vor den Schrott zu retten. Und es ging mir dabei nicht um die knapp 2 Euro :wink:

Gruß

Pucki

Nimm mal in der IDE diese Einstellung vor:

Erase All Flash Before Sketch Upload > Enabled

Wenn du diese Pins meinst, dann sind die auf einem ESP32-C3 schon vorhanden, nur werden diese für andere Funktionen genutzt. Daher kann dein Sketch nicht funktionieren. Z.B. ist der GPIO18 an USB gebunden. Das kann dann anschließend ein Upload blockieren.
Mit der zuvor geposteten Einstellung sollte das gelöscht werden.
Da braucht es keine Werksrückstellung.

war/ist enabled

mir geht es nicht um den eventuellen Verlust einer 3€ Platine.
Ich möchte nur vermeiden beim nächsten Versuch noch ein Board zu "schlachten"

... und hier die kopierte Fehlermeldung:
Sketch uses 246330 bytes (18%) of program storage space. Maximum is 1310720 bytes.
Global variables use 13892 bytes (4%) of dynamic memory, leaving 313788 bytes for local variables. Maximum is 327680 bytes.
esptool.py v4.5.1
Serial port COM21
Connecting......................................

A fatal error occurred: Failed to connect to ESP32-C3: No serial data received.
For troubleshooting steps visit: Troubleshooting - ESP32 - — esptool.py latest documentation
Failed uploading: uploading error: exit status 2

Das beschreibt dein Problem. Der serielle Zugang zum USB wird blockiert.
Mir ist dieses Problem am ESP32-C3 auch bekannt.
Hier kann auch Windows dir jetzt in die Suppe spucken. Nimm mal einen anderen USB-Port.

Nochmal: Poste bitte einen Link zu deinen Boards, dann sehen wir besser, was du verwendest. Auch die Forum-Richtlinien sagen das.

Dann schau dir das Pinout deiner Platinen vorher immer genau an.