Live telemetry dashboard for the Voltaris electric vehicle, reading the vehicle bus over UART on a Raspberry Pi.
Reads the vehicle telemetry stream over the Raspberry Pi UART and serves a live web dashboard. Built with Dash, Plotly and Bootstrap components.
Four channels are tracked and plotted, each on a rolling window of the last 100 samples:
| Channel | Meaning |
|---|---|
battery_voltage |
Pack voltage |
battery_soc |
State of charge |
motor_temp |
Motor temperature |
power_consumption |
Instantaneous power draw |
A background thread owns the serial port and pushes into thread-safe deques, so a slow browser never stalls the reader.
The defaults in dashboard.py are the Raspberry Pi hardware UART:
SERIAL_PORT = '/dev/ttyAMA0'
BAUD_RATE = 115200
MAX_POINTS = 100Change SERIAL_PORT if you are on a USB adapter — that is usually
/dev/ttyUSB0 on Linux or a COM port on Windows.
pip install -r requirements.txt
python dashboard.pyThen open the address Dash prints, by default http://127.0.0.1:8050.
adc_plot.py is a smaller companion script for looking at raw ADC values
without the dashboard around them, which is the faster way to tell whether a
sensor or the parser is at fault.
The Voltaris electric vehicle project. The unit that produces this telemetry is
in AKS.
dashboard/
├── adc_plot.py
├── dashboard.py
├── dashboard_requirements.txt
├── requirements.txt
4 tracked files · 0.0 MB · 1 languages · last pushed 2025-05-17