Verzweiflung ESP32 Sketch hochladen, nix geht mehr

Hallo zusammen,
jetzt bin ich am Ende mit meinem Latein.

Habe:
Arduino IDE 2.2.1
ESP32 WROOM
Ausgewähltes Board: ESP32 DEV Modul
DHT22 auf GPO 2 mit 3.3V
COM3 (115200)

Sobald ich den ESP anstecke, kommt im Seriellen Monitor (hier Code(1) genannt):

13:02:11.433 -> rst:0x10 (RTCWDT_RTC_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
13:02:11.478 -> flash read err, 1000
13:02:11.478 -> ets_main.c 371 
13:02:11.837 -> ets Jun  8 2016 00:22:57

Wenn ich nun den Sketch hochladen will, kommt:

Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
WARNING: Failed to communicate with the flash chip, read/write operations will fail. Try checking the chip connections or removing any other hardware connected to IOs.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x00054fff...
Compressed 18992 bytes to 13112...

A fatal error occurred: Packet content transfer stopped (received 8 bytes)
Fehlgeschlagenes Hochladen: Hochladefehler: exit status 2

Nur, wenn ich den DHT22 ausstecke, kann ich den Sketch hochladen. Sobald ich den DHT wieder einstecke, kommt wieder code(1).

  • Habe den COM Port neu installiert, (Silicon Labs CP210x USB) Hat bisher immer funktioniert
  • Bereits an 4 neuen ESP Modulen getestet
  • Bereits 2 neuen DHT22 Sensoren getestet
  • Erease all flash before.. bei upload auch schon enabled
  • Verbindungskabel durch neues ersetzt

In Arduino IDE wird der ESP wie folgt angezeigt:
Daten-ESP

Wenn ich das alles auf einem Arduino UNO (mit 3.3V) hochlade, läuft alles sauber und der DHT22 gibt die Temp. Somit Anschluß/Schaltung und DHT22 = OK

Hier noch der ganz einfache Sketch:

#include <DHT.h>

#define DHTPIN 2
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(115200);
 
  dht.begin();
}

void loop() {
  dht.readTemperature();
  
  Serial.print("Temperatur: ");
  Serial.print(dht.readTemperature());
  Serial.println(" °C");

  delay(2000);
}

Mir fällt einfach nichts mehr ein. Wäre super, wenn der ein oder andere hier einen Lösungsvorschlag für die Ursache hätte.

Gruß
Falke07

Das ist der einzelne Chip, der noch weitere Beschaltung benötigt.
Oder verwendest du ein fertiges Board ?
Bitte Link zum Board posten.

Auch möglich, du hast den DHT22 falsch angesteckt.
Zeig mal ein Foto wie du den verdrahtet hast.

Weiterhin gilt:

  • GPIO 2 (muss während des Bootens potentialfrei oder LOW sein)

Kannst du auch hier nachlesen

Hier kannst du das nachlesen:

Schliesse den DHT22 an GPIO4 an und dann probiere noch einmal
Hier der angepasste sketch

#include <DHT.h>

#define DHTPIN 4 // GPIO 2 ist UNGEEIGNET 2
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(115200);

  dht.begin();
}

void loop() {
  dht.readTemperature();

  Serial.print("Temperatur: ");
  Serial.print(dht.readTemperature());
  Serial.println(" °C");

  stop_code_execution_until_freezingtime_is_over(2000);
}


void stop_code_execution_until_freezingtime_is_over(unsigned long freezingTime) {
  delay(freezingTime);
}

Es wird eine sich selbsterklärende function aufgerufen.
Die soll dich mit der Nase darauf stupsen was die function delay() macht

vgs

Hallo,

anbei der Link (38P)
https://de.aliexpress.com/item/1005001636295529.html?spm=a2g0o.order_list.order_list_main.13.2c2b5c5f8fxdLu&gatewayAdapt=glo2deu
ESP32
anschluss

GPO2: Ich stecke GPO2 aus , dann den ESP ein und der Sketch wird übertragen. Dann ESP aus, GPO2 ein und es kommt sofort der Code(1)

Auch bei GPO4 und dem modifiziertem Sketch verändert sich nichts.

Kann es sein, dass es an der IDE bzw. der Bordauswahl liegt? (ESP32 2.0.11 von Espressif System)
Denn egal was ich an den ESP anschließe, (BME280 oder DHT11) es geht nichts

Also das ist eine zu knappe Beschreibung

Dann ESP aus, GPO2 ein und es kommt sofort der Code(1)

Soll das heißen du entfernst das USB-Kabel vom ESP dann verbindest du was für einen Sensor mit GPIO2 und dann kommt Code(1) ?
Wie soll der ESP laufen wenn das USB-Kabel abgesteckt ist?
Was ist "Code(1)"?

Also wenn das mit der Unterstützung flott vorangehen soll, dann solltest du von dir aus sehr viel detaillierter beschreiben was du machst und was du dann beobachtest.
Sonst sitzen wir hier erst mal 20 postings lang mit immer wieder erneutem nachfragen nach bestimmten Details.

Du hast es in der Hand wie schnell es vorangeht.
Schnell kurz posten = sehr viele Nachfragen = lange Zeit bis zur Lösung

Sich Zeit nehmen detailliert zu posten = keine (oder wenige) Nachfragen schnelle Lösung

vgs

