Skip to content
ESC

Type to search the docs.

↑↓ navigate↵ openesc closePagefind

OPEN SOURCE · ESP32 · CAN BUS

A track dash, documented line by line.

ESP32 firmware, browser tuner over Web Serial, mobile companion on iOS and Android over BLE. Wire it to your ECU, edit pages live, burn the config.

MIT licensed · open to profiles and fixes
HARDWARE TARGET
MCU
ESP32-WROOM
4 MB flash · no PSRAM
Panel
320 × 240
ILI9341 + XPT2046
Host link
Web Serial
CH340 @ 115200
Telemetry
10 Hz
JSON over USB CDC

CAN GPIO · TX 17 / RX 16 · 500 kbit/s

CONFIG · SPIFFS atomic ≤ 16 KB

LICENCE
MIT
FIRMWARE
C++17
CORE
TypeScript
TUNER
React
MOBILE
Expo
$npm i @canshift/core

npm ↗

Pick your doorway

Three paths, one source of truth.
THE TUNER

Edit the dash live over Web Serial. The same config drives the 2.8″ panel and the mobile app on iOS and Android.

Open the Tuner ↗

Why this docs site exists

The firmware used to carry a thick comment layer explaining the non-obvious bits. Comments rot the moment they leave their reviewer’s screen. The architecture section is where that rationale lives now.

If you are about to edit a non-trivial subsystem, read the matching architecture page first — then improve it. Every page has an Edit this page link that opens a pull request against the repo.

WRITE IT DOWN

Almost every surprise in this codebase is written down somewhere.

Missing a page? Write it — or open an issue.


github.com/CANShift/canshift-docs