An Introduction to Hardware Drivers in (Micro)Python

Carlos Pereira Atencio


Have you ever been curious about how device drivers control the hardware in your computer, phone, or IoT widget? Have you always thought you would needed to learn C or other low-level language to write a driver? Thanks to MicroPython we can control the physical world with Python code!


MicroPython is a lean an efficient implementation of the Python 3 programming language for microcontrollers and constrained environments. Thanks to MicroPython we can use Python to control embedded devices, allowing us to prototype faster, release to market sooner, provide more engaging computing education, or simply have more fun!

It’s never been easier to adventure in the embedded space, and using a familiar language is a great advantage. It’s incredible that we can simply “upip install” a module to control our brand new sensor, display, controller, etc; but how does it work? Or what do we do if there isn’t an existing library available? This talk will focus on the general concepts needed to understand how these hardware devices operate and how to interface with them. It will provide simple examples showing how easy it is to do in Python, and illustrate how the same concepts are used to drive complex systems.


Carlos is a Software Engineer at the Micro:bit Educational Foundation, a not-for-profit organisation with the goal to inspire every child to create their best digital future, and Python is a big part of that!

Carlos professional background is in embedded software, having worked in the aerospace and telecommunications industries, he has now found his true passion in EdTech, where he can build learning tools for computing education using physical hardware.