/onboardpi

On board diagnostic web application for vehicles

Primary LanguageTypeScriptGNU General Public License v2.0GPL-2.0

OnBoardPi

tests build demo pages-build-deployment

obpi_splash

Try the demo

Watch the demo video

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

curl -sSL https://get.docker.com | sh

Link to Docker images

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-compose and run OnBoardPi using docker-compose with 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
  • Clear diagnostic codes - I currently do not have any CEL to test this on ;)
  • Multiple dashboards
  • Imperial unit conversion support
  • Cloud backups somewhere down the line

Related Projects and Thanks to

OnBoardPi is not possible without open-source culture and the projects below but not limited to: