Skip to main content

← All posts

Deep Dive

What's Cooking: Maps, Setup, and Cornerstone

· 5 min read

The repos are going to be a little quiet for the next stretch. Not because the work has stopped. The opposite. We are heads down on three big changes at the same time, and none of them show up as small clean commits. Here is what is cooking, so you know what to look for on the other side.

A real map, not just a canvas

The offline map that ships with TrailCurrent today is a very nice canvas. You can see where you are. You can see the roads. You can drop a pin. What you cannot do yet, and what people ask about all the time, is search a place by name, search an address, or ask for turn by turn directions to somewhere you have never been.

The next round of map work closes that gap. Search a business. Search an address. Ask the map to route you there. Do all of it in a spot with no cell service, on data that lives on your own gateway.

For a map that runs entirely on your rig, this is a real amount of work. The base map, the geocoder that turns a name or an address into a point on the map, and the routing engine that plans your path from A to B are three separate systems, and each of them has to fit inside a small box that runs on battery power. This is where most of the current effort is going.

Under the hood, that stack is PMTiles for the map itself, Photon for search and geocoding, and Valhalla for routing. All three are open source, and all three are designed to run without any call out to the internet. Which is exactly what we need.

Same visit, we are simplifying how map data gets onto Headwaters after the system is live. You will still be generating or downloading the map files yourself, the way you already do with any offline map source. What is changing is the last step. Instead of copying files up over SSH, you open a panel in the PWA and hand them to Headwaters through the browser. No terminal. No mount points. No knowing where on the filesystem they need to land. The map you carry into the backcountry becomes something you can actually refresh between trips without a shell session on the gateway.

A simpler first boot

Change number two is the out of the box experience. Setting up a new Headwaters today assumes you are comfortable on the command line. SSH in, edit a config file, run a script. That is fine for the people who wrote the platform. For a lot of the people we would like to bring along, it is a wall.

The direction is an access point. Power up a fresh Headwaters and it stands up its own WiFi. Join it from your phone or a laptop, step through a setup page in the browser, tell it your vehicle WiFi and any first choices, and you are online and ready. No SSH. No editing config files. No terminal at all.

This is the goal, and confidence is high. The work is still in progress and there are real problems left to solve between here and there. When it lands it is going to change what unboxing a Headwaters feels like.

Cornerstone

Third one, and structurally the biggest. Over the last stretch we have been building modules one at a time. Switchback for switching and sensor inputs. Picket for cabinet and door sensors. Solstice for solar. Ampline for shunt monitoring. Borealis for air quality. Bearing for GNSS. Six modules, six firmwares, six boxes to source, flash, and mount.

Cornerstone is a single combined firmware that runs all six of those on one board. One thing to buy. One image to flash. One case to mount. The bill of materials shrinks, the entry cost drops, and a first time build gets shorter by an afternoon.

To be clear, this does not remove the individual modules. If you want to build a rig with a discrete Solstice, a discrete Bearing, and a discrete Borealis on three separate boards in three separate spots, those firmwares and cases and repos stay right where they are. Cornerstone is an addition, not a replacement. Pick the shape that fits your rig.

Where we are today. Switchback, Borealis, Bearing, and Picket are combined and running. That is four out of six proven out end to end so far. Ampline and Solstice are the two we are still working through, and it is not a processor problem. It is a pinout problem. Both modules need a UART link back to their sensors, and the combined board is out of free UARTs. A small DFRobot module that adds the two we need is on the way. Once it lands on the bench we can wire it up and finish the job. The signs are good.

Why this is worth the quiet stretch

Any one of these three would be a project on its own. Doing all three in parallel is why the repos are going to go a little quiet for a bit. Big changes need real time on the bench and in the trailer before they show up as commits people can build against.

If we get all three landed, and we think we can, the picture on the other side is fewer parts, faster time to first boot, real navigation in places with no cell service, and a system that keeps itself current without asking you to log in over SSH. Every one of those pushes on the same thing. TrailCurrent has to keep getting easier to build and easier to own.

Stay tuned. We will post release notes as each piece lands. If you want the updates in your inbox, the newsletter form below is the easiest way to catch them.