Skip to content

Patch VID & PID

Patch the firmware of your Pico Key to unlock all features and make usable with third-party vendor tools:
  • OpenSC / PKCS11 Tool from OpenSC
  • YKMAN and yubikey-manager from Yubico
  • SmartCardShell from CardContact
  • gpg / gpg2 from GnuPG
Disclaimer

Due to restrictive statements, we are not authorized to distribute firmware files (namely .uf2/.bin) with VID & PID values that do not belong to us. Therefore, we distribute firmware files with dummy values that must be replaced by you with proper values.

This step is not strictly mandatory but the majority of third-party tools filter by specific VID & PID values. Therefore, in order to use these tools, your device must be configured with desired VID & PID.

To facilitate VID & PID patching, we created two options:

Dynamic VID/PID

pico-hsm-tool.py supports dynamic VID/PID set. Just call the following command and reboot the board on succeed:

./pico-hsm-tool.py phy vidpid 1234:5678
Online Pico Patcher

With this tool, the patching process occurs strictly at browser side. No patched firmware is distributed at any moment.

Just drag and drop the firmware (.uf2 file) you want to patch, select the proper VID & PID value and a patched firmware will be saved locally. Then, put your Pico device into BOOTSEL mode and copy there the patched .uf2 file. Your Pico device will reboot with the proper VID & PID and will be recognized by the targeted tools.

This page supersedes the command line tool pico-hsm-patch-vidpid.sh.

Patch any Pico Key firmware

Here you can select which VID & PID to use for specific third-party apps.
Instructions
  1. Drag and drop your firmware file (.uf2).
  2. Select the proper vendor. Note that it will depend of which Pico Key you use (Pico HSM, Pico FIDO2 or Pico OpenPGP).
  3. Optionally you can specify a custom VID/PID in the hexadecimal form separated with colon (:) VID:PID.
  4. Click on ‘Patch’ and a patched firmware will be saved in your computer.

    Please enable JavaScript in your browser to complete this form.
    Select a known vendor...
    Type VID/PID in the hexadecimal form. Example 0123:abcd