The ESPHome weather station with a Nextion display
Disclosure: This post contains affiliate links. If you click through and make a purchase, I will earn a commission, at no additional cost to you. Read my full disclosure here.
Today’s featured project is one I’ve been wanting to build for quite some time. Unfortunately, I’m still missing the crucial 3D printer needed for such projects. This project uses a 2.4″ Nextion display, which are quite interesting on their own, and the popular LOLIN (previously WEMOS) D1 mini ESP8266 board housed inside a 3D-printed case. A full list of the required items can be found further down in this article.
It can be used as a typical weather station, showing you the temperature from sensors placed around your home and also the weather forecast using the Home Assistant weather component. But as this is an ESPHome project, you can display just about anything that is stored in Home Assistant. And because it is connected to your network and can communicate with Home Assistant, it will always display the most recent values.
The ESPHome weather station, showing the time and weather
The ESPHome weather station, showing various temperature readings
How to build an ESPHome weather station
The ESPHome weather station is the brainchild of GitHub user bruxy70. Just like the last project I highlighted, this one is rather simple. It is nothing more than a 2.4″ Nextion display hooked up to a D1 mini ESP8266 board using four wires (GND, +5V, RX, and TX). There aren’t any sensors or lights attached to it. The whole project is placed inside a 3D-printed enclosure.
You will need a microSD or USB FTDI board to flash the display. These Nextion displays don’t work as you first might expect. Nextion displays have a built-in ARM microcontroller that controls the display. It takes care of placing the text, generating buttons, and storing images. It has a small amount of onboard storage and once you’re done flashing you’ll be able to use the microSD card for other purposes again.
To edit the interface, you will have to use the Nextion Editor. If you copy the exact project from the GitHub repository, your display will have two pages. One showing the temperature from sensors and the other showing the weather forecast.
If you like the design shown in the images, you are in luck. The creator has made all files available on GitHub. These include the .stl files for your 3D printer and the design file for the display.
The ESPHome code for this project might seem a bit complex at first. However, thanks to the comments provided, it should be easy to understand. It is even programmed to be turned off when no one is at home and will reduce the display’s brightness after sunset.