Skip to content

PicoMultiLoader v1.2.1

Latest

Choose a tag to compare

@hexadevti hexadevti released this 23 Oct 10:03
b4d99b2

PicoMultiLoader is an SD-card firmware loader for the ClockworkPi PicoCalc. Copy firmware files to the microSD card, pick one on the LCD, and the loader flashes and starts it. This release fixes crashes and freezes on the ESP32-P4, lets the Pico 2 W start RISC-V apps, and lets the web file manager upload whole folders.

What's new

ESP32-P4: fixes

  • Apps no longer crash when started right after switching on. An app that uses PSRAM, such as pico-386, could crash as it started when the loader had just been powered on. The board then rebooted on its own, or the screen stayed black. The loader now leaves the PSRAM controller ready before it starts the app.

  • Fewer freezes on battery with Wi-Fi on. The web file manager now runs Wi-Fi at lower transmit power (13 dBm instead of about 20 dBm). This cuts the current spikes that weak or half-empty batteries can't supply. Range is shorter, which rarely matters with the PicoCalc next to the computer.

    If the board still freezes on battery but never with the USB cable plugged in, the batteries can't deliver enough current. Use good, fully charged 18650 cells.

Pico 2 W (RP2350): RISC-V apps

  • The boot stub now also starts apps built for the RP2350's RISC-V cores, not just ARM ones. To get this, flash the new PicoMultiLoader-v1.2.1-rp2350.uf2 through BOOTSEL (see below).

Web file manager (ESP32-P4 and Pico 2 W)

  • Upload whole folders. Drag folders onto the page, or copy them and press Ctrl+V. The folders are created on the card and every file inside is uploaded. If a folder with the same name exists, you're asked before files are merged into it.
  • Uploads retry once when the device is busy or short of memory, instead of failing straight away.
  • Pico 2 W: the web server uses less memory, so two browser connections fit at once more reliably.

Files

Board File What it is
ESP32-P4 (Waveshare ESP32-P4-WIFI6) PicoMultiLoader-v1.2.1-esp32p4-full.bin bootloader + partition table + otadata + loader, for a first install. Flash at 0x0.
ESP32-P4 PicoMultiLoader-v1.2.1-esp32p4-app.bin the loader only, to update and keep the installed app. Flash at 0x20000.
Pico / Pico W (RP2040) PicoMultiLoader-v1.2.1-rp2040.uf2 the whole loader, copied through BOOTSEL
Pico 2 W (RP2350) PicoMultiLoader-v1.2.1-rp2350.uf2 the boot stub, copied through BOOTSEL. New in this release (RISC-V support).
Pico 2 W (RP2350) pml2350.uf2 the loader menu. Copy it to the root of the SD card and keep this exact name.
all SHA256SUMS.txt checksums

The ESP32-P4 files are built for chip revision v3.x with 32 MB flash. Run esptool --chip esp32p4 chip_id to check your chip. For a v1.x chip, build from source.

Updating from v1.2.0

  • ESP32-P4: flash only the loader to keep your app:
    esptool --chip esp32p4 -p COMx -b 460800 write_flash 0x20000 PicoMultiLoader-v1.2.1-esp32p4-app.bin
    
  • Pico 2 W (RP2350):
    1. Copy the new pml2350.uf2 to the root of the SD card, replacing the old file. You can do this from the web file manager too.
    2. To run RISC-V apps, also hold BOOTSEL, plug the Pico 2 W into USB, and copy PicoMultiLoader-v1.2.1-rp2350.uf2 to the RP2350 drive. Skip this if you only use ARM apps.
  • Pico (RP2040): hold BOOTSEL, plug the Pico into USB, and copy PicoMultiLoader-v1.2.1-rp2040.uf2 to the RPI-RP2 drive. The installed app is kept. Nothing in this release changes how the RP2040 loader behaves, so this update is optional.

First install

ESP32-P4

  1. Connect the board's USB-C port (the CH343 serial port).
  2. Flash the full image:
    esptool --chip esp32p4 -p COMx -b 460800 write_flash 0x0 PicoMultiLoader-v1.2.1-esp32p4-full.bin
    
    If the board doesn't enter download mode by itself, hold BOOT, press RESET, then let go of BOOT.

Raspberry Pi Pico (RP2040)

  1. Hold BOOTSEL, plug the Pico into USB, and copy PicoMultiLoader-v1.2.1-rp2040.uf2 to the RPI-RP2 drive. This replaces uf2loader.
  2. Put the Pico in the PicoCalc and switch it on.

Raspberry Pi Pico 2 W (RP2350)

  1. Hold BOOTSEL, plug the Pico 2 W into USB, and copy PicoMultiLoader-v1.2.1-rp2350.uf2 to the RP2350 drive. This replaces uf2loader.
  2. Copy pml2350.uf2 to the root of the SD card (FAT16 or FAT32).
  3. Put the Pico in the PicoCalc and switch it on.

Use it

  • Hold Up, F1 or F5 while switching on to get the menu instead of the installed app.
  • Up/Down picks a file and Enter shows its details. Press Enter again to flash and start it. Backspace or Left goes to the parent folder.
  • F1: Setup and the help.
  • F2: copy, move or delete.
  • F4: the web file manager (ESP32-P4 and Pico 2 W).
  • F5: USB drive mode.

The README has the full documentation and build instructions.