Recently, I embarked on an exciting project to build a smart mirror using an ESP32 module. The goal was to create a functional and stylish addition to my home that would display important information like weather forecasts, temperature readings, and even upcoming events. Here’s a brief overview of my journey and some tips I picked up along the way!
Project Overview
I decided to use a TTGO T4 V1.3 ILI9341 2.4-inch LCD display paired with an ESP32 module. The display was chosen for its compact size and vibrant colors, while the ESP32 offered the necessary processing power and connectivity options. To give it that mirror-like finish, I opted for a one-sided mirror foil, which was surprisingly easy to apply.
Challenges and Solutions
One of the initial challenges was getting the display to work correctly. After some research, I realized that adjusting the rotation settings in the ESPHome configuration was essential for proper alignment. Here’s a snippet from my ESPHome setup:
yaml
spi:
clk_pin: 18
mosi_pin: 23
miso_pin: 12
display:
- platform: ili9341
model: TFT 2.4
rotation: 270
cs_pin: 27
dc_pin: 32
led_pin: 4
reset_pin: 14
This configuration ensured the display rotated correctly and aligned with the mirror foil.
Integration with Home Assistant
I integrated the smart mirror with Home Assistant to pull real-time data such as temperature readings and weather forecasts. Using ESPHome, I set up sensors for temperature and weather data, which were then displayed on the mirror. Here’s a quick look at the sensor configuration:
yaml
sensor:
- platform: homeassistant
id: temp_balcony
entity_id: sensor.temperature_5 - platform: homeassistant
id: temp_livingroom
entity_id: sensor.temperature_2
Design and Aesthetics
Mounting the display and mirror foil was a breeze, but finding the right frame was a bit tricky. I ended up repurposing an old picture frame, which added a touch of vintage charm to the project. The final assembly was both functional and visually appealing!
Future Plans
While the current setup is functional, I have some exciting plans for the future. These include adding a PIR sensor for motion detection and implementing deepsleep mode to conserve power. I’m also considering adding more interactive features like a calendar display and a to-do list.
Tips for Beginners
- Plan Ahead: Sketch out your design and ensure all components are compatible before starting.
- Start Small: Begin with basic functionality and gradually add more features as you become comfortable.
- Experiment with Code: Don’t hesitate to tweak your code and test different configurations to achieve the desired results.
- Leverage Tutorials: There are plenty of online resources and tutorials that can guide you through the process.
This project has been a fantastic learning experience, and I can’t wait to see where my next smart home project takes me! If you’re considering a similar project, I highly recommend giving it a try—it’s a rewarding way to combine technology with creativity.