2 added 522 characters in body
source | link

The USB Serial Number is what you want. And Atmel has a small datasheet on how to implement it with their usb stack here.

Additionally, any of the user configurable USB descriptors could be used. Assuming you are using the same VID/PID pair, you still have the Device Release Number, Manufacturer String Descriptor (Manufacturer Name), Product String Descriptor (Product name), and the Serial Number Descriptor, all of which go into the basic usb device descriptor that is mandatory for any usb device. They are independent of the usb class (HID, CDC, Proprietary etc), all major OS can read them, and can be as unique as you need them to be.

The USB Serial Number is what you want. And Atmel has a small datasheet on how to implement it with their usb stack here.

The USB Serial Number is what you want. And Atmel has a small datasheet on how to implement it with their usb stack here.

Additionally, any of the user configurable USB descriptors could be used. Assuming you are using the same VID/PID pair, you still have the Device Release Number, Manufacturer String Descriptor (Manufacturer Name), Product String Descriptor (Product name), and the Serial Number Descriptor, all of which go into the basic usb device descriptor that is mandatory for any usb device. They are independent of the usb class (HID, CDC, Proprietary etc), all major OS can read them, and can be as unique as you need them to be.

1
source | link

The USB Serial Number is what you want. And Atmel has a small datasheet on how to implement it with their usb stack here.