Custom USB devices (Part 1)

I've recently been working on a series of custom designed USB devices. based on Microchip PIC processors (18F87J50 and 18F4550) and have a few observations to make for those doing similar things

1 - Get the Microchip USB firmware examples (MCHPFSUSB; search for "USB Stack" on their website). Some of the examples are pretty badly written but they are very useful for beginners.

2 - If you will ever have multiple devices of the same type attached at once you REALLY should add a unique serial number to each device. This is done by altering the USB descriptors. In my case, I set the number with a special command after the device has been programmed. The number is burned into ROM in the bootloader section so the user can never change it.

If you don't have a serial number, Windows can get confused. In my case I had up to 28 devices that attach via a chain of USB hubs. If you connect them all at the same time, Windows will fail to find them all or may even blue screen. Adding a unique serial number will stop the crashing and 'most' of the other problems.... It seems that the theoretical 127 devices on a USB bus is not a target to aim for!

Comments

Popular posts from this blog

JTAG Progromming on a PIC

Using Plink.exe from C# (accessing a linux PC)

Evohome problems on Danfoss RAS-C2 valves