PICOTOOL-PICOTOOL(1)
π 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 adevice-selectionor 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
- ubuntu stonking: picotool 2.2.0-a4+dfsg-3 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms