# Arduino/Genuino Zero (Native USB Port) # --------------------------------------- arduino_zero_native.name=Arduino/Genuino Zero (Native USB Port) arduino_zero_native.vid.0=0x2341 arduino_zero_native.pid.0=0x804d arduino_zero_native.vid.1=0x2341 arduino_zero_native.pid.1=0x004d arduino_zero_native.vid.2=0x2341 arduino_zero_native.pid.2=0x824d # If the board is a 2341:824d use 2341:824d for build and set other parameters as well arduino_zero_native.vid.2.build.vid=0x2341 arduino_zero_native.vid.2.build.pid=0x824d arduino_zero_native.vid.2.build.usb_product="Genuino Zero" arduino_zero_native.vid.2.bootloader.file=zero/samd21_sam_ba_genuino.bin arduino_zero_native.vid.3=0x2341 arduino_zero_native.pid.3=0x024d # If the board is a 2341:024d use 2341:824d for build and set other parameters as well arduino_zero_native.vid.3.build.vid=0x2341 arduino_zero_native.vid.3.build.pid=0x824d arduino_zero_native.vid.3.build.usb_product="Genuino Zero" arduino_zero_native.vid.3.bootloader.file=zero/samd21_sam_ba_genuino.bin
What the heck is going on with the PIDs here?
I get that there is an Arduino and Genuino version of the Zero. But why do they seem to have two PIDs for each, one prefixed 0x0 and one 0x8?
It seems like the 0x8 are the newer ones, but they leave the 0x0 alone on the Arduino zero, while on the Genuino the build process updates it to the 0x8 PID.
Why would they be doing this? Why create a new PID at all when nothing which would require knowing which version you have has changed? If I’m not mistaken this was like this since day 1 of the release so there weren’t even two versions in the wild. And why update it on one, but not the other?
I’m wondering if this is some weird quirk of USB protocols because Adafruit did the same thing with their Feather board. But in that case perhaps like me they didn’t understand why it was done and they just went with it?