OpenDashCAN
Installable desktop program (CLI + Qt) for listen-only OBD/CAN sniff, decode, cluster-gap research, and Honda Civic8→Civic10 adaptation documentation.
Not a website · Not an ECU flash tool · LISTEN_ONLY by default
Disclaimer: Not affiliated with, endorsed by, or sponsored by Honda Motor Co., Ltd.
Honda®, the Honda logo, and related marks are trademarks and/or copyrighted works of Honda Motor Co., Ltd. All rights reserved.
OpenDashCAN does not claim ownership of those marks and does not redistribute official Honda trademark artwork in this repository. Seedocs/TRADEMARKS.md. This project does not claim cluster control / physical compatibility.
What it is
OpenDashCAN Desktop stays on your PC. It reads vehicle CAN somehow (USB adapter, listen-only Pi recorder, or offline log), decodes registered layouts, and surfaces VehicleState, ID rates, Phase‑4 cluster gaps, adaptation plans, wiring checklists, and research docs.
OBD/CAN sniff (LISTEN_ONLY) → registered decoder → VehicleState + ID rates + gaps
Offline research pipeline (EncodeMode.NO_OUTPUT by default):
Source Honda CAN → Decoder → VehicleState → ClusterEnvironment → Target Encoder → Donor Cluster
Reference adaptation: 2009 Civic (8th gen, R18 auto) → 10th-gen Civic digital cluster
(honda.civic.gen8.us.r18.auto → honda.civic.gen10.cluster.digital).
Donor vehicle protocol (2016+ Honda) is substantially documented from MIT commaai/opendbc (VEHICLE_PROTOCOL_DOCUMENTED). That is not cluster RX confirmation — donor gauge requirements, timing, and gateway behavior remain incomplete until captures and bench tests exist.
No real vehicle captures are in this repo yet — only labeled SYNTHETIC fixtures for software tests.
Features
| Area | What you get |
|---|---|
| CLI | opendashcan — listen, plan, gaps, registry, DBC index, coverage |
| Qt desktop | Dark automotive UI — Live, Platform, Lookup, Gaps, Adaptation, Wiring, Research |
| Live listen | Virtual / capture replay / SocketCAN·PCAN·slcan — LISTEN ONLY — NO TRANSMIT banner |
| Boot splash | Honda-themed cluster ignition (not OpenDashCAN logo); trademark notice on splash/About; --no-splash / OPENDASHCAN_NO_SPLASH=1 |
| DBC | Import/index from public opendbc — never invents encodings; never auto-promotes to cluster RX |
| Cluster gaps | Phase 4 eight-axis gap report (DOCUMENTATION_ONLY) |
| Wiring | OBD tap pins, conceptual dual-bus (FUTURE/NO TX), harness switch checklist with confidence labels |
| Evidence | GitHub issue form — do not invent CAN data |
Screenshots
Platforms / clusters browser + platform detail
Live tab — virtual/offline listen, ID rates, decoded signals, LISTEN ONLY banner
Cluster gaps (Phase 4) — documentation-only axes
Adaptation plan Civic8 → Civic10
Honda-themed boot splash (trademark notice shown; official Honda assets not shipped in git)
Wiring tab — diagrams + harness checklist
Demo GIFs
Honda-themed boot splash — glow → ready (trademark notice; no official Honda assets in git)
Live tab playing synthetic capture (LISTEN_ONLY)
Regenerate assets:
python tools/round_brand_assets.py # rounded logo / banner PNGs
python tools/generate_wiring_diagrams.py
python tools/capture_gui_demo.py --with-splash
Install & run
PyPI: opendashcan · Release: v0.1.0
# From PyPI — full desktop (CLI + Qt + python-can)
pip install "opendashcan[desktop]"
# From a clone (editable)
pip install -e ".[desktop]"
# or:
pip install -e ".[gui,hw]"
opendashcan info
opendashcan-gui # splash → main window (Live tab ready)
opendashcan-gui --no-splash # skip boot animation
opendashcan-listen --virtual
Windows: after install, opendashcan / opendashcan-gui are on your Python Scripts PATH. Optional launchers: scripts/windows/opendashcan.bat, scripts/windows/opendashcan-listen.bat.
Live listen (LISTEN_ONLY — no TX)
opendashcan listen --virtual --vehicle honda.civic.gen10.us
opendashcan listen --capture captures/synthetic/idle_scenario.log
opendashcan listen --interface socketcan --channel can0 --bitrate 500000
opendashcan listen --interface pcan --channel PCAN_USBBUS1
opendashcan listen --interface slcan --channel COM3
If python-can is missing, the CLI/GUI print a clear install hint; Virtual and Play file still work.
Research CLI
opendashcan registry vehicles
opendashcan plan honda.civic.gen8.us.r18.auto honda.civic.gen10.cluster.digital
opendashcan gaps honda.civic.gen10.cluster.digital
opendashcan build-adapter honda.civic.gen8.us.r18.auto honda.civic.gen10.cluster.digital --documentation-only
opendashcan coverage --write
opendashcan clusters
pytest tests/test_gui_smoke.py
Wiring & harness
Evidence-safe docs live under docs/wiring/. Diagrams: assets/wiring/.
| Doc | Topic |
|---|---|
| OBD listen tap | Pins 4/5/6/14/16 — AiM / Racelogic / Pi recorder |
| Bus roles | F-CAN / B-CAN / gateway conceptual (pin-level UNKNOWN) |
| Swap checklist | Power, GND, CAN, ignition, illumination, … |
OBD → adapter → OpenDashCAN Desktop (LISTEN_ONLY)
Conceptual dual-bus bridge — FUTURE / NO TX default
Harness interfaces with confidence labels
In the GUI: open the Wiring tab for the same diagrams + checklist, with links to hardware/can_recorder_rpi/.
Not OEM service instructions. Donor-cluster connector pinouts are UNKNOWN / REQUIRES_BENCH until measured.
Hardware (capture path)
Listen-only Raspberry Pi recorder design: hardware/can_recorder_rpi/README.md (candump → copy log → opendashcan listen --capture … or Live tab Play file).
Manufacturing (repo only — not in the Desktop app): partner note, production BOM/AVL, open CAD (schematic/PCB/harness/OpenSCAD), assembly + ICT/FCT, factory flash, labels — see hardware/MANUFACTURING_INDEX.md and hardware/can_recorder_rpi/manufacturing/.
Safety
- Default:
LinkMode.LISTEN_ONLY/EncodeMode.NO_OUTPUT - No fabricated CAN IDs, scales, checksums, or pinouts
- Vehicle-bus DBC facts stay
VEHICLE_PROTOCOL_DOCUMENTED— never auto-promoted toCLUSTER_RX_CONFIRMED - Synthetic fixtures are labeled
SYNTHETIC - GUI Live tab always shows LISTEN ONLY — NO TRANSMIT
See docs/safety.md.
Evidence & confidence
| Level | Meaning |
|---|---|
VERIFIED / PHYSICALLY_VERIFIED |
Confirmed with cited sources |
DOCUMENTED / SUPPORTED_BY_MULTIPLE_SOURCES |
Public docs / opendbc agree |
COMMUNITY_REPORTED |
Forum / community only |
INFERRED |
Heuristic — needs confirmation |
UNKNOWN / REQUIRES_BENCH |
Default / needs measurement |
Submit verified evidence (do not invent CAN data):
issue form · guide · policy
Project layout (high level)
opendashcan/ # Python package (CLI, registry, decode, GUI, hw listen)
opendashcan/gui/ # Qt desktop (Live, gaps, wiring, splash, …)
docs/wiring/ # Harness / OBD / swap checklist
hardware/ # Pi recorder + manufacturing package (not in PyPI wheel)
assets/ # Official logo, screenshots, demo GIFs, wiring PNGs
captures/synthetic/ # SYNTHETIC fixtures only
research/ # Evidence reports (DOCUMENTATION_ONLY)
Contributing
See CONTRIBUTING.md. Prefer small, evidence-labeled PRs. Never invent encodings or claim cluster RX without captures/bench.
License
MIT © OpenDashCAN contributors
Honda®, the Honda logo, Civic®, and related marks are trademarks and/or copyrighted works of Honda Motor Co., Ltd. All rights reserved. This project is not affiliated with Honda Motor Co., Ltd. or comma.ai. See docs/TRADEMARKS.md.
Metadata
Release files for opendashcan 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| opendashcan-0.1.0.tar.gz | 185.7 kB | Without provenance | Details for opendashcan-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| opendashcan-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for opendashcan-0.1.0-py3-none-any.whl |
Total release size: 447.1 kB
Release files / opendashcan-0.1.0.tar.gz
| Download URL | opendashcan-0.1.0.tar.gz |
|---|---|
| Size | 185.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9905145f827a9e35053b64423de509f5fbd575c4009561abd2d17ac220038ed1
|
|
BLAKE2b-256 checksum How to use checksums |
e2498da4a7d7eebc122b870c4eb46e1bcbc786a0d8dc5ff820d968d05a1627de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / opendashcan-0.1.0-py3-none-any.whl
| Download URL | opendashcan-0.1.0-py3-none-any.whl |
|---|---|
| Size | 261.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7ca8d4273b8f83c921345e0d322f952c01543885fce730289693d5adff42794b
|
|
BLAKE2b-256 checksum How to use checksums |
73cbbcbd28c4e4bdfde025f8ea3cf99e3f60fffa10c583f1a64f0f39ce3db72f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for opendashcan 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.