So I got myself an ESP32 and flashed it as a bluetooth proxy via the webtools (ESPHome Bluetooth Proxy)
This all worked nicely but then I decided I wanted to redo the device so installed ESP Home docker and have tried to flash it again with an updated definition.
However now the device just won’t flash and things just sit there stuck on preparing installation (I have left it for an hour) and no matter what I try it just won’t flash or respond to just about anything now.
esptool.js v0.1-dev
Serial port WebSerial VendorID 0x10c4 ProductID 0xea60
Connecting.......
Detecting chip type... ESP32
Chip is ESP32-D0WD-V3 (revision 3)
Features: Wi-Fi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: xx:xx:xx:xx:xx:xx
Uploading stub...
Running stub...
Stub running...
Changing baudrate to 115200
Changed
Erasing flash (this may take a while)...
Error: Timeout
Erasing flash (this may take a while)...
Error: Timeout
Erasing flash (this may take a while)...
Error: Timeout
Erasing flash (this may take a while)...
Chip erase completed successfully in 0.002s
``
where first timeout was instant, second took about 10 seconds, third was instant and then it instantly told me the erase was complete.
If I look in logs in ESP Home I just get
repeated thousands of times with the same timestamp. I have let it run for about 20 minutes and it is still repeating but it is starting to cause Chrome to lock up due to the size of the log.
Any suggestions on how I can get the controller back into the same state as when it was shipped so I can actually flash it?
If you power it through the serial connection during flashing, then the power might be too unstable and especially the erasing requires a lot of stable power, so that is usually the time of failure.
// most basic, always useful
esptool.py erase_flash
// this unbricked a lot of third-party ESP-s which sometimes got a wrong header address at OTA
esptool.py write_flash_status --non-volatile 0
// might be useful
espefuse.py set_flash_voltage 3.3V
// clearly define what to write and where
esptool.py --chip esp32 --baud 921600 --before default_reset --after hard_reset write_flash -z 0x0 xx.bin --flash_mode dio --flash_freq 80m --flash_size detect
Also useful to make sure you have adequate USB power behind it, remove all peripherals from GPIO, and power from high quality source. My Mac dock usb-C to USB sometimes isn’t enough…
Had the same issue when flashing esp32 using esphome flasher. It turned out that the issue was with GPIO12 being connected to to the 3.3V->5V converter. This blocked the boot sequence and as a result flashing was not possible
After breaking the connection on GPIO12 pin - all works like a charm.
Be careful when connecting your GPIO12 to anything…
Hi I recently started learning to use the esp32 and I don’t know why I thought I need to factory reset the devise and from then every time I try to load a code in to it it starts to spam this same prompt and I can’t figure it out why it’s happening
can someone please help me fix it with beginner language because I red in so many places but for the life of me I can’t figure it out
thank you