Presented by

  • Paul Schulz

    Paul Schulz
    https://www.mawsonlakes.org

    Paul is a long time Linux and Open Source Developer, and has worked as a Linux System Administrator for Software Engineering Teams, in a variety of industries. He is happiest when he can submit a patch to fix a bug, particularly when that bug has been bothering him for a while, and sits in a corner case that appears in his particular work flow.

Abstract

Our homes are getting more automated, some might say smarter, but a lot of the control is being taken away with closed appliances that cannot be made to do what we want, when we want, and how we want. ESPHome (and it's parent project, Home Assistant) are community based projects squarely aimed at helping fix this. IoT Devices are starting to appear which are based on ESPHome firmware, which includes the ability to upgrade and modify the firmware. In this presentation we will start with a very simple ESPHome example (Athom Smart Switch V2), and show how it can be upgraded and then customized it in a variety of ways. We will then look at how the functionality can extended with additional components, and how it is possible to write and contribute your own code to use with these devices. This presentation is based on some hard learned experience. While there is online documentation for the project, progress can be difficult if you don't know what questions to ask. The discord based community was found to be both friendly and helpful. The ESPHome utility is a command line tool progamming tool, written in Python, which can almost magically create firmware for embedded ESP Microprocessor based appliances. The firmware creation process is relatively easy and straight forward and programming is done either by a direct USB connecton or Over-the-Air(OTA) using Wifi. It is also easy to use code (as components) from others in the community., which make it safer, quicker to fix and less susceptible to obscure bugs as more people are using the same code (More eyes, shallower bugs. etc etc.). ESPHome supports a quick development cycle which allows changes to be easily implemented and tested. Hardware that will be used (and pricing at Dec '23) - Athom Smart Switch V2 (2 pack) - https://www.athom.tech/blank-1/esphome-au-plug - $27.60 - Atom Echo Smart Speaker - https://shop.m5stack.com/products/atom-echo-smart-speaker-dev-kit - US$ 13.50 - Heltec Automation - Wifi Lora 32(V3) - Development Board - https://heltec.org/project/wifi-lora-32-v3 - US$ 17.90 Software discussed - ESPHome - Home Assistant - Python - Arduino / Arduino IDE and PlatformIO