Naming the controller
Naming the controller, or more importantly assigning a VID and PID number to it, is required for SimHub LED control to work.
Currently possible for:
ATMEGA32U4
RP2040
VID/PID
Vendor ID (VID) and Product ID (PID) are USB product indentifiers, where Windows already has a register to look at. If a product, such as a USB keyboard for instance, is registered with a VID/PID, Windows already knows its name when you plug it in. If your computer has never seen this VID/PID, it will take the name you have given it. If you then change the name and don't change the VID/PID, your computer will still remember it as the name you first gave it.
VID/PIDs cost a lot of money. Using a random VID/PID for your private projects is fine, but if you're selling a product, you're not entirely lawful if you're using random IDs. What the risk is, I'm not sure, but I can't imagine there is a USB police sniffing out sim gear shops.
Both VID and PID are 16-bit numbers. Commonly typed as a 4-digit hexadecimal number.
DDC has two VID/PID's, one for the 32U4 and one for the RP2040. You're free to use the DDC VID/PIDs for your personal projects:
ATMEGA 32U4
VID: 0x35f9
PID: 0xDDC
RP2040
VID: 0x2E8A
PID: 0x1053
SimHub uses the VID/PID to grab controllers for custom LED protocols, which is why knowing the VID/PID you give your controller is essential for LED setups. Next we'll look at how to do this for ATMEGA 32U4 boards and RP2040 boards.
ATMEGA 32U4
The approach is using a custom boards.txt
file, which Arduino IDE will use to flash your controller instead of the Arduino Leonardo / Pro Micro board core.
The DDC folder has these files, you'll have to move them to the right place:
Move the folder "hardware" to your Arduino folder in "My Documents".
It includes two board files, MyController and DDC.
If you fire up Arduino IDE, you'll see that these are now available as board cores.
You can either use the DDC core, which will give you the DDC VID/PID straight away, and naming your controller "Dahl Design Controller". Or you can customize your own to give the controller any name and PIV/VID you want. In that case, lets have a look at the boards.txt
file in the MyController folder:
Anything called "MyController" or similar can be renamed to whatever you want your controller to be named. The actual name that your computer will display is set here:
VID and PID:
RP2040
Setting up name and VID/PID for RP2040 is quite simple. Go to 04_USB.ino
:
This is fairly self explainatory. Default is the DDC VID/PID. If you don't have your own, you can use this.
Last updated