Trace Systems Inc

USB Classes for Microcontrollers

What Are USB Classes, Anyway?
USB Classes are organized by function
USB classes we won't be talking about
The commonly used USB classes
The "No Class" solution: generic classless bulk devices
What your customer sees, if you are lucky
If you are NOT so lucky...
Writing a protocol for your classless bulk or CDC device
Protocol Problems
CDC Devices:
The bad news about those "Fake Serial Port" chips
CDC devices waste USB bandwidth!
Why CDC devices waste bandwidth
Mass Storage Device (MSD) class
Mass Storage Devices are not always a good solution - part 1
Mass Storage Devices are not always a good solution - part 2
The MSD "drag and drop" trap - 1
The MSD "drag and drop" trap - 2
Human Interface Device (HID) class
What is HID Class Good For?
Completely self describing
HID class focuses on DATA ITEMS (variables)
HID data items are identified by Usages
HIDmaker takes HID data items a step further
The result: HIDmaker's unique Direct Transfer of Variables
HID: The most highly developed USB class
Plenty of Speed
HID class does not waste USB bandwidth
So what's the bad news about HID class devices?