Integrating ESPHome Device to Home Assistant

ESPHome is an open source firmware for your ESP8266 or ESP32 devices with simple and yet powerful configuration files that allows you to control them remotely through the open source IoT platform Home Assistant and/or other home automation systems.

In this tutorial you will learn how to add a device with ESPHome in Home Assistant. The open source hardware ANAVI Light Controller with 12V RGB LED strip is used for the demonstration.

Upload ESPHome

You can either do this through the command line or alternatively, you can do it through Home Assistant ESPHome add-on.

Depending on the device you may need to edit an existing ESPHome configuration file or to create new from scratch. An example for ANAVI Light Controller is available at GitHub. Remember to set your WiFi credentials and device password in it as well as to enable the API. After flashing ESPHome to the device it is important to write down the address and the port. Both are printed in the serial output after booting the device.

After flashing ESPHome to the device it is important to write down the address and the port. Both are printed in the serial output after booting the device.

Home Assistant Integration

Open the web interface of Home Assistant. From the left side menu select Configuration and after that click Integrations. Click the button in the right lower corner with label Add Integration. From the menu select ESPHome. Enter connection settings for your ESPHome device. Set the address for host and port both of which were obtained on the first step. Click SUBMIT. Enter the password from the ESPHome configuration file. Click FINISH to complete adding the device.

After successfully adding the ESPHome device to Home Assistant it will appear in the overview section. For more details have a look at the video.

ANAVI Light Controller and 12V RGB LED strip controlled with ESPHome and Home Assistant from mobile application on Android smartphone

Select Language in Home Assistant

Select language in Home Assistant

Home Assistant is an advanced open source IoT and home automation platform. The user-friendly web user interface supports multiple languages.

  1. Open a web browser and log into Home Assistant.
  2. Go to you user profile by clicking your user account initials at the bottom of the sidebar.
  3. Select a language from the drop-down menu.
  4. The new language will be applied immediately.

Out of the box Home Assistant supports multiple languages including English, Spanish, French, German, Russian and many more. Home Assistant is an open source project and this allows adding translations and support for more languages in future.

ANAVI Macro Pad 8 Manufacturing Progress

ANAVI Macro Pad 8 is an open source, programmable, eight-key keypad with backlighting, underlighting, and OLED screen. Following the successful crowdfunding campaign we manufactured the printed circuit boards in a small local factory in Plovdiv, Bulgaria, EU. We would like to explain in detail the whole manufacturing process.

The fabrication includes a procedure called panelization which groups together a number of PCBs on a larger board called a “panel”. In the case of ANAVI Macro Pad 8 the “panel” contains 3 boards. All of them are gold plated through electrolytic nickel-gold process. Gold is very expensive, especially at the moment, but it is still worth it. Gold-plated PCBs have excellent quality with high hardness, wear and oxidation resistance.

A panel with 3 printed circuit boards for ANAVI Macro Pad 8

Sourcing parts in the COVID-19 time is a challenge but we work with trusted and reliable suppliers. We bought Microchip ATmega32U4 microcontrollers from Mouser. They arrived from the warehouse in Texas, USA. Each microcontroller is with TQFP-44 package that requires surface mount technology (SMT). The local factory has already assembled them alongside with all other SMT components.

The assembly of Gateron red mechanical switches and the red 3mm LEDs for all developer kits requires through-hole technology, a.k.a. manual soldering. This is a time consuming process. To simplify the work and to keep the mechanical switches on their places we created this plate that matches the size of the panels.

There are special holes on each mechanical switch for the 3mm LED. After soldering all of them, the leads of the LEDs have to be cut from the back side of the panel.

After all these steps, testing and packaging the developer kit will not require any soldering. However, people who enjoy soldering like me can order a maker kit and experiment with various mechanical switches and 3mm LEDs with different colors. Furthermore, the maker kit allows to perform a hot-swap upgrade as explained in the previous post.

After burning a the same bootloader as in Arduino Leonardo, flashing the open source QMK firmware and testing our mechanical keyboards are ready for packaging!

ANAVI Macro Pad 8 Developer Kit
ANAVI Macro Pad 8 Maker Kit

How to Make Hot-Swappable Mechanical keyboard PCB?

Hot-swappable mechanical keyboard allows you to replace switches and LEDs on the go without soldering and without even powering off the keyboard. In this short video tutorial I explain how to make hot-swappable any printed circuit board for a mechanical keyboard with footprints for Cherry MX plate switches. Other brands such as Gateron and Kaihl are compatible with the Cherry MX switches so this solutions is universal.

