USB for Software Developers: An introduction to writing userspace USB drivers

A basic introduction to USB for people that don't need to know what happens on the wire