If you’re a maker, hobbyist, or startup company producing your own USB device, you’ve probably discovered that you need a USB Vendor ID and Product ID to uniquely identify your device to computers. The USB-IF’s position is that the only way to do this is for each organisation to pay $6000 for a unique Vendor ID, which they may not share with other individuals or organisations.
For many makers and small companies, this is a prohibitive amount of money, and forces them to resort to workarounds, such as using other organisations’ VIDs without permission, or simply making up a VID and PID. These solutions make things worse for everyone, by damaging the assumption that a VID/PID combination is unique to a given device.
pid.codes seeks to solve this issue for anyone producing open-source hardware. We have been gifted a Vendor ID by a company that was issued one by USB-IF and has since ceased trading; they obtained the Vendor ID before the USB-IF changed their licensing terms to prohibit transfers or subassignments.
pid.codes will assign PIDs on any VID we own to any open-source hardware project needing one.
We have been granted a PID code for the AXIOM Remote:
https://pid.codes/1209/E07E/
This now needs to be integrated into our AXIOM Remote firmware in the USBCDCDevice-Class by altering the Descriptor.
USBDefinitions.h
idVendor and idProduct
Note the correct order of the vlaues
currently: 6666:1234
39-5559-[ 261.979715] usb 1-1: New USB device found, idVendor=6666, idProduct=1234, bcdDevice= 1.00
Read our Google Summer of Code Overview page:
https://wiki.apertus.org/index.php/GSoC_Overview
Prerequisites:
- embedded systems basics (we use a Microchip PIC32MZ CPU) - Full Manual: https://www.alliedelec.com/m/d/1e5e0c2adda09fc1913391ccd4594515.pdf
Language Skills:
- C / C++
Difficulty: Very Easy
Mentors: Andrej
To get in touch with any mentor check the Mentor Contact List.