Hot-Swappable Sockets for DIY Mechanical Keyboard

The video has been created with a maker kit of the open source mechanical keypad ANAVI Macro Pad 8. I have customized it by adding holtite sockets to make it hot-swappable.

Required Hardware

ANAVI Macro Pad 8 with holtite sockets for hot-swap of Cherry MX and Gategron mechanical switches

Step 1


Using the tweezers place the holtite sockets into the PCB. The sockets are small so be careful not to lose any of them. Turn on the soldering iron. Heat each socket and gently push it. So we are using a soldering iron but in this case not for soldering. We are just mounting the sockets using its heat.

It looks easier than it is. It took me some time to do it for all switches and LEDs. Each key has 2 holes for the switch and 2 holes for the LED so basically you need 4 sockets with appropriate sizes for each key.

Step 2

Next step is optional and specific for ANAVI Macro Pad 8. The maker kit includes WS2812B addressable LED strip which should be soldered on the back of side of the keyboard. Please note the arrow that indicates the direction of the LED strip and make sure you are placing it properly as shown in the video.

Step 3

Cut the legs of the 3mm LEDs to make sure they will fit well in the hot-swappable holtite sockets that we have already mounted.

Step 4

Assemble the switches, the LEDs and the key caps. Once you are done with steps 1 this is easy because you already have a hot-swappable printed circuit board for your mechanical keyboard.

Custom ANAVI Macro Pad 8 with blue Cherry MX switches and green 3mm LEDs for backlit

By default ANAVI Macro Pad 8 is with Gateron red switches, red LEDs and white translucent keycaps. However, in this case with the hot-swappable version I am experimenting primary with blue Cherry MX switches, green LEDs and dark translucent keycaps. I have purchased several different mechanical switches: Gateron Red, Cherry MX blue and Cherry MX brown. Please note that these particular Cherry MX brown switches in the video do not have slots for the 3mm LEDs.

Although in this video I am using the maker kit of ANAVI Macro Pad 8. The same approach with holtite sockets can be applied on any other PCB for mechanical keyboard with footprint for Cherry MX switches.

“Spiderman” Raspberry Pi with ANAVI Infrared pHAT

Jesús Figueres, a data scientist interested in artificial intelligence (AI), shared in Twitter his setup of Raspberry Pi and ANAVI Infrared pHAT. It is living upside down on his lab’s ceiling so he calls it “Spiderman”. No doubt this is a suitable name in this case!

Jesús has attached various sensors for collecting data as we as a Raspberry Pi camera to take pictures of the room. He has developed energy efficiency algorithms running in the cloud which make decisions based on the data from the sensor and after that ANAVI Infrared pHAT takes care for transmitting commands as a stream of infrared signals to his air conditioner.

ANAVI Infrared pHAT
ANAVI Infrared pHAT

ANAVI Infrared pHAT is a low-cost open source hardware add-on board for Raspberry Pi with infrared receiver and transmitted. Furthermore it has slots for attaching up to 3 I2C sensor modules as well as convenient UART pins. We launched it in 2017 and it is one of our best-selling products. ANAVI Infrared pHAT is available at our distributors around the world and you can order it to build a similar home automation solution.

Microchip ATmega32U4 – The Heart of ANAVI Macro Pad 8

Have you already ordered our open source mechanical keypad ANAVI Macro Pad 8 from the recent crowdfunding campaign? It is powered by Microchip ATmega32U4: an 8-bit microcontroller with 32K bytes of ISP Flash, USB Controller and I2C. This microcontroller is part of the AVR family of microcontrollers developed since 1996 by Atmel and acquired by Microchip Technology in 2016.

Microchip ATmega32U4 on the open source mechanical keyboard ANAVI Macro Pad 8

Microchip ATmega32U4 is how ANAVI Macro Pad 8 connects to the USB port of a personal computer, shows graphics and text on the mini OLED display through I2C. Furthermore, this microcontroller has more than enough general-purpose input/output (GPIO) pins for the mechanical switches.

Photo of Microchip ATmega32U4 between microUSB connector and 4-pin slot for I2C mini OLED display on ANAVI Macro Pad 8

The popular open source Quantum Mechanical Keyboard (QMK) Firmware supports Microchip ATmega32U4 and therefore it is easy to use as the default firmware for ANAVI Macro Pad 8. However, it is technically also possible use ANAVI Macro Pad 8 as a development board and upload Arduino sketches compatible with Arduino Leonardo through Arduino IDE or PlatformIO. Many popular development boards such as Arduino LeonardoSparkFun Pro MicroTeensy 2.0Olimex eduArdu also use ATmega32U4.

