Open
Description
CircuitPython version
Adafruit CircuitPython 9.1.3 on 2024-08-29; Adafruit Feather RP2040 with rp2040 Board ID:adafruit_feather_rp2040
Code/REPL
import time
import board
import neopixel
import microcontroller
pixel = neopixel.NeoPixel(board.NEOPIXEL, 1)
pixel.brightness = 0.3
print('reset reason: ' + str(microcontroller.cpu.reset_reason))
while True:
pixel.fill((255, 0, 0))
time.sleep(0.5)
pixel.fill((0, 255, 0))
time.sleep(0.5)
pixel.fill((0, 0, 255))
time.sleep(0.5)
Behavior
During normal voltage operation the code above runs as expected. When the power on the USB drops down to ~1v (I am using a solar cell to power the RP2040), and the power is restored, the device boots into the RP2040's bootloader and has the RPI-RP2 volume.
Description
- Power the Adafruit Feather RP2040 via USB from a solar panel and USB battery setup.
- Allow the voltage to drop to approximately ~1v.
- Bring the voltage back up to 3.3v.
- Observe the device reboot into the RPI-RP2.
- Pressing Reset will bring the device back to the CIRCUITPY volume and execute
code.py
.
Additional information
danh
stated this could be related to: nordic: RunMode.UF2 stopped working in 9.1.0-beta.4 and later #9423- I also noticed if the power drops to 1.8-2v, and then the voltage returns back to 3.3v, the RP2040 does not respond. It has to drop down below ~1.1 to get the above behavior to show.
I was able to reproduce this issue using a USBC breakout board, removing the input voltage from the host computer, and supply the VCC from a variable power supply. (this also allows me to watch the REPL while testing this)