{"id":25532417,"url":"https://github.com/bgunson/onboardpi","last_synced_at":"2026-03-12T07:34:45.473Z","repository":{"id":37621676,"uuid":"444982921","full_name":"bgunson/onboardpi","owner":"bgunson","description":"On board diagnostic web application for vehicles","archived":false,"fork":false,"pushed_at":"2024-12-22T22:34:56.000Z","size":13621,"stargazers_count":66,"open_issues_count":3,"forks_count":4,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-10T02:42:21.762Z","etag":null,"topics":["express","iot","material-ui","nodejs","obd2","raspberry-pi","websocket"],"latest_commit_sha":null,"homepage":"https://bengunson.me/onboardpi/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bgunson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-05T23:46:38.000Z","updated_at":"2025-03-31T11:45:21.000Z","dependencies_parsed_at":"2024-12-07T00:28:03.853Z","dependency_job_id":"b1742903-a858-425f-8610-ca5f38406ed0","html_url":"https://github.com/bgunson/onboardpi","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/bgunson/onboardpi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bgunson%2Fonboardpi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bgunson%2Fonboardpi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bgunson%2Fonboardpi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bgunson%2Fonboardpi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bgunson","download_url":"https://codeload.github.com/bgunson/onboardpi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bgunson%2Fonboardpi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30418171,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T07:30:13.030Z","status":"ssl_error","status_checked_at":"2026-03-12T07:29:54.885Z","response_time":114,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["express","iot","material-ui","nodejs","obd2","raspberry-pi","websocket"],"created_at":"2025-02-20T01:49:12.237Z","updated_at":"2026-03-12T07:34:45.399Z","avatar_url":"https://github.com/bgunson.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OnBoardPi\n[![tests](https://github.com/bgunson/onboardpi/actions/workflows/tests.yml/badge.svg)](https://github.com/bgunson/onboardpi/actions/workflows/tests.yml)\n[![build](https://github.com/bgunson/onboardpi/actions/workflows/build.yml/badge.svg)](https://github.com/bgunson/onboardpi/actions/workflows/build.yml)\n[![demo](https://github.com/bgunson/onboardpi/actions/workflows/demo.yml/badge.svg)](https://github.com/bgunson/onboardpi/actions/workflows/demo.yml)\n[![pages-build-deployment](https://github.com/bgunson/onboardpi/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/bgunson/onboardpi/actions/workflows/pages/pages-build-deployment)\n\n\n![obpi_splash](https://user-images.githubusercontent.com/47361247/213033694-4e6ec2cd-6123-4ba3-a4c7-1a0a2107fa57.png)\n\n[Try the demo](https://bengunson.me/onboardpi/)\n\n[Watch the demo video](https://www.youtube.com/watch?v=HjtUfPwrNDA)\n\n\nOnBoardPi 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](https://bluewavestudio.io/shop/openauto-pro-car-head-unit-solution/) by injecting values via its API allowing users to use both softwares at once. \n\n\n## Quick Install\n\nOpenAuto Pro 16 users please see [this issue](https://github.com/bgunson/onboardpi/issues/37) before installing.\n\n**Requires**\n- Docker - see [optional post-install steps](https://docs.docker.com/engine/install/linux-postinstall/) to manage Docker as a non-root user if desired otherwise use `sudo` for Docker commands.\n```\ncurl -sSL https://get.docker.com | sh\n```\n\n[Link to Docker images](https://hub.docker.com/search?q=bgunson%2Fonboardpi)\n\nThen, in a directory of your choice:\n```\nmkdir onboardpi \u0026\u0026 cd onboardpi\ncurl https://raw.githubusercontent.com/bgunson/onboardpi/main/docker-compose.yml \u003e docker-compose.yml\ndocker compose up -d\n```\n\u003e 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.\n\nOpen a browser and navigate to [http://raspberrypi.local](http://raspberrypi.local)\n\nTIP: 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](http://raspberrypi.local)\n\n*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.*\n\nPlease consult the [wiki](https://github.com/bgunson/onboardpi/wiki/Installation) or create an issue if needed.\n\n## Features\n\n- Access from any device that runs a modern and capable web broswer, no need to download any unknown OBDII apps\n- Dark and light modes\n- Lightweight and customizable\n- Keep all your vehicle data close and accessible \n\n*Screenshots were taken from a testing environment and do not reflect actual data.*\n\nThanks to [MockuPhone](https://mockuphone.com/) for the device mock-ups.\n\n### Dashboard \n- Visualize gauges, curves or numeric cards in real time.\n- Choose from any Mode 1 OBDII PID.\n- Reorder dashboard cards\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/47361247/213033908-ce58a6a5-569c-4edb-94c4-690b128e115c.png\" width=\"300\"\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/47361247/213033940-019c5e2b-5810-424c-a49c-a8c4c0a26cff.png\" width=\"300\"\u003e\n\u003c/div\u003e\n\n\n\n### Diagnostics\n- View stored, pending or freeze DTCs (diagnostic trouble codes) where supported.\n- View current status and fuel status, if supported.\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/47361247/213033717-279aa83f-35b7-416f-be6c-8f178c8f8eef.png\" width=\"300\"\u003e\n\u003c/div\u003e\n\n*Clearing codes not supported yet*\n\n### Data Stream\n- View all (mode 1) OBDII PIDs at once\n- View realtime system parameters including CPU, RAM and disk usage.\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/47361247/213033990-7274d23e-3f9e-4da6-80ca-8e5d8b7e6e6f.png\" width=\"300\"\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/47361247/213034043-e5b31fc0-9822-4183-8e4b-4c19b9be182b.png\" width=\"300\"\u003e\n\u003c/div\u003e\n\n### Realtime Curves\n- Fullscreen real time depiction of any supported OBDII commands\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/47361247/213034099-d462d8aa-3620-4aee-849f-c639385de4ba.png\" width=\"300\"\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/47361247/213034105-7e480c2b-ad2d-4b3f-96e3-c4496e48d0a1.png\" width=\"300\"\u003e\n\u003c/div\u003e\n\n### Maintenance\n- Store your vehicle maintenance in a convenient table (stored in a database on the Raspberry Pi)\n\n\u003cimg src=\"https://user-images.githubusercontent.com/47361247/213034191-eaf2bb7c-0689-4dbd-89ef-a484eeda91e2.png\"\u003e\n\n## Roadmap\n- [ ] Datalogging using [TimescaleDB](https://www.timescale.com/)\n    - Log sys info\n    - Log OBD commands\n    - Client-side visualization, leaning toward Highcharts. Optionally, could use Grafana or similar.\n- [x] Clear diagnostic codes - I currently do not have any CEL to test this on ;)\n- [ ] Multiple dashboards\n- [x] Imperial unit conversion support\n- [ ] Cloud backups somewhere down the line\n- [ ] MQTT publish support \n\n\n## Related Projects and Thanks to\nOnBoardPi is not possible without open-source culture and the projects below but not limited to:\n- [ngx-graph](https://github.com/jkuri/ngx-graph)\n- [ngx-gauge](https://github.com/ashish-chopra/ngx-gauge)\n- [ngx-socket-io](https://github.com/rodgc/ngx-socket-io)\n- [systeminformation](https://github.com/sebhildebrandt/systeminformation)\n- [python-OBD](https://github.com/brendan-w/python-OBD)\n- [ELM-emulator](https://github.com/Ircama/ELM327-emulator)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbgunson%2Fonboardpi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbgunson%2Fonboardpi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbgunson%2Fonboardpi/lists"}