Skip to main content
A travel trailer with a warm glowing window beside a wooden dock on a still mountain lake at dusk

Capstan

A small round screen inside a ring you turn and press. Put one anywhere in the rig and every reading and every switch is a few clicks away. Leave it alone and it is a clock.

What's Inside  /  Display

The Dial

Mount one by the door, one by the bed, one in the galley. Each dial shows what matters in that spot, and every one of them can reach the whole rig. You feel each click under your fingers, so you are never hunting for a tiny icon on a screen.

Capstan runs on off-the-shelf ESP32-S3 rotary displays from Makerfabs and Elecrow in three sizes: 2.1, 1.46 and 1.28 inches. One firmware builds for all three. It joins your rig's own WiFi and talks to Headwaters, so there is no bus cable to run, only power over USB-C.

ESP32-S3 Round IPS Rotary Ring WiFi MQTT RGB LED Ring
Three round Capstan screens side by side at true relative size: the 2.1 inch showing the classic clock face, the 1.46 inch showing the thermostat heating to 72 degrees, and the 1.28 inch showing the Awning Light switched on
2.1, 1.46 and 1.28 inch, shown at true relative size.

Try It

This is the 2.1-inch dial, running on the page. Grab the ring and turn it. Click to press. Click and hold to go back.

Start from the clock: turn the ring or press to wake it, then find Climate and dial in a temperature, switch the awning light from Devices, or pick a different clock face in Settings. Leave it alone for 30 seconds and it goes back to the clock, same as the real one.

Every screen is drawn by Capstan's own interface code, the same pixels the dial puts on its glass. The readings are sample numbers, and the dial here is already set up and connected.

Capstan screen. Classic clock face, 1:50 PM

Turn. Press. Hold.

Three moves run the whole thing, by feel, with one hand. No aiming for a spot on the glass, and no smudges on it either.

Turn

Move through your screens, your devices, or a setting. One click of the ring is one step, every time, so you learn it by feel.

Press

Open, toggle, confirm. On the 2.1-inch you press the ring. On the two Elecrow dials the whole screen is the button, so you press the glass itself.

Hold

Go back, from anywhere. There is no back arrow taking up room on a small round screen. Touch is switched off on purpose: nothing happens by accident when you brush past it.

Capstan Getting Started screen, step 1 of 6, explaining that you turn the ring to move and press it to select
Getting Started lives on the dial. Six short steps teach the ring, then you can hide it.

Oh, and It's a Clock

Walk away and the dial settles back to a clock face. Along with the time, it tells you what the heat is doing, and on the classic face your battery and fresh water, without a single press.

Classic analog clock face at 1:50 with the date, inside temperature 67 degrees, heating to 72, battery 82 percent and fresh water 72 percent
Classic
Digital clock face reading 1:50 PM inside a ring of second ticks, with inside temperature and heating status
Digital
TrailCurrent clock face with the TrailCurrent logo above the time 1:50 PM and a green minute arc around the edge
TrailCurrent
Climate Ring clock face with twelve hour numerals around the edge and the inside temperature, 67, large in the middle
Climate Ring

Pick a face in Settings, choose 12 or 24 hour time, and set how long the dial waits before it goes back to the clock, from 15 seconds to never.

The Whole Rig, a Few Clicks Away

Press once and the menu comes up. Turn to the thing you want and press again. If a module goes quiet, its reading turns to -- instead of showing you an old number that looks live.

Capstan menu with Climate selected in the centre, heating to 72 degrees, and neighbouring apps either side
Menu. Each app shows a live one-line summary before you open it.
Climate screen showing HEATING, a setpoint of 72, inside 67 degrees and 30 minutes to reach it, with the range lit red on the tick ring
Climate. Turn to set the temperature. The live inside reading is there today; the setpoint waits on TrailCurrent's thermostat control, which is not built yet.
Devices screen with the Awning Light glowing green as switched on, a fan and a water pump either side, and six dots showing the devices on this dial
Devices. Lights, fans, pumps. Press to toggle. The screen changes only once the module confirms, so what you see is what is on.
Energy screen showing the battery at 82 percent, 13.4 volts on float, and 14 hours 20 minutes remaining
Energy. Battery, time remaining, then turn for solar input and total load.
Water Tanks screen with three upright tanks: fresh 72 percent, grey 38 percent, black 21 percent
Water. Fresh, grey and black at a glance.
Air Quality screen reading 640 ppm, Good, with VOC 120 ppb, humidity 44 percent and 70 degrees
Air. CO2, VOCs, humidity and temperature from Borealis, with its own good, moderate or unhealthy verdict.
Leveling screen with the bubble off to the right, reading Tilted right, side plus 1.4 inches and front minus 0.3 inches
Leveling. A bubble, plus how many inches to raise which side. Not degrees you have to convert.
Full-screen alert with a red ring reading Entry Door, opened 1:47 PM, press to snooze 10 minutes
Alerts. An open door or a tripped sensor takes over the screen. Press to snooze.

A Ring of Light

The two Elecrow dials carry a ring of RGB LEDs around the glass, eight on the 1.46-inch and five on the 1.28-inch. Capstan uses them to tell you things from across the room.

  • Any alert: the whole ring goes red.
  • Climate: left half blue, right half red. Turn toward the colour you want.
  • Devices: green while the device you are on is switched on.
  • Battery: green, yellow or red with the charge.
  • Water: orange when fresh is low or a holding tank is getting full.
  • Everywhere else: off. Light only means something when it is on.

Brightness is capped, so the ring glows rather than glares. The 2.1-inch has no LED ring; everything it needs to say is on the screen.

Capstan alert screen for an open entry door
An alert, as the ring and the screen show it together.