Eher nicht. aktueller Core ist ESP32 2.0.14
Wenn schon ein Bild von der Verdrahtung dann eines auf dem die gesamte Verdrahtung zu sehen ist.
Alle Leitung vom ESP32 bis zum Sensor so fotografiert das man den Leitungsverlauf einer jeden Leitung nachvollziehen kann. Also entweder alle Leitungen sind vollständig auf dem Bild oder jede Leitung hat eine andere Farbe

Du musst uns schon zeigen wie und wo du es am ESP32 angeschlossrn hast. So können wir das nur raten.

Code(1) ist vermutlich das hier:

Was ist denn daran Code(1) ??

Falke07 bezeichnet es halt so :wink:

Das hab sogar ich verstanden.
Und warum code(1)?
Weil es - richtig! - in Codetags geschrieben wurde.

Ja, wer hätte auch schreiben können Fehlermeldung1. Aber ganz ehrlich: Einwenig mitdenken ist doch nu nicht zuviel verlangt. Oben schreibst Du noch Du willst keine 20 Posts und diskutierst hier um eindeutige Aussagen..

Das neue Jahr wäre so ein guter Anfang gewesen....

Moin zusammen.

Erstmal ein gutes neues Jahr.

Zum Thema:

  1. Anschluß:
    bild01_ESP

Am DHT:
1 = 3,3V
2 = Signalleitung (mit 10Kohm)
3 = leer
4 = GND

Vorgehensweise:
Wenn alles angeschlossen ist (DHT22, ESP, USB) und ich den Sketch hochlade, kommt folgende Fehlermeldung beim Hochladen:

Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
WARNING: Failed to communicate with the flash chip, read/write operations will fail. Try checking the chip connections or removing any other hardware connected to IOs.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x00054fff...
Compressed 18992 bytes to 13112...

A fatal error occurred: Packet content transfer stopped (received 8 bytes)
Fehlgeschlagenes Hochladen: Hochladefehler: exit status 2

Nun stecke ich den USB =>ESP aus, trenne am ESP die 3,3V Zuleitung zum DHT22, Stecke USB => ESP wieder ein und lade den Sketch hoch (erfolgreich).

Dann Trenne ich USB => ESP, schliesse die 3.3V Zuleitung an den DHT22 wieder an, Stecke USB => ESP wieder ein.

Nun kommt sofort im seriellen Monitor die Meldung:

13:02:11.433 -> rst:0x10 (RTCWDT_RTC_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
13:02:11.478 -> flash read err, 1000
13:02:11.478 -> ets_main.c 371 
13:02:11.837 -> ets Jun  8 2016 00:22:57

Wie bereits geschrieben, sollte die DHT22 Ansteuerung und somit der Sensor DHT22 OK sein, da ich dass ganze mal versuchsweise an einen Arduino UNO (3,3V Steuerleitung auf A4) angeschlossen habe und da hat auch alles funktioniert. (Hochladen mit angeschlossenem DHT22 mit anschließender Temperaturausgabe im seriellen Monitor)

Dann suche mal nach ESP32DTHT

Bevor Du eine andere Lib ausprobierst, versuche den Upload mal mit 115200 statt 921600 Baud...

1 Like

Frohes neues Jahr.

Bei den ESP32 treten ganz kurze hohe Stromspitzen auf. Die muss man gut mit Strom versorgen.
Eine Maßnahme ist einen mindestens 1000 µF großen, besser 2200µF Elektolytkondensator möglichst nahe an GND und 3.3V anzuschließen.

Den DHT über eine andere Spannungsquelle zu versorgen.
Dabei wichtig: die Minusleitungen müssen miteinander verbunden sein.

Ich habe mal die Fehlermeldung in google eingegeben und dann diese Info gefunden

Da gibt es eine Antwort Zitat:
"RE: Boot-Schleife beim ESP32 - wie Lösbar?
Hallo zusammen,
ist schon etwas her seit der Fragestellung. Aber evtl. hat noch jemand das besagte Problem.
Man sieht auf deinem ersten Bild sehr gut, dass du den GND Pin neben 5V verwendest (Pin 30). Dieses ist aber entweder undeutlich geschrieben oder falsch auf der Platine gedruckt. War bei mir leider auch so.
Der Pin sollte nicht GND sondern CMD heissen. Er dient für das interne Flash, bzw SDCmd. Wenn dieser auf GND gelegt wird kann der ESP nicht booten, da kein Flash vorhanden ist. Mit einem durchgangsprüfer sieht man auch das der Pin keine Verbindung zu den anderen GND Pins hat.
Also nur die anderen GND Pins verwenden. Der Fehler hat mich 1 Stunde suchen gekostet.

VG Markus"
also probiere mal einen anderen GND-Pin aus

vgs

3 Likes

Ja, das mit dem falsch benannten PIN ist auch ein guter Hinweis. Der hat mich vor längerem auch mal "genarrt".

1 Like

Hallo,

Das hatte ich schon versucht; sogar alles (inkl. COM- Port auf 9600 runtergezogen); ohne Erfolg

@Kai-R @StefanL38
Das ist der Fehler und die Lösung!!

GND von "alt" auf "neu" und alles läuft!!

Ich danke Euch vielmals für die Hilfestellung; denke da wäre ich nie alleine drauf gekommen. Habe u. a. einfach nach den falschen Fehlermeldungen gegoogelt. Man lernt halt nie aus.

Wünsch Euch allen einen happy day; meiner ist nun happy :grinning:

Die Fehlermeldungen sind nicht falsch.
Lediglich die Antworten dazu, haben dir nicht weiter geholfen.

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