Configure unsupported debug probes to work immediately with ProbeCodex.
Every USB device has a Vendor ID (VID) and Product ID (PID). Here's how to find them on each platform:
Open Terminal and run:
Look for your device in the output. You'll see something like:
J-Link: Product ID: 0x0101 Vendor ID: 0x1366 (SEGGER)
In this example: VID = 1366, PID = 0101
Open Terminal and run:
Look for your device in the output:
Bus 001 Device 005: ID 1366:0101 SEGGER J-Link
The format is VID:PID. Here: VID = 1366, PID = 0101
Open PowerShell as Administrator and run:
Look for your device. The InstanceId contains VID and PID:
FriendlyName InstanceId ------------ ---------- J-Link USB\VID_1366&PID_0101\000123456789
Extract from VID_XXXX&PID_YYYY: VID = 1366, PID = 0101
Create a file at ~/.probecodex/custom-probes.json
~/.probecodex/custom-probes.json%USERPROFILE%\.probecodex\custom-probes.json/Users/you/.probecodex/custom-probes.json{
"customProbes": [
{
"vendorId": "1234",
"productIds": ["5678", "5679"],
"type": "cmsis-dap",
"name": "My Custom Probe"
}
]
}| Field | Required | Description |
|---|---|---|
| vendorId | Yes | 4-character hex USB Vendor ID (without 0x prefix) |
| productIds | Optional | Array of Product IDs. If omitted, matches any PID from vendor |
| productIdPrefix | Optional | Prefix match for PIDs (e.g., "01" matches 0100, 0101, etc.) |
| type | Yes | Probe type: jlink, stlink, nulink, cmsis-dap, or custom |
| name | Yes | Display name for the probe |
A J-Link clone with different VID/PID than the original SEGGER:
{
"customProbes": [
{
"vendorId": "abcd",
"productIds": ["1234"],
"type": "jlink",
"name": "J-Link Clone V2"
}
]
}A custom board with CMSIS-DAP firmware:
{
"customProbes": [
{
"vendorId": "cafe",
"productIds": ["4001", "4002"],
"type": "cmsis-dap",
"name": "My Dev Board Debug"
}
]
}If you want to match any product from a vendor (useful if the vendor has many variants):
{
"customProbes": [
{
"vendorId": "1234",
"type": "stlink",
"name": "Custom ST-Link Family"
}
]
}Note: Without productIds, all products from vendor 1234 are matched.
You can define multiple custom probes:
{
"customProbes": [
{
"vendorId": "abcd",
"productIds": ["0001"],
"type": "jlink",
"name": "Custom J-Link"
},
{
"vendorId": "1234",
"productIds": ["5678"],
"type": "cmsis-dap",
"name": "My CMSIS-DAP Board"
},
{
"vendorId": "beef",
"type": "custom",
"name": "Proprietary Debug Probe"
}
]
}As soon as you save the config file and restart the MCP server, your probe will be detected and work exactly like built-in probes. No waiting required.
Your custom probe configuration is automatically submitted to ProbeCodex developers. We review submissions and add popular probes to the built-in list in future releases.
When you configure a custom probe, you're helping the entire community. We track submission counts and prioritize adding the most-requested probes. Popular probes from community submissions become built-in support in future releases, so others don't have to configure them.
The type field determines how ProbeCodex communicates with the probe. Use the correct type for your probe's protocol (jlink, stlink, cmsis-dap, etc.).
Contact support via the Portal Support Chat with your probe's VID/PID and we'll help you configure it.