Each Dial Knows Its Spot

Connect it once from your phone, give it a job in Overlook, and make it yours from its own Settings menu.

Set Up Without an App

Nobody wants to type a WiFi password with a knob. On first boot the dial creates its own WiFi network and shows its name and password on screen. Join it from your phone, enter your rig's WiFi and the details for Headwaters, and the dial restarts already connected. No app to download and no internet needed, so it works at camp with no signal.

Its Job Is Set in Overlook

The small screen is for using your rig, not configuring it. In Overlook, running on Headwaters, you choose dial by dial which devices show up and which alarms it watches, up to eight and six. The one by the door watches the entry and the awning light. The one by the bed runs the fan and the reading lights. Every dial still reaches energy, water, air and leveling.

Alerts That Stand on Their Own

Each dial keeps its own copy of its alarm rules and works out when to raise them itself, so a door left open still gets flagged even while the Headwaters software is restarting. Snooze length is yours to set.

Make It Yours

Personal touches stay on the dial, in short menus under Settings that you turn and press through: the clock face, 12 or 24 hour time, Fahrenheit or Celsius, and inches or millimetres for leveling.

There is a light theme for a bright galley and a dark one that disappears into the wall at night. One press switches it, and the dial remembers. The colours, fonts and icons are the same ones Milepost uses, so two TrailCurrent screens side by side match exactly, not nearly.

Settings screen in the light theme with Wi-Fi selected, connected to Headwaters
Light
Settings screen in the dark theme with Wi-Fi selected, connected to Headwaters
Dark

Three Sizes, One Firmware

All three are stock boards, straight from the vendor. No custom PCB, and no soldering for the dial itself.

Board Screen You press LED ring Source
Makerfabs MaTouch ESP32-S3 Rotary 2.1" 2.1", 480×480 The ring None Makerfabs
Elecrow CrowPanel 1.46" Rotary 1.46", 360×360 The screen 8 LEDs Elecrow
Elecrow CrowPanel 1.28" Rotary 1.28", 240×240 The screen 5 LEDs Elecrow

Under the Hood

All three are ESP32-S3 with 16 MB of flash and 8 MB of PSRAM, WiFi, and USB-C for power and flashing. The firmware is ESP-IDF with LVGL, and the board is picked at build time, so there is one source tree and no per-board branches.

Designed in EEZ Studio

Every screen is laid out in EEZ Studio, one project per screen resolution, all generated from a single description so the three sizes cannot drift apart. The screen images on this page come straight from that UI code, drawn by the same graphics library the dial runs.

EEZ Studio Powered by EEZ Studio

Build One

One board and a USB-C cable.

  1. 1

    Pick a size

    The 2.1-inch for a main wall where you want the biggest screen. The 1.46-inch or 1.28-inch for tight spots, and for the LED ring.

  2. 2

    Back up the factory firmware

    The vendors do not publish recovery images, so save the one on your board before flashing anything. The repo shows how.

  3. 3

    Build and flash

    Choose your board in the build settings, build with ESP-IDF, and flash over USB-C. The build guide walks through it.

  4. 4

    Connect it from your phone

    On first boot the dial creates its own WiFi network. Join it from your phone, enter your rig's WiFi and the details for Headwaters, and it restarts connected. No app, no internet needed.

  5. 5

    Give it a job

    In Overlook's settings, pick the devices and alarms this dial should handle. The dial picks them up on its own.

The dial needs no soldering. The rest of a TrailCurrent system does need some wire-to-wire soldering, so plan for that when you add your next module.

Capstan menu with Energy selected, showing 82 percent and 14 hours 20 minutes remaining

Questions

The ones people ask first.

What hardware does Capstan run on?

Three off-the-shelf ESP32-S3 rotary displays: the Makerfabs MaTouch ESP32-S3 Rotary 2.1 inch (480 by 480), the Elecrow CrowPanel 1.46 inch Rotary (360 by 360) and the Elecrow CrowPanel 1.28 inch Rotary (240 by 240). One firmware builds for all three. No custom circuit board and no soldering for the dial itself.

I already have a CrowPanel or MaTouch rotary display. Can I use it?

Yes, if it is one of the three boards above. Back up the factory firmware first, because the vendors do not publish recovery images, then build Capstan with ESP-IDF and flash it over USB-C. The repository has step by step instructions for both.

Does Capstan need the internet or an app?

No. On first boot the dial creates its own WiFi network. You join it from your phone, enter your rig's WiFi and the details for Headwaters, and it restarts connected. There is no app to download and nothing goes to the cloud, so it works at camp with no signal.

How do I choose what each dial shows?

In Overlook, running on Headwaters, you pick up to eight devices and six alarms for each dial separately, so a dial by the door and a dial by the bed can do different jobs. Personal settings such as the clock face, light or dark theme, 12 or 24 hour time and units are chosen on the dial itself.

Is it a touchscreen?

Touch is deliberately switched off. Everything is done by turning the ring, pressing, and pressing and holding to go back, so nothing happens by accident when you brush past it.

Can Capstan control my RV thermostat?

Not yet. The Climate screen shows the live inside temperature today, and the setpoint dial is built into the interface, but TrailCurrent's thermostat control that it will drive does not exist yet. Everything else on the dial works with modules that exist now.

Is Capstan free and open source?

Yes. The firmware, the EEZ Studio screen projects and the documentation are MIT licensed on GitHub, like every TrailCurrent project. No subscription, no paid tier.

Put One Where You Need It

Firmware, EEZ Studio projects, and the board notes are all in the repository. Pick a board, flash it, and give that corner of your rig a dial. The announcement post tells the story behind it.

Capstan on GitHub