TrailCurrent has three jobs. Build a real open source Software Defined Vehicle platform. Give it away, under the MIT license, top to bottom. And teach other makers how they can do the same thing with their own ideas. The newest video on the open source channel is example three. A guided tour of EEZ Studio and LVGL, the free open source stack we use to draw the touchscreens on Milepost and Fireside, demoed on a handheld pendant for a small FluidNC CNC machine.
Why we made this video
If you have ever wondered what kind of project TrailCurrent really is, this is a small window into the answer. TrailCurrent is open source, and so is every single tool we use to build it. Top to bottom, the whole stack. EEZ Studio and LVGL are two of those tools. The people who make them spend their nights and weekends on them so the rest of us do not have to write a single line of interface code to get a real touchscreen up and running. The least we can do is help more people find them.
So we sat down and recorded a guided tour. Not a full step-by-step build, that would be a multi-hour series. This is the introduction: what EEZ Studio is, what LVGL is, what their key features are, and what they look like in the context of a real device project. If you have ever wondered whether these tools fit your own project, this is the video that answers it. The pendant we used to demo it is on GitHub at trailcurrentoss/TrailCurrentFluidCNCPendant. It is a work in progress. If time allows we plan to finish it so we can use it on our own CNC and so other people can too. If that sounds useful, give the repo a star and watch it so you get a ping when it moves.
Why this matters if you are thinking about building a TrailCurrent
If you have landed here because you are considering putting a TrailCurrent system in your own rig, this kind of post is the proof we can offer that the project is real and the values are real. The screens that ship in TrailCurrent are not built behind a closed door. They are built with the same free tool we just spent a video showing other people how to use. The CNC behind our aluminum enclosures is not a secret machine. It runs the same FluidNC firmware we just spent a video showing other people how to put a pendant on. The pendant we used as the demo? Open repo, work-in-progress, public.
That is what we mean when we say open source Software Defined Vehicle. The system is open. The tools are open. The teaching is open. If you build a TrailCurrent and decide later to design your own module, change a screen layout, machine a part differently, or take an idea of ours in a totally new direction, you have the same toolchain we have. Nothing about your rig depends on us still being here in five years. That is the contract.
What is EEZ Studio?
EEZ Studio is a free, open source visual designer for embedded touchscreens. Imagine PowerPoint, but for the screens on small devices like ESP32 boards, STM32 boards, and Raspberry Pi panels. You drag a button onto the canvas. You drag a slider next to it. You pick a color, type a label, snap things to a grid. When you are done, you click export and the program writes out the C source files your device needs to show that screen.
It runs on Windows, macOS, and Linux. It is free. You can download it from envox.eu/studio.
What is LVGL?
LVGL, short for Light and Versatile Graphics Library, is the open source library that actually paints buttons, sliders, gauges, and meters on the screen at runtime. It is the engine underneath. EEZ Studio is the visual front door to it. You do not have to know how LVGL works internally to use the designer, the same way you do not have to know how a printer works to make a slide deck.
That is the leap. Before tools like EEZ Studio, building an LVGL interface meant writing code by hand for every button and label. Now you drag the button where you want it on the canvas and the program writes the LVGL code for you. It is the difference between describing a house in a letter and pointing at a blueprint.
Why a FluidNC pendant for the example?
The worked example in the video is a handheld touchscreen controller for a small CNC machine running FluidNC, a popular open source firmware for ESP32-based motion controllers. CNC stands for Computer Numerical Control, which is the family of small workshop machines that move a cutter around on their own. A pendant is just the handheld remote that goes with the machine, so the operator can hit start, pause, or jog the cutter without walking back to the laptop.
We picked FluidNC for a specific reason. We use FluidNC ourselves. The CNC that mills the aluminum enclosures for the upcoming passively cooled TrailCurrent modules runs on FluidNC. The CNC we use to prototype circuit boards before we send them out to be fabricated runs on FluidNC. It is part of the manufacturing toolset that makes TrailCurrent possible. So when we wanted a worked example to show off EEZ Studio and LVGL, building a touchscreen pendant for the firmware that already powers our own shop floor was the obvious choice. The same give-back-to-open-source thread runs through all of it. FluidNC helps us build TrailCurrent. EEZ Studio and LVGL draw the screens that ship in TrailCurrent. The pendant is the project where all three meet.
The same EEZ Studio and LVGL approach applies to whatever else you would put on a small touchscreen. A control panel for a 3D printer. A status screen for a homemade weather station. A wall-mounted thermostat. A bedside clock with the kind of look you actually want. The pendant is the example. The toolchain is what travels.
What you see in the video
The video is a guided tour, not a click-by-click build. It opens the pendant project inside EEZ Studio and walks through the key features of both tools using the real layout as the backdrop:
- The project layout. What an EEZ Studio project looks like once it is set up for a specific ESP32 touchscreen, and where the moving parts live.
- Fonts and icons. How custom fonts and icon sets show up in the designer, and how that ends up looking on the panel itself.
- Pages and widgets. How the pendant is split across multiple screens, what kinds of widgets LVGL gives you to work with, and how they get arranged on the canvas.
- Data binding. How a button or label gets hooked to live data and actions so the screen can show changing numbers and react to taps.
- From designer to device. How the EEZ Studio project hands off to the LVGL code that ends up compiled into the ESP32 firmware.
If you have ever wondered whether EEZ Studio and LVGL fit your project, this is the video that answers it. The pendant project itself, source and progress and all, lives at trailcurrentoss/TrailCurrentFluidCNCPendant on GitHub. It is a work in progress. If we get the time we will finish it and put it on our own CNC, and the repo is where to watch for that.
The same workflow we use for Milepost and Fireside
The screens on Milepost and Fireside started as a blank canvas in EEZ Studio. Every tile, every meter, every page on those wall-mounted touchscreens was dragged into place inside the designer first, then exported and compiled into LVGL code that runs on the ESP32 behind the glass. Knowing the program meant we could get a real interface running fast and keep iterating on it without rebuilding from scratch every time we wanted to move a button.
That is what the open source channel is for. The main TrailCurrent channel is about what the system does and what it is like to live with on the road. The @trailcurrentopensource channel is about the bench underneath. Hardware reviews, design choices, and the free and open tools we lean on to build all of this. Walking through one of those tools in full is the kind of thing we want to keep doing.
Getting started with EEZ Studio and LVGL
If the video gets you curious, here is the short list:
- EEZ Studio is a free download for Windows, macOS, and Linux at envox.eu/studio.
- LVGL is open source and lives at lvgl.io. If you are using EEZ Studio, you do not need to install it separately for the design phase. You will pull it in when you compile your firmware.
- FluidNC is open source. The friendliest place to learn about it is the wiki at wiki.fluidnc.com. It runs the CNC that cuts our aluminum enclosures and the one we use to prototype PCBs, so it is genuinely part of how TrailCurrent gets built.
- The pendant project from the video lives at trailcurrentoss/TrailCurrentFluidCNCPendant. It is a work in progress. If time allows we plan to finish it for our own shop. Star and watch the repo if you want a heads up when it moves.
- The TrailCurrent screens. If you want to see how we use this same stack in a real shipping product, the firmware for Milepost is on GitHub at TrailCurrentMilepost.
Drop us a note on Discord if you build something with EEZ Studio and LVGL. We are happy to talk through what we learned the hard way.
The video is on @trailcurrentopensource, the channel where this kind of behind-the-scenes content lives. If that is the kind of thing you came here for, that is the channel to subscribe to.