How to Identify homemade USB device connected to computer by passing some identification tag?

I'm planning on developing several different USB devices that will be operated by a Visual Basic 6 program I am writing.  I want to be able to identify the USB device plugged into the computer the same way a program knows when you have just plugged in a USB drive or webcam.  Is there some simple cheap way that I can wire in a circuit that will pass an identification tag so my program can identify which USB device has been connected?  There are certain criteria.  The parts must be cheaper than a usb flash stick...otherwise I'd just disassemble a flash stick and load a program to it to automatically run telling the usb ID.  I'd rather not do this simply because I'd rather not have to take apart several usb flash drives which can get expensive.  This eliminates Arduo and other costly circuit boards.  The parts when assembled need to be smaller than  a usb flash drive.  I just want to pass some ID serial number to the usb port that I can than pick up with my program so it knows that device has just been plugged in.  Any suggestions?

You could use an FTDI chip and a shift register with some DIP switches to set an hardware address.
DarkRubyMoon (author) 7 years ago
Thanks!  Any suggestions on what sort of microprocessors, how to wire them, and where to get a chip programmer?
frollard7 years ago
Ther are several on-chip implementations of usb on very cheap microprocessors - just would involve writing a library that had a usb id built in - would be dirt cheap (less than a dollar each) after purchasing the chip programmer.

That said - very small usb thumbdrives could be had for pennies these days if you bought old stuff bulk (64MB range) - which you could load with a file as you say, or just read the serial number off the chip itself.
gmxx7 years ago
 if you can do chip programming, ive seen the atmegas do the usb protocol. passing an id would simple to add. or an atmega with a usb ftdi chip. that way would be easier, imo. pass variable from an atmega over serial to the ftdi chip, which is a usb to serial converter.