How I Built the Star Trek LCARS control panel of my dreams


One of my pandemic hobbies that stuck was home automation. I discovered Home Assistant — the popular open source, extremely customizable home automation platform — and all the intricate 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 executive dysfunction. I use it for audible calendar reminders, laundry reminders, timers, and monitoring my doorbell camera and my nanny cam for my dog. Its also a great source of pure nerdy joy for me. And I recently took the most joyously nerdy step yet in my home automation fixation.

Home Assistant lets you create custom dashboards to interact with your smart home devices. Community members spend untold hours perfecting their dashboards and some of them are really impressive. I even discovered a community theme for Home Assistant that goes a long way to looking like the LCARS computer control system in the Next Generation era of Star Trek I grew up on. LCARS is not a practical or useful computer interface. Its stated purpose is to “suggest something well-organized when a viewer sees [it] in the background of a scene.” What it is, though, is gorgeous. The aesthetic got hold of me at eight years old and has never let go.

The my iPhone’s Home Assistant dashboard, using the LCARS community theme.

Most of my home automation happens through actual automation without my input, and I do make extensive use of voice control ( yes, “Computer” is my wake word. The false alarms when I’m watching Star Trek are worth it). But there are some things I’ll always want a dashboard for. Sometimes you want to control things manually. It’s nice for weather displays or triggering custom lighting scenes. Since the beginning of my infatuation with Home Assistant, I’ve been dying to use 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 sizing and the proportions of the elbow dividers is a little off, and the buttons are all broken up into two pieces. It’s small stuff. But I’m the kind of fan who wants to take the accuracy thing as far as it can go. So I made my own.

I recently discovered LVGL (Light and Versatile Graphics Library), which lets you make graphic interfaces that are far more customizable and sophisticated than the stock Home Assistant dashboard setup. I figured there had to be some way to make LVGL talk to Home Assistant. The final piece of the puzzle was ESPHome. ESPHome is an open-source firmware framework that lets coding novices like me use relatively simple markup language to program Wifi-enabled microcontrollers like the ESP32, ESP8266, and RP2040, and it integrates deeply with Home Assistant. The possibilities are immense. I use ESPHome components as motion detectors, presence sensors, an air quality sensor, and controllers for LED strips. And ESPHome supports LVGL on specific display hardware.

So I bought this Waveshare 7” touch display with an ESP32-S3 microcontroller built in and I got to work.
I spent hours scouring the internet to find screenshots and fan recreations of some of the many LCARS panels featured in ’90s-era Star Trek. And I narrowed it down to this:

An LCARS computer control panel from Star Trek: Voyager

It’s a graphic you see in Tuvok’s quarters in Star Trek: Voyager. I’m not sure what it’s supposed to do in the show, but it has plenty of colorful buttons and rounded corners. And crucially there are two gauges at the top for who knows what. But to me those looked like lighting brightness controls. So I had my design.

Next was to build it. To build an interface in ESPHome using LVGL, you use YAML to specify the characteristics (size, positioning, color, etc) of the graphic element you want. LVGL calls them “widgets.” So I first created my design in Adobe Illustrator as a reference.

A screenshot from Adobe Illustrator showing a design for an LCARS computer control panel from Star Trek

The advantage of building in Illustrator first is that the properties panel gives me all the numbers I need to build my YAML.

I then began the rather tedious task of recreating that design in the ESPHome editor in Home Assistant. Thankfully you don’t need to know C (the language LVGL is written for) to use it in ESPHome. Instead you use YAML, which is much more forgiving for an enthusiastic amateur like me. Component by component, I specified the dimensions of each button, its location, its color, what label it would have, and its shape. It’s best practice in LVGL to use the inbuilt widgets instead of just inserting pictures. LVGL does have that capability, but ESP32 microcontrollers don’t have tons of spare resources, and images will eat them fast. The only actual images used in this design are the two gauges at the top right. All the other shapes are LVGL button widgets.

YAML showing the construction of two buttons for an LCARS control interface from Star Trek

A small snippet of the YAML that makes all this work.

I did have to cheat a little for the irregular shapes. Some of the buttons in the LCARS interface only have two rounded corners. LVGL buttons are all or nothing when it comes to rounded corners. Thankfully though, LVGL doesn’t mind if you stack shapes on top of each other. For the buttons that are half rounded, I simply stacked a circle on the end of a square button. They’re the same color, so it looks like a single shape. The elbows in the middle are made in a similar way.

Make the shapes the same color and add a black background, and you have LCARS.

Make the shapes the same color and add a black background, and you have LCARS.
Image by Ursa Wright / The Verge

Eventually I got there. An honest to goodness authentic-looking LCARS touchscreen in my living room. 12-year-old me would be so impressed. 41-year-old me certainly is.

All that was left was to connect it to my devices. While undertaking this project, I was hanging out in my living room, so I chose my living room lamps. (Yes, I made this entire project before I had a clear idea of what exactly I would be doing with it. This is not a hobby for people who are entirely pragmatically minded.)

I configured a certain button to turn white when the lights were on, and return to its original color when the lights were off. A different button actually toggled the lights on and off. The more buttons that do more things, the more authentic it feels to me. And this panel has more buttons than I have lights in my house. One of the gauges both reflects and controls the brightness of those lamps. There are status buttons that show me whether my home’s operating mode is “normal” or “cozy,” which determines the lighting scenes in my extensive WLED setup.

Still not quite perfect. But gosh do I love it.

Still not quite perfect. But gosh do I love it.
Photo by Ursa Wright / The Verge

The touchscreen with the panel rests on a stand near my couch. It’s not remotely practical. We already knew that about LCARS. However, it is beautiful. And it makes my nerd heart extremely happy that I can now control my house the way my childhood heroes controlled their starships.

Follow topics and authors from this story to see more like this in your personalized homepage feed and to receive email updates.




Source link

  • Related Posts

    YouTube Music starts putting lyrics behind a paywall

    Free YouTube Music accounts are now seeing their access to lyrics limited, according to multiple reports. Google started testing lyrics as an exclusive feature for Premium users in September, but…

    Amazon’s ‘Melania’ documentary stumbles in second weekend

    After a better-than-expected opening weekend in theaters, box office for Amazon’s “Melania” fell 67%, to an estimated $2.37 million, in its second weekend. The documentary about First Melania Trump has…

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    You Missed

    YouTube Music starts putting lyrics behind a paywall

    YouTube Music starts putting lyrics behind a paywall

    17 Best Free VR Games To Play In 2026

    17 Best Free VR Games To Play In 2026

    Australian defence force expands space workforce as new specialist training centre unveiled | Australian military

    Australian defence force expands space workforce as new specialist training centre unveiled | Australian military

    Liberals say Ley’s concessions to reunite Coalition may have tipped MPs into Taylor’s camp ahead of expected spill | Sussan Ley

    Liberals say Ley’s concessions to reunite Coalition may have tipped MPs into Taylor’s camp ahead of expected spill | Sussan Ley

    Super Bowl 2026 live updates on today’s Seahawks vs. Patriots showdown

    Super Bowl 2026 live updates on today’s Seahawks vs. Patriots showdown

    Super Bowl 2026 QB tale of the tape: Drake Maye vs. Sam Darnold complete breakdown

    Super Bowl 2026 QB tale of the tape: Drake Maye vs. Sam Darnold complete breakdown