Graphical dashboard for my beloved suzuki.
Successor to suzui-rs.
Written in C, using raylib for the GUI.
Note: Still a WIP, but is already running live in my car in place of suzui-rs.
simulation.mp4
# Set up `.env` from `.env.sample`.
# For local run, modify DATA and SETTINGS path to some dir.
# Buildroot var required only for cross-compile.
cp .env.sample .env
# Create PTY using `socat`
socat -d -d pty,raw,echo=0 pty,raw,echo=0
# Run simulator from my old prototype (has some changes to ignore baudrate on PTY)
uv run python sim.py /dev/pts/{MASTER} --echo
# Run on PC for local dev
make debug DEVICE=/dev/pts/{SLAVE}
# Run on PC with actual VAG KKL cable (e.g. ttyUSB0)
make debug DEVICE=/dev/ttyUSB0
# Cross-compile arm64 binary using buildroot cross-compiler toolchain & sysroot
make piFeature parity with suzui-rs.
- Engine Speed
- Desired idle
- ISC flow duty
- Inj. pulse width
- Ignition advance
- IAT
- ECT
- Voltage-mapped Throttle position
- Throttle angle
- MAP
- Baro
- Calc. load
- Battery voltage
- Vehicle speed
- Flags (EL, AC, PSP, RAD)
- Instant fuel use
- Instant fuel average
- Trip fuel used
- Trip fuel average
- Trip distance
- Reset trip (by toggling EL a few times)
Goodies that weren't present in suzui-rs:
- Odometer
- Menu (keyboard/controller control)
- Toggle diag params
- Toggle fuel avg unit (km/L, L/100km)
- Reset trip
- Toggle RPM/idle numbers
- DTC read
- DTC clear
- Actuate ISC
- Actuate fixed spark
Hold your horses. Polish phase 1 first (animations, menu, DTCs, C code quality etc).
No claude code, no {INSERT_TRENDING_SLOP_MACHINE_HERE}. All code is brain-generated.
AI use is limited to web chat interface. Asked during explorations and pointers to concepts for further reading.
No "skim generated code; good to go".
AI is nice for exploration. It told me I could utilise buildroot for cross-compiling. That's good. Adding slop is not.
