Small controller driver library. Since it is up to the user to provide the USB implementation, this library becomes platform independent.