Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Robotic Tooling
  3. opendbc

opendbc

MITPythonv0.3.1

A Python API and CAN database for controlling and reading data from modern cars with ADAS interfaces.

GitHubGitHub
3.2k stars2.0k forks0 contributors

What is opendbc?

opendbc is a Python API and database for interacting with a car's internal network (CAN bus). It allows developers to read vehicle data like speed and steering angle, and send commands to control steering, acceleration, and braking. The project serves as the foundational layer for the openpilot ADAS system, enabling aftermarket advanced driver-assistance features on supported vehicles.

Target Audience

Automotive engineers, researchers, and hobbyists interested in vehicle reverse engineering, developing ADAS features, or integrating custom software with modern car electronics. It's particularly relevant for those contributing to or building upon the openpilot ecosystem.

Value Proposition

Developers choose opendbc because it provides a well-documented, safety-focused, and community-vetted open-source interface to vehicle CAN buses. Its extensive library of DBC files and structured porting framework significantly lowers the barrier to adding support for new car models compared to starting from scratch.

Overview

a Python API for your car

Use Cases

Best For

  • Adding openpilot support to a new car model
  • Reverse engineering CAN messages for vehicle data logging
  • Building custom vehicle automation or research platforms
  • Developing aftermarket ADAS or driver-assistance features
  • Educational projects about automotive networks and control systems
  • Creating a vehicle management app that reads EV charge status or locks doors

Not Ideal For

  • Commercial automotive projects requiring certified, vendor-supported CAN interfaces for production vehicles
  • Hobbyists seeking plug-and-play OBD-II data logging without custom hardware integration
  • Teams developing infotainment systems that don't require direct control over steering or braking
  • Projects targeting vehicles without Lane Keeping Assist (LKAS) or Adaptive Cruise Control (ACC) interfaces

Pros & Cons

Pros

Extensive DBC Library

Includes a large repository of standardized DBC files for various car models in the `opendbc/dbc/` directory, reducing the need to reverse engineer CAN messages from scratch.

Safety-Critical Design

Features functional safety firmware in `opendbc/safety/` that enforces safe message passing, with rigorous testing including MISRA C compliance and 100% line coverage.

Community Porting Framework

Provides a structured library (`opendbc/car/`) and documentation for adding new car support, backed by bounties to incentivize contributions, as highlighted in the roadmap.

Integration with Openpilot

Seamlessly supports the openpilot ADAS system, offering a proven platform for advanced driver-assistance features and access to tools like cabana for reverse engineering.

Cons

Hardware Lock-In

Optimized for comma hardware like the panda and comma four, requiring specific devices for full functionality, which can limit accessibility and increase cost.

Steep Learning Curve

Porting a new car involves reverse engineering CAN messages using tools like cabana and extensive tuning, demanding automotive expertise and time, as acknowledged in the porting guide.

Incomplete Documentation

The roadmap admits car ports need to be made easier, and some aspects rely on community resources like Discord, rather than comprehensive, beginner-friendly guides.

Frequently Asked Questions

Quick Stats

Stars3,193
Forks2,007
Contributors0
Open Issues152
Last commit2 days ago
CreatedSince 2017

Tags

#can-bus#open-source-hardware#python-library#safety-critical#automotive#dbc#self-driving#can#reverse-engineering

Built With

S
SCons
P
Python
D
Docker
R
Ruff
p
pytest
C
C++

Included in

Robotic Tooling3.8k
Auto-fetched 1 day ago

Related Projects

Awesome CAN Bus - an awesome list just for CAN Bus-related tools (hardware, software, etc.)Awesome CAN Bus - an awesome list just for CAN Bus-related tools (hardware, software, etc.)

:articulated_lorry: Awesome CAN bus tools, hardware and resources for Cyber Security Researchers, Reverse Engineers, and Automotive Electronics Enthusiasts.

Stars3,261
Forks395
Last commit11 days ago
SocketCAN UtilsSocketCAN Utils

Linux-CAN / SocketCAN user space applications

Stars2,865
Forks784
Last commit27 days ago
AndrOBDAndrOBD

Android OBD diagnostics with any ELM327 adapter

Stars2,005
Forks391
Last commit1 day ago
CANopenNodeCANopenNode

CANopen protocol stack

Stars1,907
Forks786
Last commit6 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub