onboardpi
onboardpi copied to clipboard
On board diagnostic web application for vehicles
OnBoardPi

OnBoardPi is a web based application which can be installed in any OBD2 compliant (1996 or newer) vehicle using a Raspberry Pi or similar single board computer. Parameters such as RPMs, speeds, or temperatures can be monitored on dashboards, tables, and charts in real time. OnBoardPi also integrates with BlueWave Studio's OpenAuto Pro by injecting values via its API allowing users to use both softwares at once.
Quick Install
OpenAuto Pro 16 users please see this issue before installing.
Requires
- Docker - see optional post-install steps to manage Docker as a non-root user if desired otherwise use
sudofor Docker commands.
curl -sSL https://get.docker.com | sh
Then, in a directory of your choice:
mkdir onboardpi && cd onboardpi
curl https://raw.githubusercontent.com/bgunson/onboardpi/main/docker-compose.yml > docker-compose.yml
docker compose up -d
Docker Compose should be included with the Docker CLI, however if you have an older version of Docker you can install it specifically using
python3 -m pip install docker-composeand run OnBoardPi usingdocker-composewith a hyphen.
Open a browser and navigate to http://raspberrypi.local
TIP: If your Pi's hostname is different from the default then use that in place of 'raspberrypi'. For example, set the hostname to 'onboardpi' and navigate to http://onboardpi.local
mDNS (hostname IP resolution) does not work on all operating systems such as Android so you will need to navigate using the Pi's IP address.
Please consult the wiki or create an issue if needed.
Features
- Access from any device that runs a modern and capable web broswer, no need to download any unknown OBDII apps
- Dark and light modes
- Lightweight and customizable
- Keep all your vehicle data close and accessible
Screenshots were taken from a testing environment and do not reflect actual data.
Thanks to MockuPhone for the device mock-ups.
Dashboard
- Visualize gauges, curves or numeric cards in real time.
- Choose from any Mode 1 OBDII PID.
- Reorder dashboard cards
Diagnostics
- View stored, pending or freeze DTCs (diagnostic trouble codes) where supported.
- View current status and fuel status, if supported.
Clearing codes not supported yet
Data Stream
- View all (mode 1) OBDII PIDs at once
- View realtime system parameters including CPU, RAM and disk usage.
Realtime Curves
- Fullscreen real time depiction of any supported OBDII commands
Maintenance
- Store your vehicle maintenance in a convenient table (stored in a database on the Raspberry Pi)
Roadmap
- [ ] Datalogging using TimescaleDB
- Log sys info
- Log OBD commands
- Client-side visualization, leaning toward Highcharts. Optionally, could use Grafana or similar.
- [x] Clear diagnostic codes - I currently do not have any CEL to test this on ;)
- [ ] Multiple dashboards
- [x] Imperial unit conversion support
- [ ] Cloud backups somewhere down the line
- [ ] MQTT publish support
Related Projects and Thanks to
OnBoardPi is not possible without open-source culture and the projects below but not limited to: