PICOTOOL-OTP-LOAD(1)

πŸ“¦ version 2.2.0-a4, in ubuntu stonking

πŸŽ€ picotool-otp-load β€” the manual, but make it cute πŸŽ€

okay bestie, welcome to picotool-otp-load (yes, that's PICOTOOL-OTP-LOAD(1) if you're being fancy, it lives in the User Commands section of the manual, iykyk). This is the little guy that takes a row range sitting in a file and yeets it into OTP, then verifies it. ✨


πŸ’– NAME πŸ’–

picotool-otp-load β€” loads the row range stored in a file into OTP and verifies it. fr fr, that's the whole personality.

Data is 2 bytes/row for ECC, and 4 bytes/row for raw (and heads up: for raw, the MSB is ignored, she's just not invited πŸ’…).


🌸 SYNOPSIS 🌸

picotool otp load [-r] [-e] [-s <row>] [-i <filename>] <filename> [-t
<type>] [device-selection]

✨ OPTIONS ✨

πŸ¦‹ Row options

  • -r, --raw β€” sets raw 24-bit values. This is the default for BIN files, no cap.
  • -e, --ecc β€” uses error correction ✨
  • -s <row> β€” the start row to load at. psst, use 0x for hex, bestie.
  • -i <filename> β€” include an extra otp definition 🫢

πŸ“ File to load row(s) from

  • <filename> β€” the file name, that's it, that's the girl.
  • -t <type> β€” specify the file type (json | bin) explicitly, ignoring the file extension. main character energy, she does NOT care what your file is named.

πŸ‘‘ Target device selection

  • --bus <bus> β€” filter devices by USB bus number
  • --address <addr> β€” filter devices by USB device address
  • --vid <vid> β€” filter by vendor id
  • --pid <pid> β€” filter by product id
  • --ser <ser> β€” filter by serial number
  • -f, --force β€” forces a device that is not in BOOTSEL mode but is running compatible code to reset, so the command can actually be executed. After executing the command (unless the command itself is a reboot), the device will be rebooted back to application mode. it's giving "move, I'm working" 🫢
  • -F, --force-no-reboot β€” same dealio: forces a device that is not in BOOTSEL mode but is running compatible code to reset, so the command can be executed. After executing the command (unless the command itself is a reboot), the device will be left connected and accessible to picotool, but without the USB drive mounted. ngl, that last bit is the whole difference between -f and -F, so don't mix them up bestie 😭
🌈 lowkey important: both -f and -F hinge on the device running compatible code β€” this isn't a magic "make any random device work" button. and the reboot-after behaviour has that one exception: if the command you ran is a reboot, well. it already did the thing πŸ’€

🧚 the cutest little sign-off 🧚

that's the whole page bestie, you ate πŸ’… β€” this was picotool 2.2.0-a4+dfsg, dated December 2025, and yes the manual page is literally called PICOTOOL-OTP-LOAD(1). slay, go flash something, periodt. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from