Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

One of my pandemic hobbies that has stuck around is home automation. I discovered Home Assistant – the open source, highly customizable home automation platform – and all the complex things you can do with it to make your home work better.
I have ADHD and have found Home Assistant to be a valuable tool for managing my executive dysfunction. I use it for audio calendar reminders, laundry reminders, timers, doorbell camera monitoring and my dog’s nanny cam. It is also a great source of pure joy for me. And I recently took the most joyous step yet in installing home automation.
Home Assistant lets you create custom dashboards to interact with your smart home devices. Community members spend countless hours improving their dashboards, and some really do Awesome. I even discovered the community Feature For the home helper that goes a long way to look like LCARS Computer control system in The next generation The Star Trek era I grew up in. LCARS is not a practical or useful computer interface. Its stated purpose is “It suggests something well-organized when the viewer sees it in the background of a scene“What it is, though, is cool. The aesthetic captured me when I was eight years old and has never left me.”
Most of my home automation is done through actual automation without my input, and I use voice control extensively (yes, “computer” is my wake-up word. False alarms when I watch Star Trek worth it). But there are some things I always wish I had a control panel for. Sometimes you want to control things manually. It’s great for displaying the weather or triggering custom lighting scenes. Since the beginning of my fascination with Home Assistant, I’ve longed for an LCARS-style interface. The theme linked above is very good – I use it for my phone’s main dashboard. But it’s not perfect.
The size and proportions of the elbow spacers have been changed slightly, and all the buttons have been split into two pieces. It’s little things. But I’m the type of person who wants to take accuracy as far as possible. So I made my own.
I recently discovered level (Light and Versatile Graphics Library), which allows you to create graphical interfaces that are much more customizable and sophisticated than setting up the Home Assistant dashboard. I thought there must be some way to get LVGL to talk to Home Assistant. It was the final piece of the puzzle ESPHome. ESPHome is an open source framework that allows programming newbies like me to use a relatively simple coding language to program Wifi-enabled microcontrollers like the ESP32, ESP8266, and RP2040, and integrates deeply with Home Assistant. The possibilities are huge. I use ESPHome components as motion detectors, presence sensors, air quality sensor, and controllers for LED strips. ESPHome LVGL is supported on certain display devices.
So I bought this Waveshare 7 inch touch screen with ESP32-S3 microcontroller Built in and got to work.
I’ve spent hours scouring the internet to find screenshots and fan-made recreations of some of the many LCARS panels that appeared in 1990s-era Star Trek. I summed it up like this:
It’s a drawing you see in Tuvok’s residence Star Trek: Voyager. I’m not sure what you’re supposed to do in the view, but it has lots of colorful buttons and rounded corners. More importantly, there are two metrics at the top of who knows what. But to me, they looked like brightness controls. So I had my design.
Next was to build it. To build an interface in ESPHome using LVGL, you can use I hope Specifies the properties (size, position, color, etc.) of the graphic element you want. LVGL calls them “widgets”. So I first created my design using Adobe Illustrator as a reference.
I then began the somewhat tedious task of recreating this design in the ESPHome editor in Home Assistant. Fortunately you don’t need to know C (the language LVGL is written in) to use it in ESPHome. Alternatively, you can use YAML, which is more forgiving for an avid hobbyist like me. Component by component, I determined each button’s dimensions, location, color, label, and shape. It’s a best practice in LVGL to use built-in tools instead of just inserting images. LVGL has this capability, but ESP32 microcontrollers don’t have a lot of spare resources, and images will eat them up quickly. The only actual images used in this design are the two scales at the top right. All other skins are LVGL button widgets.
I did have to cheat a little with the irregular shapes. Some of the buttons on the LCARS interface only have two rounded corners. LVGL buttons are all or nothing when it comes to rounded corners. But fortunately, LVGL doesn’t mind if you stack shapes on top of each other. For the semicircular buttons, I simply placed a circle on the end of the square button. They are the same color, so they look like the same shape. The elbows in the middle are made in a similar way.
Finally I got there. An authentic and honest looking LCARS touch screen in my living room. My 12 year old would be very impressed. 41 years me for sure.
All that’s left is to connect it to my devices. While I was doing this project, I was hanging out in my living room, so I chose my own living room lamps. (Yes, I created this entire project before I had a clear idea of exactly what I was going to do. This is not a hobby for completely practical-minded people.)
I’ve configured a particular button to turn white when the lights are on, and return to its original color when the lights are off. There’s a different button that actually toggles the lights on and off. The more buttons that do more things, the more authentic it feels to me. This panel has more buttons than I have lights in my house. One meter reflects and controls the brightness of those lights. There are status buttons that show me whether my home’s operating mode is “Normal” or “Warm,” which determines the lighting scenes in my spacious home. HELOC Prove.
The touch screen with the panel is located on a stand near my sofa. It’s not a remote operation. We already knew that about LCARS. However, it is beautiful. This makes my nerd heart so happy because I can now control my house the way my childhood heroes controlled their spaceships.