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.
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 | |
|---|---|---|---|
| opendashcan-0.1.0.tar.gz | 185.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| opendashcan-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
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
|