Offline

Building a Smart Home Device with MicroPython

Track:
IoT, Embedded Systems, Hardware Integration
Type:
Talk
Level:
intermediate
Duration:
30 minutes
View in the schedule

Abstract

Your smart home is a wireless network of connected devices which all talk to each other by sending messages into a central hub. If you control the hub's messaging queue, you can control and monitor the network and even create your own custom devices that end up visible in services like Apple or Google Home.

In this talk I will show you what it takes to create such a custom device using an affordable ESP32 microcontroller running MicroPython. We'll briefly look at the capabilities of the ESP32 family and why it is a good choice for WiFi-enabled projects. We'll talk about the tooling that makes development a pleasure, from flashing firmware to interacting with the board using WebREPL, installing lightweight dependencies with mip, testing, logging, and more.

We will also discuss the MQTT protocol, how our custom devices can send and receive messages, how to integrate third-party Zigbee devices, and how to use Home Assistant as a bridge between our MQTT server and Apple or Google Home. We'll see how to use the Mosquitto broker and client tools such as paho.mqtt and how Zigbee2MQTT allows remote sensors to join the same messaging layer.

My goal is to give a practical overview of the hardware and software pieces involved: ESP32, MicroPython tooling, MQTT infrastructure, Zigbee integration, and Home Assistant bridging. If you are comfortable with Python and curious about embedded systems, this talk is for you.