Basic Information:
Printer Model: Irrelevant?
MCU / Printerboard: Raspberry Pi Pico 2 (RP2350)
Host / SBC: Raspberry Pi 4B
klippy.log: Irrelevant
Describe your issue:
I’m trying to flash Klipper on a Raspberry Pi Pico 2 with a RP2350.
In make menuconfig
my settings are as follows:
- Micro-controller architecture: Raspberry Pi RP2040/RP235x
- Processor model: rp2350
- Bootloader offset: No bootloader
- Communication Interface: USBSERIAL
Using make
, the klipper.ulf
file is created.
When I plug in my Pico 2, the device shows up in /dev
as sdb1
. I can mount it, and see two files:
user@3dprinter:~/klipper $ sudo mount /dev/sdb1 /mnt/pico
mount: (hint) your fstab has been modified, but systemd still uses
the old version; use 'systemctl daemon-reload' to reload.
user@3dprinter:~/klipper $ ls /mnt/pico
INDEX.HTM INFO_UF2.TXT
I then copy the file onto it:
user@3dprinter:~/klipper $ sudo cp ~/klipper/out/klipper.uf2 /mnt/pico
user@3dprinter:~/klipper $ ls /mnt/pico
INDEX.HTM INFO_UF2.TXT klipper.uf2
I then umount
sdb1
, at which point I expect to start seeing the Pico 2’s Klipper instance showing up on /dev/serial/by-id
, but:
user@3dprinter:~/klipper $ sudo umount /mnt/pico
user@3dprinter:~/klipper $ ls /dev/serial/by-id/*
/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 < this is my Ender mainboard, not the Pico
But, I can then see sdb1
again, and when I mount it again:
user@3dprinter:~/klipper $ sudo mount /dev/sdb1 /mnt/pico
mount: (hint) your fstab has been modified, but systemd still uses
the old version; use 'systemctl daemon-reload' to reload.
user@3dprinter:~/klipper $ ls /mnt/pico
INDEX.HTM INFO_UF2.TXT
It looks like it’s back into bootloader mode. I didn’t press the button, or unplugged it.
I plugged it into my Windows machine, and was able to install Micropython on it through Thonny, so I’m assuming the Pico is good. I also tried copying klipper.uf2
onto the Pico while it was connected to the Windows machine, to no avail. I’ve also tried multiple USB cables just to make sure.
I’m assuming it’s supported, given the option in make menuconfig
to specify it… so what am I doing wrong?