PICOTOOL-OTP-GET(1)

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

πŸ’– PICOTOOL-OTP-GET πŸ’–

okay bestie, welcome to picotool-otp-get from the picotool manual (that's section 1, User Commands, for the record) β€” and literally all it does is get the value of one or more OTP registers/fields. that's it, that's the whole vibe. ✨


✨ NAME ✨

picotool-otp-get β€” get the value of one or more OTP registers/fields 🫢


🌸 SYNOPSIS 🌸

picotool otp get [-c <copies>] [-r] [-e] [-n] [-i <filename>]
[device-selection] [-z] [<selector>..]

πŸŽ€ OPTIONS πŸŽ€

πŸ’… Row/field options

  • -c <copies> β€” read a bunch of redundant values at once, multiple copies bestie πŸ’œ
  • -r, --raw β€” hand over the raw 24-bit values, no glow-up applied πŸ”₯
  • -e, --ecc β€” use error correction, we love a self-healing queen 😭
  • -n, --no-descriptions β€” don't show the descriptions, keep it mysterious πŸ™ˆ
  • -i <filename> β€” include an extra otp definition from <filename> ✨

πŸ¦‹ Row/Field Selection

  • -z, --fuzzy β€” allow fuzzy name searches in the selector instead of demanding an exact match πŸ“
  • <selector> β€” the row/field selector!! each one of these can select a whole row:

so like. ROW_NAME selects a whole row by name. ROW_NUMBER selects a whole row by number. PAGE:PAGE_ROW_NUMBER selects a whole row by page, plus its number within that page. iconic.

...or it can select a single field / a subset of a row β€” and for all of these, ROW_SEL is one of the row selectors from up there ☝️:

ROW_SEL.FIELD_NAME selects a field within a row by name. ROW_SEL.n-m selects a range of bits within a row. ROW_SEL.n selects a single bit within a row. .FIELD_NAME selects any row's field by name β€” yes, any row, main character energy fr fr πŸ‘‘

..or you can select multiple rows by using a blank, or *, for PAGE or PAGE_ROW_NUMBER ⭐


πŸ‘‘ TARGET SELECTION πŸ‘‘

🌈 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 β€” force a device that is not in BOOTSEL mode, but is running compatible code, to reset so the command can actually run. and after executing the command (unless the command itself is a reboot), the device will be rebooted back to application mode. no cap πŸ’€
  • -F, --force-no-reboot β€” same deal: force a device that is not in BOOTSEL mode, but 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. so close yet so far 😭
heads up bestie: both -f/--force and -F/--force-no-reboot are about devices not in BOOTSEL mode but running compatible code β€” they get reset, and then things happen after the command runs unless the command itself is a reboot. don't say i didn't warn you 🫢

aaaand that's the whole page, periodt. πŸ’… this lil manual lives in picotool 2.2.0-a4+dfsg, dated December 2025 β€” mwah, bye, go read your OTPs bestie πŸ¦‹πŸ’–βœ¨

πŸ“¦ where this page comes from