From circuit board design to finished product

The hobbyist’s guide to hardware manufacturing

Sebastian Roll

Gadgets Hardware/IoT Internet of Things (IoT) MicroPython

See in schedule

Ever wondered how hardware is made, or curious about making your own?

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.

We will present a gamepad controller that we have built for holding IoT workshops. A fully connected device is useful, so that attendees can focus fully on the coding part. the gamepad has pin headers to connect an esp32 microcontroller. It's a great way to learn MicroPython.

The controller is equipped with:
- 2.8” Touch TFT display
- Thumbslide, dpad and four buttons
- MEMS microphone
- Speaker, surface mounted
- MCP23017 GPIO extender
- BME280 temperature, pressure, humidity
- MPU-9250 9 axis motion tracking
- MicroSD reader
- 3.7V battery case
- 3.5mm audio jack
- 2*2mm RGB LEDs
- Pin headers for external connectivity

We open source the designs in KiCad, and provide a BOM list so that people can order components themselves. We also document the whole process from design to assembly.

We provide MicroPython Drivers and example code for all the connected components.

We will describe the entire production process, including:

- Designing the PCB (Printed Circuit Board)
- Choosing a microcontroller and parts
- Finding, ordering and assembling components
- Pulling together firmware, drivers and software

Type: Poster session (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