ANAVI Macro Pad 8

You Can Now Order Gateron Red Mechanical Switches, Keycaps and Red LEDs with the Maker Kit of ANAVI Macro Pad 8

After the launch of the crowdfunding campaign we received a lot of positive feedback about ANAVI Macro Pad 8 and great ideas from the community. Based on the recommendations of several backers a new option has been recently added. Now you can order a maker kit with an extra add-on: Gateron red mechanical switches, translucent keycaps and 3mm red LEDs.

Gateron red mechanical switches with 3mm red LEDs and translucent keycaps

Basically with this optional add-on, you can get the same parts as in the developer kit, but not soldered. In some use cases, having all the parts in one package is a convenient option for advanced users with soldering skills. This way they don’t need to purchase separately the keycaps, the LEDs and the switches. Furthermore, they can still make advanced modifications before using them with ANAVI Macro Pad 8.

ANAVI Macro Pad 8 mechanical keyboard/keypad

As part of the stretch goals that the crowdfunding campaign has already met, all kits of ANAVI Macro Pad 8 will also include 32 transparent Emoji stickers to customize further the keycaps!

Translucent keycaps for mechanical keyboard with emoji stickers included in all ANAVI Macro Pad 8 kits

Remote HVAC Control with ANAVI Infrared pHAT


Morten Mathiasen,  a highly skilled professional with 25 years of experience in software development and teaching, implemented an open source solution for HVAC control with Raspberry Pi, HTU21D temperature and humidity I2C sensor module as well as our open source hardware ANAVI Infrared pHAT. He recently shared details in a Crowd Supply Field Report.

Raspberry Pi 4 with ANAVI Infrared pHAT and HTU21D I2C sensor module

To save energy and to reduce global warming in his vacation house, Morten turns off the Panasonic HVAC system when his family is not there. Unfortunately, as a result next time when he arrives at the vacation house, it is too cold in the winter and too hot in the summer. It then takes up to 24 hours to get a comfortable temperature in the house.

Controlling the Panasonic HVAC through infrared signals and Home Assistant thanks to ANAVI Infrared pHAT and a Raspberry Pi

To solve this problem, Morten wrote in the C programming language a Home Assistant-based system that uses a Raspberry Pi with ANAVI Infrared pHAT to make an internet-connected remote control. Now, he can turn on the system remotely 24 hours before arriving to ensure a comfortable temperature.

Morten shared the source code under MIT License in GitHub. Give a star to the GitHub repo and spread the word about his fascinating open source project!

ANAVI Macro Pad 8 – (Not) Yet Another Mechanical Keyboard

After several months of development, the crowdfunding campaign for ANAVI Macro Pad 8 has been launched at Crowd Supply!

ANAVI Macro Pad 8

ANAVI Macro Pad 8 is an open source, programmable, eight-key mechanical keyboard with backlighting, underlighting, and OLED screen. The popular open source QMK firmware allows you to easily configure custom keyboard layouts and macros, even directly in a web browser.

The crowdfunding campaign has a very modest goal of just $1. We have 3 stretch goals! If we raise $500 or more we’ll add super cool 32 transparent emoji keyboard stickers to all kits. You can stick them to the top or the sides of the key caps.

Transparent stickers for the translucent keycaps on ANAVI Macro Pad 8

The crowdfunding campaign will help us manufacture it in a local factory in Plovdiv, Bulgaria, EU. We hope you’ll jump in and help us bring this entirely open source project to life!

Unifying Remote Controls with Infrared pHAT

Recently Michel submitted a very interesting Crowd Supply Field report about his awesome project with ANAVI Infrared pHAT. He used a Raspberry Pi Zero W and ANAVI Infrared pHAT to consolidate all the remote controls (TV, DVD, cable box, etc.) in his household to a single interface available on a tablet or smartphone.

Web interface for controlling remote controls over the web with Raspberry Pi, ANAVI Infrared pHAT and LIRC

Michel runs a local Apache2 web server on the Raspberry Pi Zero W and the Infrared pHAT can record and play back the infrared signals from any brand of remote control using the popular open source software Linux Infrared Remote Control (LIRC). He shared details in Crowd Supply and GitHub.

Furthermore Michel crafted a fantastic wooden box and shared with us a couple of photos!

Wooden box for Raspberry Pi Zero W and ANAVI Infrared pHAT
Inside the wooden box the two infrared LEDs have been carefully extended with appropriate wires