Hello,
have been following the forum as reader, now need to ask my first question.
For my DIY project which uses micropython on ESP32c3 wroom module I am having bit of boot problems:
The project is solar powered w/o battery backup, every evening and morning unavoidable there will be brown out situations.
The relevant GPIOs:
[*]ENABLE: 10k pull up and 1uF cap
[*]GPIO9 is either floating or GND by button (issue here?, see below)
[*]GPIO2 was floating (mistake), reworked with 10k pull up
[*]GPIO8 is floating
The programming is done over USB (not uart)
Issue: In rare cases (every few days) the esp application does not load, with esptool I
[*]can connect normally, device is in bootloader and responsive
[*]just issuing "hard_reset" resets but gets again into bootloader (even in situations in which the power supply is now fully stable)
[*]issuing "watchdog_reset" (thanks for this new great feature btw) resets the device and application is loaded normally
By mistake I had not pulled up GPIO2 this made the issue way more pronounced, but still with pull up the issue is not completely gone.
I am thankful for your advice how to get this stable. Do you think the internal PU for GPIO9 is too weak and a 10k pull up will already sort this out or did I forget something else.
BTW: I have an external PMIC with power good indicator, last resort I thought of could be to only release CHIP_EN when power is good, otherwise reset. but I am unsure if this is a good idea / needed.
Thanks for your opinions!
esp32c3 strapping pins, sometimes stuck in bootloader
Re: esp32c3 strapping pins, sometimes stuck in bootloader
An RC network on the EN pin will only work if the powe supply has a defined rise and fall time: with random-ish power capabilities like you see in a solar-powered device that will not work, as you found out. Adding an external PMIC or voltage monitor is indeed the solution there.
Re: esp32c3 strapping pins, sometimes stuck in bootloader
Thank you for your reply!
In the current design there is a PMIC with open drain power good indicator.
It will hold the PG line down until output voltage is valid, an external 10k resistor will pull the line high when the PMIC releases it.
So far the signal is used for other purposes. Is it a reasonable approach to connect this to CHIP_EN? Maybe with 100nF decoupling as there can be some noise on the line?
For the strapping pins normal pull ups as usual I assume?
The power good signal can still toggle in low power situations but at least should be only high when voltage is valid, is this good enough, or do I somehow need to eliminate the toggling altogether?
Best regards!
In the current design there is a PMIC with open drain power good indicator.
It will hold the PG line down until output voltage is valid, an external 10k resistor will pull the line high when the PMIC releases it.
So far the signal is used for other purposes. Is it a reasonable approach to connect this to CHIP_EN? Maybe with 100nF decoupling as there can be some noise on the line?
For the strapping pins normal pull ups as usual I assume?
The power good signal can still toggle in low power situations but at least should be only high when voltage is valid, is this good enough, or do I somehow need to eliminate the toggling altogether?
Best regards!
Re: esp32c3 strapping pins, sometimes stuck in bootloader
Yes, that should be good. The EN line toggling should not be an issue (unless you somehow programmed your firmware in such a way that it breaks when power is interrupted during the initial boot phase).
-
MicroController
- Posts: 2672
- Joined: Mon Oct 17, 2022 7:38 pm
- Location: Europe, Germany
Re: esp32c3 strapping pins, sometimes stuck in bootloader
I guess with solar-only power input, you'll have periods when "PG" will oscillate quite quickly (feedback loop "PG on" -> consumers "on" -> current increases -> voltage drops -> "PG off" -> consumers "off" -> current drops -> voltage rises -> ...)?
Who is online
Users browsing this forum: Qwantbot and 3 guests
