After I flash Picocallc with the 2.4.1 bootloader, it stops booting. Any help with troubleshooting would be appreciated.
By â2.4.1â do you mean a version of the original bootloader that uses â.binâ files on the SD card? Do you mean a version of uf2loader? What board are you using in your PicoCalc (a Pico 1(H) like that which came with it from Clockwork, a Pico 1W, a Pico 2, a Pico 2W, a Pimoroni Pico Plus 2, a Pimoroni Pico Plus 2W, etc.)? Where on your SD card did you put your binaries, and are your binaries in â.uf2â format or in â.binâ format? Were the binaries for the RP2040 (as in the Pico 1(H) or Pico 1W) or for the RP2350 (as in the Pico 2, Pico 2W, Pico Plus 2, or Pico Plus 2W)? There are many questions you need to answer before we can really help you on this one.
I am having âclockworkPi v2.0â, and tried to flash uf2 bootloader from
I flash the bootloader using the BOOTSEL process on the board as instructed using âpicotool loadâ. After rebooting, the front LED is steadily green, the screen is dark, and the LED on the Pico board is flashing. and place 2350
Iâve saved pico firmware using âpicotool saveâ, but when I tried to roll back flash using my saved image, it is still bricked.
There are a few things to take into account here:
Once uf2loader is installed on an RP2350, it sets up the system so that a partition is installed that then is, by default, flashed by BOOTSEL mode or by picotool. If you afterwards try to use BOOTSEL or picotool to flash something onto your RP2350 that is not designed to work with partitions (e.g. Picomite, zeptoforth) it will simply not work properly.
(On an RP2040 it simply trusts that the installed application will not overwrite the bootloader loaded into the top 16 KiB of flash, and it will not function if this is overwritten.)
Second, uf2loader requires BOOT2040.UF2 or BOOT2350.UF2, depending on whether you are using an RP2040 or an RP2350, to be placed in the root directory of the FAT32 filesystem on your SD card, and requires a directory pico1-apps for the RP2040 or pico2-apps for the RP2350 to contain UF2 files in the root directory of said filesystem. Use a computer with an SD card interface to place the appropriate files and directories on your SD card.
(Also, make sure that the SD card is not formatted as exFAT as Windows sometimes likes to do, as things that work with FAT32 do not necessarily work with exFAT.)
If these are not followed uf2loader will not function properly.
Have you tried using a universal flash nuke before restoring the image on your board? If not, put your board in BOOTSEL mode, use the USB Mass Storage device to copy the universal flash nuke to the filesystem that is available after you mount it, then use picotool afterwards to flash your board with your saved firmware.
Seriously, the only way to brick a Pico-family board other than by physically damaging the hardware, which would not result from what you have done, is by messing with the OTP memory on an RP2350, which would not happen by accident. Clearly what is happening is that you are flashing something into the partition that got created on your board which is not designed to go in a partition without doing a flash nuke first (as you should always do when switching between unrelated firmwares).
If you canât get the uf2loader to show the menu (after reading the instructions and doing the multiple steps it tells you are necessary), then flash the diag.uf2 thatâs also in the release. It will show on the screen what is going wrong.
Thank you for the pointer on flash nuke. Should I flash it using âpicotool load universal_flash_nuke.uf2,â or is it better to copy the file? By the way, some instructions say that the pico will reboot itself after copying, but it wonât.
If I am switching to bootsel and use picotool load, is that a correct procedure?
Also, help me to understand procedure:
- I am putting flash_nuke into flash using picotool load
- I am putting new firmware on the âdiskâ that is mounted in bootsel mode
- Unmount disk
- picotool reboot
I personally donât frequently use picotool and I donât know what exact command line options you have given. I would recommend just holding down the BOOTSEL button when applying power with USB, mounting the filesystem that appears, dragging the flash nuke to it, waiting for the filesystem to unmount and a new filesystem to appear, mounting that filesystem, and then dragging your saved image (which must be in UF2 format!) to it.
Using picotool is fine - there is no effective difference between using it and just copying a uf2 to the bootsel drive.
Neither flash nuke (or picotool erase, which is honestly a better method) will make any difference when trying to get uf2loader working.
Have you put the files on the SD card that the instructions tell you to? Have you tried flashing the diag.uf2 file I mentioned earlier? Thereâs no point trying anything else until youâve done these two things.
Host environment: Mac
Here is what I did:
- picotool erase, confirm that nothing is in there.
- picotool load diag_pico2.uf2
- picotool info (confirming that I have diag in flash)
- picotool reboot and disconnected wire from board
- Trying to boot picocalc. Led on front green, led on picoboard off. Screen blank.
Another try:
- picotool erase
- copy diag_pico2.uf2 on flash frive while picocalc in bootsel
- Instruction sayeth it suppose reboot, but it sitting mounted like nothing happens.
I was waited for diag to come to life for about 15 seconds, do I need to give it a more time?
Iâve tried to put diag or nuke on the flash drive. After a while it reboots, but nothing happens. Screen is blank
You need to put another UF2 file appropriate to your choice of boards in afterwards.
I am positive that I do have a pico2, but I will try another one
