PICOTOOL-PICOTOOL(1)

πŸ“¦
version 2.2.0-a4 Β· 2 versions
, in ubuntu stonking

πŸ’– picotool-picotool πŸ’–

okay so bestie, welcome to section 1 of the user commands β€” yes it's literally called PICOTOOL-PICOTOOL(1) and no we are not going to be normal about it. this is the tool you use to talk to RP-series devices when they're sitting in BOOTSEL mode, or to poke at an RP-series binary file directly. it's giving "tiny microcontroller whisperer" and honestly? iconic.


✨ NAME ✨

picotool-picotool β€” the tool for interacting with RP-series device(s) in BOOTSEL mode, or with an RP-series binary 🫢


🌈 SYNOPSIS 🌈

picotool info [-b] [-m] [-p] [-d] [--debug] [-l] [-a] [device-selection]

picotool info [-b] [-m] [-p] [-d] [--debug] [-l] [-a] <filename> [-t
<type>]

picotool config [-s <key> <value>] [-g <group>] [device-selection]

picotool config [-s <key> <value>] [-g <group>] <filename> [-t <type>]

picotool load [--ignore-partitions] [--family <family_id>] [-p
<partition>] [-n] [-N] [-u] [-v] [-x] <filename> [-t <type>] [-o
<offset>] [device-selection]

picotool link [--quiet] [--verbose] <outfile> [-t <type>] <infile1> [-t
<type>] <infile2> [-t <type>] [<infile3>] [-t <type>] [-p <pad>]

picotool save [-p] [-v] [--family <family_id>] <filename> [-t <type>]
[device-selection]

picotool save -a [-v] [--family <family_id>] <filename> [-t <type>]
[device-selection]

picotool save -r <from> <to> [-v] [--family <family_id>] <filename> [-t
<type>] [device-selection]

picotool erase [-a] [device-selection]

picotool erase -p <partition> [device-selection]

picotool erase -r <from> <to> [device-selection]

picotool verify <filename> [-t <type>] [device-selection] [-r <from>
<to>] [-o <offset>] [device-selection]

picotool reboot [-a] [-u] [-g <partition>] [-c <cpu>] [device-selection]

picotool otp list|get|set|load|dump|permissions|white-label

picotool partition info|create

picotool uf2 info|convert

picotool version [-s] [<version>]

picotool coprodis [--quiet] [--verbose] <infile> <outfile>

picotool help [<cmd>]

πŸ‘‘ COMMANDS πŸ‘‘

no cap, here's the whole squad:

  • info β€” display information from the target device(s) or file. give it zero arguments and it'll show you the basic info for all the connected RP-series devices chilling in BOOTSEL mode πŸ’…
  • config β€” display or change program configuration settings, from the target device(s) or from a file.
  • load β€” load the program / memory range stored in a file onto the device. main character moment fr.
  • link β€” link multiple binaries into one block loop πŸ”—
  • save β€” save the program / memory stored in flash on the device to a file.
  • erase β€” erase the program / memory stored in flash on the device. (careful bestie, this one does not have an undo button 😭)
  • verify β€” check that the device contents match those in the file. vibe check but for bytes.
  • reboot β€” reboot the device ✨
  • otp β€” commands related to the RP2350 OTP (One-Time-Programmable) Memory.
  • partition β€” commands related to RP2350 Partition Tables.
  • uf2 β€” commands related to UF2 creation and status 🧚
  • version β€” display picotool version.
  • coprodis β€” post-process coprocessor instructions in disassembly files.
  • help β€” show general help or help for a specific command.

lowkey the whole point: pick a command, hand it a device-selection or a <filename>, and let it cook. every flag, every <type>, every partition, offset and family id you saw up top is doing exactly what it says β€” so go be great πŸŽ€

that's the whole page, bestie, slay πŸ¦‹ this guide came from picotool version 2.2.0-a4+dfsg, dated December 2025, and it lives in the PICOTOOL-PICOTOOL(1) manual. periodt. πŸ’œ

πŸ“¦ where this page comes from