akuker / piccolo

A Raspberry Pi Pico clone with a USB-C port.
Other
0 stars 0 forks source link

Standard Pico MicroPython doesn't work with akuker/piccolo #1

Open akuker opened 1 year ago

akuker commented 1 year ago

Version 1 of akuker/piccolo is not fully compatible with the Raspberry Pi Pico. A non-standard flash device was used, which requires a modification to the second stage bootloader. Someone with a similar issue is talked about here: https://forums.raspberrypi.com/viewtopic.php?t=334143

With the current design, the BOOTSEL function will work to load u2f files. However, when the board tries to run the u2f file, the board hangs.

All of the software build for this board needs to have the PICO_BOOT_STAGE2_CHOOSE_GENERIC_03H option enabled in the code.

For MicroPython, you typically don't re-build it.

The rebuild instructions for rp2040 MicroPython are available here: https://github.com/micropython/micropython/tree/master/ports/rp2

After you checkout micropython, you need to apply the following two patches.

Patch 1 should be applied to the root checkout of micropython 0001_piccolo_board_configuration.patch

Patch 2 should be applied to the pico-sdk (./micropython/lib/pico-sdk/). You may need to do make submodules before the pico-sdk is checked out. 0002_piccolo_rp2040_sdk.patch

The pre-built MicroPython with PICO_BOOT_STAGE2_CHOOSE_GENERIC_03H enabled is also attached. Its build from revision 38e7b84

MicroPython_Firmware.zip

akuker commented 1 year ago

Forked code available here: https://github.com/akuker/micropython-piccolo

But, you still need to apply the pico-sdk patch.