-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ESP does not start after reflashing #8
Comments
Perhaps new units have secure boot enabled? In which case you should revert to backup image which hopefully you made before flashing. |
One more thing... can you take a picture of just the ESP32? Is that WROOM-32D? |
The microcontroller is truly an ESP-WROOM-32D. Unfortunately, I didn’t make a backup of the original firmware, I was in too much of a hurry, so if you could share, I’d be grateful. The output of the uart after the firmware does not provide any data, so I can’t see the error there either. I took the latest firmware intended for "linp-doorbell-g04". |
@reshet86 If your second photo is from after you've flashed it, it looks as though you may still have IO0 shorted to the corner pin (your black wires seem to be touching each other). Although they don't appear to be connected to ground, it's possible that being connected to each other is causing the ESP32 to boot in an unexpected mode (or not boot at all) - please check that they're not connected (to ground, each other or anything else) when you apply power, and see if that allows it to boot. |
@pauln Yes, indeed, I shorted the angular contact and IO0 contact to the GND contact for firmware. Because I didn't understand the instructions in your manual correctly. Today I will try to flash again, but this time I will short-circuit IO0 and GND for flashing. (I removed the lower right contact and IO0 contact after the firmware so that ESP would start, but this did not bring results) |
After re-flashing, in which I shorted the bottom right pin to ground, the flashing was successful. I was able to connect the uart terminal - rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2)) |
That means you still have short on gpio0. Purpose of connecting gpio0 to gpio2 and then to gnd is to force esp to go into flash mode, which it currently is in. |
Are you using flux? :) |
Absolutely wild ride with this thing. Soldered it back, inspected what's left of the resistor and powered it off single 18650 cell discharged to 3.5V. I was successful at saving the original firmware and flashing esphome, capturing the address and re-flashing it with new address. Gonna use it with dedicated 3.3V PSU which I strongly recommend to every user of this doorbell base. |
I washed the board from flux and rang it with a multimeter. I did not find any damage to the tracks or contact pads; the contacts that were closed remained closed. Apparently something went wrong somewhere and I damaged either the board or the chip itself. I see only two options: 1. Buy a new doorbell and try to flash it again; 2. Try to re-solder the esp32 chip and try to flash a new chip. |
Remember that the top cover of esp32 is connected to ground. It's very easy to bridge any of it's gpios with it. |
@szymucha94 That sounds like a wild ride, indeed! As noted in the flashing instructions, powering it off an isolated 3.3v supply is much better from a safety perspective anyway; I'm glad that your only casualties were one doorbell and a resistor on a second. As I noted in the readme, I use a 3.3v regulator (either with a USB cable soldered to it, or using a readily available USB port on a small breakout board so that any matching USB cable can be used) to power these units, rather than trying to reseal the original case (or build a new one) in a manner such that I'd be comfortable plugging it back into the mains. A dedicated 3.3v power supply is definitely also a fine option. As for the internal temperature sensor, the issue you noted above looks to be in core ESPHome rather than anything provided by this repository. I don't currently have a doorbell unit at hand that I can experiment with, but I might be able to have a play over the weekend to see if I can help you get it working - assuming that these cut-down single-core ESP32s actually have a usable temperature sensor. It's amazing just how many revisions of these doorbells they seem to have made - that "busy" pad you've circled isn't there on all revisions of the g04, but it's good to know that it's connected to GPIO2 for anyone who has that revision. (To answer your question about GPIO2, it must be either floating or low to enter flashing mode; I don't recall whether I found that it was being pulled high by something else or whether I just figured that if you're already soldering wires, you may as well tack one on to GPIO2 so that you can make sure it's pulled low...) @reshet86, if GPIO0 and GPIO2 (the corner pads) are shorted to ground, it'll be booting into flashing mode every time - so yes, without a serial connection to see the "waiting for download" message it'll look dead as it won't connect to wifi or do anything else. |
@pauln I got four xiaomi devices running this single core esp32, all have internal temperature sensors :P All having same esp32 section config in yaml, for example air purifier using esphome-miot:
sensor definition:
|
Right... as always it was a matter of cleaning build files. It just works, no need to change anything :) |
When flashing I strictly followed the instructions, I flashed through esphome via pc. Flashing is successful, but after flashing nothing happens when power is applied, wifi does not start and there is a feeling that esp itself also does not start, no light indications.
I'm attaching the firmware file just in case:
The text was updated successfully, but these errors were encountered: