Writing software is my passion. I’m a software engineer by trade and have been doing home automation, electronics and micro-controller programming for the last 2 years. This blog offers a way to share my experience and pass on knowledge aquired the hard way.
Not too long ago I wrote about ESPHomeYAML – a YAML based firmware generator for microcontrollers. What if I told you that you can use this tool to automatically update your entire fleet of ESP8266-based home automation IoT devices from one central server?
in Home Automation tagged Lighting, Home assistant, Python, Locks, Software architecure, Design
As a home automation set up grows in size and complexity, there are certain issues that manifest themselves. The problem of lighting has been discussed on this blog in various places; not only because it serves as a great example but also because it is a surprisingly complex problem to solve from a software architecture and implementation point of view. Many of it’s intricacies can be applied to other aspects of home automations beyond the scope of lighting.
ESPHomeYAML is a Python tool that generates microcontroller firmware binaries for ESP microcontrollers based on YAML configuration. What this means is that you define, in a few lines of YAML, a desired configuration and the tool will parse this config, then generate, compile and upload wirelessly the firmware to your ESP.
Arduinos can be used as MQTT-enabled LED strip controllers. However, their limited PWM step resolution can pose a problem for the smooth LED lighting look we want to achieve. This post explains the reasons why this happens, explores a cheap and easy solution and provides plenty of reference material to help you come to terms with pulse-width modulation on the Arduino and achieving smooth, seamless, and futuristic LED dimming.