I want to learn writing device drivers for USB devices (on linux kernel or microcontrollers, if that matters). Hence, I am looking for sample USB development kit.

e.g. when I wanted to learn I2C, I could find hundreds of I2C based sensors, LCDs, switches, etc. Now I am looking for similar simple beginner level USB devices that can be used to learn USB driver programming. It could be a small thumb-drive shaped circuit board with LEDs and buttons, that I can blink or receive button press events over the usb.

Can someone please point me to such device or kits, if they exist. I searched a lot but always ended up with wrong search results, probably I need more fine-tuned search keywords. I do not want to begin with a USB mouse or USB keyboard to learn USB driver programming. I would love it to be simple to begin with.

EDIT I am just adding the examples here which I found, it may help someone in future. However, I am looking for kits intended for USB development that are developer friendly (with documentation). The devices below are not.

Consider this example : https://www.linuxjournal.com/article/7353 (a USB based LED lamp). I am looking for such kind of devices.

Another example : here is another article which makes of similar device : http://matthias.vallentin.net/blog/2007/04/writing-a-linux-kernel-driver-for-an-unknown-usb-device/

  • \$\begingroup\$ I'm not sure how many "USB drivers" exist. Like most systems use chips similar to FTDI products and repackage their driver. Things like hard drives etc. Use generic drivers... I get what your asking, and maybe I'm off base, but there might by other devices that are more custom vs USB. \$\endgroup\$ – MadHatter May 24 '20 at 17:10
  • \$\begingroup\$ It looks like you found it yourself, delcomproducts.com/webpage.asp?id=24 with an article explaining Linux driver for it. What else do you need? \$\endgroup\$ – Ale..chenski May 24 '20 at 19:33
  • \$\begingroup\$ Thanks.... I would still wait for any more answers because $60 is too much for that piece. Cheaper alternatives are most welcome. \$\endgroup\$ – Insane Coder May 25 '20 at 4:21
  • \$\begingroup\$ Such "shopping" questions are firmly and fundamentally prohibited by site rules. In practical terms, find some useful device with only closed drivers to write an open driver for. Or if you are building a custom physical device, choose a scheme that will be easy to support on the host side, perhaps one for which a standard class driver already exists. Essentially any USB-capable MCU board could be used if you really insist on inventing a problem to solve. \$\endgroup\$ – Chris Stratton May 25 '20 at 5:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.