Contribute Media
A thank you to everyone who makes this possible: Read More

Programming the Web of Things with Python and MicroPython

Translations: en


Hardy Erlinger is an experienced freelance developer from Munich. He has been writing web applications for 15 years using a lot of different technologies along the way. He has been actively involved with technical communities for most of his career and likes to experiment with electronic devices in his mad scientist lab.


In this session you will get a gentle introduction to the ever-expanding world of small programmable devices: learn to use single board computers and microcontrollers to connect to sensors and talk to APIs - all using Python or MicroPython, a subset of Python 3 for use in constrained environments.


Small single board computers such as the Raspberry Pi have made physical computing available to interested makers around the world. It is highly affordable, runs Linux and can be programmed using Python. But if all you want is to read a few sensors, the Pi's specs are overkill; and once your sensors are out in the field (sometimes even literally), power consumption suddenly becomes an issue. Many specialized devices with very low power requirements are available but historically you were constrained to using C to develop for them. Enter MicroPython, a subset of Python 3 designed for use on tiny devices with very limited resources.

In this session you will be introduced to the basics of physical computing and the joys (and some of the pains) of writing Python code for devices that weigh less than a piece of chewing gum but still have the power to communicate with web APIs, act as wireless access points, even host a small web server, and more.

The purpose of this session is to share some of the fun and excitement that can be had doing physical computing with Python. No prior experience with electronics is assumed or required.

Recorded at PyCon.DE 2017 Karlsruhe:

Video editing: Sebastian Neubauer & Andrei Dan

Tools: Blender, Avidemux & Sonic Pi


Improve this page