Talks: Creating USB gadgets with Python

Saturday - April 22nd, 2023 1:45 p.m.-2:15 p.m. in 355ABC

Presented by:

Experience Level:

Some experience


USB is with us for 26 years. Connecting USB devices to our computers, TVs, phones and many other devices became as natural as breathing. Throughout these years several mechanism have been developed in Linux to facilitate the process of creating USB devices.

In this talk I'd like to take you to the other end of the USB plug and show you how to create your own USB device with Python. I'll take you through the process of turning RaspberryPi Zero into a USB keyboard. I'll show you how to use Python to interact with Linux system internals. We'll find out how to use Python to facilitate and automate the process of device creation and configuration. Finally, I'll present the implementation of the logic of a Linux based USB keyboard-like device in Python.