MicroPython Bootcamp: Batteries Included!

Get familiar with MicroPython by coding on a fully connected game controller.

Sebastian Roll, Hans Elias Bukholm Josephsen

Compiler and Interpreters Gadgets Hardware/IoT Internet of Things (IoT) MicroPython

In this training session, you are provided with a custom made controller packed with hardware components such a touch displays, buttons, joysticks and various sensors. The hardware design is open source and available at https://github.com/bytebarista/controller_pcb.

MicroPython drivers and example code for each component will be made available.

We will cover:
- The powerful esp32 microcontroller
- Initial, one-time flashing of the MicroPython firmware
- Uploading your code to the microcontroller
- Connecting to the interactive shell
- Using built-in python modules
- Interfacing with your hardware components
- Writing your first program
- Task scheduling (preemptive, cooperative)
- Internet connectivity and messaging
- Strategies for code optimization

MicroPython is a lean and efficient version of Python, rewritten in C and specifically designed for constrained systems. It comes with a complete parser, compiler, virtual machine, runtime system and garbage collector. Uploaded source code is compiled dynamically on the chip itself. MicroPython is quickly gaining popularity in parts of the industry and is already being run on commercial products.

Sensors, displays and input devices have become cheap and readily available through mainstream retailers, and drivers for these devices are easy to come by, owing to a vibrant open source community. It’s now easy to make your own weather station, garage door opener, mp3 player or a toy for the kids.

Type: Training (180 mins); Python level: Beginner; Domain level: Beginner

Sebastian Roll


Chemical engineer turned software consultant. Hearts Python. Organizes the local Python Meetup.

Full-time IoT hobbyist. Holds IoT+Micropython workshops and blogs about it on bytebarista.com.

Hans Elias Bukholm Josephsen