USBDesignbyExample-APracticalGuidetoBuildingIODevices