← index #16391Issue #15778
Related · high · value 0.363
QUERY · ISSUE

Seeed Studio XIAO RP2350 doesn't boot

openby briskspiritopened 2024-12-11updated 2025-03-03
bugneeds-info

Port, board and/or hardware

RP2 2350

MicroPython version

MicroPython 1.24.1 ; XIAO RP2350

Reproduction

BOOTSEL XIAO RP2350 board, copy uf2 file, it reboots and never enumerates again

Expected behaviour

should enumerate REPL

Observed behaviour

doesn't enumerate

Additional Information

On Seeed Studio XIAO RP2350 page there is a note about incompatibility related to flash chip they use (found after struggling for a few hours...) and that they work with MicroPython team to solve this issue. Couldn't find any PRs or issues here so would like to ask if and when it should be fixed and what's the real issue is?

Code of Conduct

Yes, I agree

CANDIDATE · ISSUE

RP2350 bricked with micropython

closedby TRadigkopened 2024-09-03updated 2024-09-04
bug

Port, board and/or hardware

RP2350

MicroPython version

Hello dear micropython developers,

today I got my hands on a brand new Pico 2 board. Since there is currently only one firmware release available, I flashed RPI_PICO2-20240809-v1.24.0-preview.201.g269a0e0e1.uf2.
Secondly since this would be a successor to my self made FanController project, I copied over the source files as well. After the Pico restarted it started flashing the onboard LED as intended. But it does not enumerate to USB any more.
When I hold down the BOOT button while plugging it in, I get the RP2350 memory exposed in file explorer and can copy over the same RPI_PICO2-20240809-v1.24.0-preview.201.g269a0e0e1.uf2 again. The controller disconnects form my computer, does not enumerate to USB and starts flashing again.
For RP2040 there is a "flash_nuke.uf2" file which the controller (RP2350) does not respond to.

I've reported the issue of easily brickable RP2040 some weeks ago and hope any fix is coming soon?
See: https://github.com/micropython/micropython/issues/15230#issuecomment-2277896658

content of my boot.py without imports:

if __name__ == "__main__":
    logger = DebugLogger(0)
    try:
        loop = asyncio.get_event_loop()
        
        program = FanController(logger)
        program._setcpuspeed(Constants.CPU_SPEED_HZ)
        program.startup(False)

        programThread = _thread.start_new_thread(program.startProgram, ())
        program.serialTransport.flushinput()
        comms = loop.create_task(program.serialTransport.receive(
            program.commandprocessor.handlecommand))
        fanramp = loop.create_task(program.rampupfans())
        temps = loop.create_task(program.readtemperaturestodatamodel())
        autocontrol = loop.create_task(program.controller.runAutomaticControl())
        program._cleangarbage()

        loop.run_forever()
    except KeyboardInterrupt:
        program.onboardled.signalInterrupted()
        program.stopProgram()
        loop.stop()
        logger.log(logger.DEBUG, "INTERRUPTED - STOPPING EVERYTHING")
        program.serialTransport.stopreading()

One note: my serialTransport.receive() method is constantly reading asynchronously on sys.stdin. But this code still works in "older" micropython version flawlessly.

Edit: intermediate help: https://datasheets.raspberrypi.com/soft/flash_nuke.uf2 - clears the flash and brings the device back to life, except I can't run my micropython code on it.

Reproduction

Since I can't get any communication with the device and can not flash any other firmware for RP2350 I can't provide steps to reproduce, since I "know" that my python code works on Rp2040 and micropython 1.21.

Expected behaviour

When the device is connected to USB it enumerates an serial com device.

Observed behaviour

No device is enumerated. Device can only enumerate when in BOOTSEL mode.

Additional Information

No, I've provided everything above.

Code of Conduct

Yes, I agree

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied