TrailCurrent is an open-source Software Defined Vehicle platform. Fourteen ESP32 modules on a CAN bus. A Raspberry Pi that runs the edge gateway. LVGL touchscreens on the wall. An Android app and a PWA for your phone. All of it MIT licensed. 30 repositories on GitHub, working firmware, KiCAD PCBs, FreeCAD enclosures. The whole thing runs in a real rig every day.
Why We Built ItCommercial RV control systems cost $500 or more per module and lock you into three or four separate proprietary ecosystems. A thermostat from one vendor. A solar monitor from another. A leveling system from a third. Three apps, three interfaces, and none of them know the others exist.
That is not the vehicle we wanted to own. So we built the one we did.
The same job is doable with off-the-shelf ESP32 hardware and CAN bus wiring. One system that owns the vehicle end to end. Lighting, climate, power, water, air quality, GPS, security, and leveling. Every module speaks the same protocol. Every reading lands in the same dashboard. Every line of code is auditable.
If a module goes end of life, the design files are in the repo. Print a new enclosure. Flash new firmware. Your vehicle keeps working.
How It WorksThree layers.
Layer one: ESP32 modules on CAN bus. Fourteen custom modules. Each one has one job. Bearing is the GNSS relay reading a DFRobot Gravity multi-constellation receiver over I2C or UART. Borealis is the air quality and gas safety stack: DFRobot SEN0536 for real NDIR CO2, SEN0394 for VOC index, SEN0466 for factory-calibrated electrochemical CO, SEN0131 for propane leak alarming. Switchback is the vehicle interface and CAN bus relay board. Solstice reads solar and battery data. Reservoir monitors water tank levels. All of them talk on the same bus using a message dictionary published in the docs.
Layer two: Raspberry Pi edge gateway. A Docker Compose stack. MQTT, Node-RED, offline OpenStreetMap tiles, a REST API, and a local PWA dashboard. The gateway bridges CAN messages to MQTT topics and hosts the PWA that any phone or tablet on the local WiFi can open. The compute lives in a 3D-printed enclosure with the branded lid you can see in the cover image.
Layer three: displays and control surfaces. Wall-mounted ESP32-P4 7 inch touchscreens run LVGL dashboards for climate, lighting scenes, tank levels, and vehicle status. Smaller 4.3 inch Waveshare panels handle bedside and secondary control points. A native Android app and the PWA handle phone control from anywhere on the local network.
The whole system runs offline. No cell service required. The Pi creates its own WiFi network. Cloud sync exists but is optional and additive.
What You Actually BuyFor a full reference build:
* Raspberry Pi CM5 or Pi 5 in a 3D-printed enclosure.
* A mobile router.
* ESP32-S3 4.3 inch displays for secondary panels. ESP32-P4 7 inch or ESP32S3 7 inch for the primary dashboard.
* DFRobot Gravity sensors, itemized in each module's README.
* Deutsch DTM04-4P as the standard connector across all 14 modules.
What Is Different About ThisEvery design file is public. KiCAD PCBs, FreeCAD enclosures, ESP-IDF firmware, Docker configs, Android app source. No black boxes.
Off-the-shelf hardware handles FCC certification for you. No custom radios means no compliance overhead for anyone building a copy.
It has been on the road. Real testing has covered cold starts in campgrounds, weak cell signal at 60 mph, and a CAN bus with every module in the trailer talking at once. The bugs that only show up on the road are getting closed. New builds ship over the air.
Add a new module by defining a CAN message ID and writing firmware for it. That is the whole extension mechanism. No proprietary protocol to reverse engineer.
The Buy It path exists next to the Build It path. If you can populate a PCB and run a 3D printer, build every module yourself. If you cannot, use the stock boards and pre-assembled options. Same software, same features, same over-the-air updates.
Where To Go NextWebsite:https://trailcurrent.com
GitHub:https://github.com/trailcurrentoss (30 MIT-licensed repositories)
YouTube:https://www.youtube.com/@trailcurrentopensource
Getting started:https://trailcurrent.com/getting-started.html
Star the repos if they are useful. Fork them if you want to extend. If you build one, share it. Every deployment makes the platform better.






Comments