USB for Microcontrollers (Tutorial)

USB is the preferred choice to connect an MCU-based device with an application running on a laptop or desktop computer. I’ve written a tutorial that introduces the relevant USB concepts and implements two sample projects. And it shows how to do it without the need for writing device drivers.

The sample projects are for an STM32 (Blue Pill), but the concept apply to all microcontrollers I’m aware of. The projects use PlatformIO and are available for both LibOpenCM3 and STM32cube. On the host side, Python is used. They are published on GitHub, of course.

https://medium.com/@manuel.bl/usb-for-microcontrollers-part-1-basic-usb-concepts-519a33372cc9

https://medium.com/@manuel.bl/usb-for-microcontrollers-part-2-firmware-167c4e6e5632

https://medium.com/@manuel.bl/usb-for-microcontrollers-part-3-host-software-and-device-drivers-1aeb45191185

https://medium.com/@manuel.bl/usb-for-microcontrollers-part-4-handling-large-amounts-of-data-f577565c4c7d

5 Likes

Thank you @manuelbl. I’m just beginning to “play” with a Blue Pill, so I think these tutorials will be most useful.

Cheers,
Norm.