GPIO0 floating on ESP32-S3 Wroover…why does it go into USB Download?

vritzka
Posts: 29
Joined: Wed Sep 07, 2022 5:33 am

GPIO0 floating on ESP32-S3 Wroover…why does it go into USB Download?

Postby vritzka » Wed Nov 27, 2024 12:42 pm

My device (with ESP32-S3) sometimes doesn’t boot normally. It goes into USB Download mode and waits.

So my device doesn’t power on.

It happens randomly. I reboot 10 times and it happens maybe 1 time.

Unfortunately I left GPIO0 floating. It has a 5cm PCB trace on it, going to the programming header.

GPIO0 has an internal 45k pull-up and I thought its fine.

Could my random boot issues still be caused by the floating GPIO0?

The devices are sealed and I cannot add an external pull up. So I‘m looking for some way to fix this in software. After trying for about 10 days now I‘m running out of ideas.

Any suggestions on what I could try to avoid it going into USB download?

ESP_Sprite
Posts: 9835
Joined: Thu Nov 26, 2015 4:08 am

Re: GPIO0 floating on ESP32-S3 Wroover…why does it go into USB Download?

Postby ESP_Sprite » Thu Nov 28, 2024 2:52 am

If the issue is on power-on, there's nothing much you can do, unfortunately.

vritzka
Posts: 29
Joined: Wed Sep 07, 2022 5:33 am

Re: GPIO0 floating on ESP32-S3 Wroover…why does it go into USB Download?

Postby vritzka » Thu Nov 28, 2024 2:57 am

Ok.

Do you think the floating GPIO0 is the problem? Maybe the internal pull-up is not enough?

boarchuz
Posts: 619
Joined: Tue Aug 21, 2018 5:28 am

Re: GPIO0 floating on ESP32-S3 Wroover…why does it go into USB Download?

Postby boarchuz » Thu Nov 28, 2024 5:42 am

Can you share your schematic, particularly anything relevant to the EN pin? Sounds like the kind of behaviour I would expect if there was no RC delay on EN.

vritzka
Posts: 29
Joined: Wed Sep 07, 2022 5:33 am

Re: GPIO0 floating on ESP32-S3 Wroover…why does it go into USB Download?

Postby vritzka » Thu Nov 28, 2024 9:52 am

IMG_3285.jpeg
IMG_3285.jpeg (146.27 KiB) Viewed 2016 times
IMG_3286.jpeg
IMG_3286.jpeg (41.3 KiB) Viewed 2016 times
IMG_3287.jpeg
IMG_3287.jpeg (238.1 KiB) Viewed 2009 times

boarchuz
Posts: 619
Joined: Tue Aug 21, 2018 5:28 am

Re: GPIO0 floating on ESP32-S3 Wroover…why does it go into USB Download?

Postby boarchuz » Thu Nov 28, 2024 11:49 am

Yeah that'll likely be the problem. You're relying on EN staying low for long enough through just 1k with only 0.1uF of capacitance. This is far below the recommended 10k+1uF iirc. IO0 simply doesn't have enough time to consistently reach logic high before EN does.

vritzka
Posts: 29
Joined: Wed Sep 07, 2022 5:33 am

Re: GPIO0 floating on ESP32-S3 Wroover…why does it go into USB Download?

Postby vritzka » Thu Nov 28, 2024 1:05 pm

Makes sense. Ok, thank you.

vritzka
Posts: 29
Joined: Wed Sep 07, 2022 5:33 am

Re: GPIO0 floating on ESP32-S3 Wroover…why does it go into USB Download?

Postby vritzka » Thu Nov 28, 2024 8:21 pm

When I disable Download mode via efuse, would the device boot when pins are set to download mode?

Or would it print an error and stop?
IMG_3291.jpeg
IMG_3291.jpeg (228.54 KiB) Viewed 1677 times
Or

Could I perhaps change the flash wait time to 0 so the chip will not check for pins? Or set a long wait time to give gpio0 time to go high?
IMG_3292.jpeg
IMG_3292.jpeg (172.62 KiB) Viewed 1677 times

ESP_Sprite
Posts: 9835
Joined: Thu Nov 26, 2015 4:08 am

Re: GPIO0 floating on ESP32-S3 Wroover…why does it go into USB Download?

Postby ESP_Sprite » Fri Nov 29, 2024 12:20 am

vritzka wrote:
Thu Nov 28, 2024 8:21 pm
Or would it print an error and stop?
Yes.
Could I perhaps change the flash wait time to 0 so the chip will not check for pins? Or set a long wait time to give gpio0 time to go high?
I'm 99% sure the bootstrap pins are latched before the flash wait time stuff is executed, so that wouldn't work either.

Who is online

Users browsing this forum: MicroController and 47 guests