Skip to main content

OpenDashCAN official logo

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

PyPI version MIT License Python 3.10+ CI GUI PySide6 LISTEN_ONLY Phase 4 Docs Contributions welcome

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. See docs/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 browser
Platforms / clusters browser + platform detail

Live listen tab
Live tab — virtual/offline listen, ID rates, decoded signals, LISTEN ONLY banner

Cluster gaps
Cluster gaps (Phase 4) — documentation-only axes

Adaptation plan
Adaptation plan Civic8 → Civic10

Boot splash
Honda-themed boot splash (trademark notice shown; official Honda assets not shipped in git)

Wiring tab
Wiring tab — diagrams + harness checklist


Demo GIFs

Boot splash demo
Honda-themed boot splash — glow → ready (trademark notice; no official Honda assets in git)

Live virtual listen demo
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 listen path
OBD → adapter → OpenDashCAN Desktop (LISTEN_ONLY)

Dual-bus future
Conceptual dual-bus bridge — FUTURE / NO TX default

Harness interfaces
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 to CLUSTER_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)

Source distribution for opendashcan 0.1.0
File Size Uploaded
opendashcan-0.1.0.tar.gz 185.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for opendashcan 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page