OK, I finally figured this out. I had to edit the stdio_usb_descriptors.c file which is part of the pico sdk.
In my case (Windows 11), it was located in the folder:
C:\Users\%YOURNAME%\.pico-sdk\sdk\2.2.0\src\rp2_common\pico_stdio_usb\stdio_usb_descriptors.c
Once you open it with a text editor, there are 2 lines to change for your assigned PID:
#ifndef USBD_PID
#if PICO_RP2040
#define USBD_PID (0xXXXX) // your PID here for the RP2040
#else
#define USBD_PID (0xXXXX) // Your SDK CDC PID here
#endif
#endif
There are also locations where you can change the USBD_MANUFACTURER and USBD_PRODUCT text.
While this does provide a solution, it has 2 downsides:
1) All of your projects will have the same PID which is not ideal
2) If you update the SDK to a new revision, you will have to update this file again.
In my case (Windows 11), it was located in the folder:
C:\Users\%YOURNAME%\.pico-sdk\sdk\2.2.0\src\rp2_common\pico_stdio_usb\stdio_usb_descriptors.c
Once you open it with a text editor, there are 2 lines to change for your assigned PID:
#ifndef USBD_PID
#if PICO_RP2040
#define USBD_PID (0xXXXX) // your PID here for the RP2040
#else
#define USBD_PID (0xXXXX) // Your SDK CDC PID here
#endif
#endif
There are also locations where you can change the USBD_MANUFACTURER and USBD_PRODUCT text.
While this does provide a solution, it has 2 downsides:
1) All of your projects will have the same PID which is not ideal
2) If you update the SDK to a new revision, you will have to update this file again.
Statistics: Posted by Pi-Plates — Tue Dec 02, 2025 11:18 am