I am using an AP63205 2A regulator https://www.diodes.com/assets/Datasheets/AP63200-AP63201-AP63203-AP63205.pdf. However, the 12 VDC source that I am stepping down to 5 VDC is only rated for 800 mA max. I thought that 800 mA @ 12 VDC would be enough (and it should be), but there’s a chance that a large inrush current upon starting up the Xiao drops the voltage enough (loading effect) to cause an issue.
I don’t see any specific numbers for ESP32-C3 current spikes upon power-up, but some people have measured in the 200s of mAs during BLE advertising. Investigating ESP32-C3 Power Management | robdobson.com
So, I switched to a much larger 12 VDC supply with a 6A max and my program now seems to be executing, with Serial.print()
and all. BLE works as intended.
This was certainly not the Xiao’s fault. There must have been some transients on the power line that require an oscilloscope to notice. For anyone else having trouble powering via 5V pin, try using an oversized power supply, even if you’re already using one that should theoretically work and the 5 VDC and 3.3 VDC values look totally fine. Alternatively, powering from a battery would avoid this situation in the first place.
Thanks for the help troubleshooting!