The Phyduino Pico firmware is MicroPython for this board. It uses the full 16 MB flash, knows the board's pin names and has phyduino.py (and the optional Arduino-style arduino.py) built in, so there is nothing else to copy to the board except your Python script.

1. Download the firmware

  • Open the GitHub repository's Releases page.
  • Download the Phyduino Pico firmware:
    phyduino_pico-<version>-micropython-<version>.uf2

2. Load the firmware

Loading the firmware erases any code already stored on the board.

  • Slide the BOOTSEL (SW1) switch to UF2 and press the reset button (SW2).
  • Slide the BOOTSEL switch away from UF2. This will make sure the Phyduino Pico MicroPython firmware runs after it has been loaded.
  • Copy the UF2 to the RPI-RP2 drive that appears.
  • If the drive reappears, make sure the BOOTSEL switch is not in the UF2 position and press the reset button (SW2) again.

3. Check the firmware

This needs mpremote installed on your computer.

  • With the board connected by USB, open a terminal and connect to the board's REPL:
    Windows PowerShell
    PS C:\Users\student> mpremote repl
    mpremote finds the board by itself and prints Connected to MicroPython at followed by the port.
  • Press Ctrl-B to show the firmware banner. It should end in Phyduino Pico with RP2040:
    Windows PowerShell
    MicroPython v<version> on <date>; Phyduino Pico with RP2040
    Type "help()" for more information.
    >>>
  • Check that the built-in library loads. Type each line at the >>> prompt and press Enter:
    Windows PowerShell
    >>> import phyduino
    >>> phyduino.version()
    '0.1.0-rc.1'
    It prints the library version, e.g. '0.1.0-rc.1'.
  • Press Ctrl-] or Ctrl-X to leave the REPL.

If mpremote can't find the board, or the banner names a different board, load the firmware again (step 2).

Linux

If mpremote reports a permission error or can't find the board, add your account to the group that can use serial ports, then log out and back in. This is needed once per computer. The group is dialout on Ubuntu, Debian and Fedora, and uucp on Arch.

student@ubuntu: ~
student@ubuntu:~$ sudo usermod -aG dialout $USER

On Arch, replace dialout with uucp.

macOS

The shortcuts use the Control key, not Command: Control-B, Control-] and Control-X.