CAN Bus & ECU (Automotive): open-source projects that exist because someone reverse engineered a closed product, sorted by GitHub stars.
Open-source driver assistance system for 300+ car models
Reverse-engineered DBC files and Python API for controlling car steering, gas and brake
CAN bus tools: DBC/KCD parsing, decoding and monitoring
Android OBD diagnostics with any ELM327 adapter
openpilot fork with extra car support and features
Create ECU parameter screens and talk to Renault ECUs with an ELM327
Qt GUI for capturing and reverse-engineering CAN bus traffic
Universal car interface firmware and library for CAN reverse engineering
Python CAN bus library used by many reverse-engineering tools
OBD-II serial module for reading engine data
OBD-II automotive diagnostic tool in Python
CAN bus simulation and analysis development tool
Convert CAN database formats (.dbc, .arxml, .kcd, .sym)
Hardware/software tool for reverse engineering CAN bus systems
Rust cross-platform ECU diagnostics tool using J2534 passthru
Collection of CAN IDs and payloads for many car brands
Instrument Cluster Simulator for practicing CAN hacking
Car security exploration tool for the CAN bus
Open BMW EDIABAS reimplementation for diagnostics and coding
Open vehicle monitoring system firmware with reverse-engineered CAN support for many EVs
Firmware for WiCAN OBD-II/CAN to WiFi/BLE adapter with MQTT and HA support
Toolkit for analyzing proprietary car CAN protocols
Python implementation of the UDS ISO-14229 standard
ELM327 OBD-II adapter emulator with multi-ECU simulation
Flash and patch VW/Audi Simos and DSG ECUs over CAN
Python Vehicle Interface Toolkit for CAN and automotive protocols
Free diagnostic software for OBD-II vehicles
Automated payload reverse-engineering pipeline for CAN
Open-source OBD-II diagnostics software in Rust from reverse-engineered PIDs
Open-source CAN bus analyzer with DBC decoding
CAN reverse engineering tool firmware for ESP32 boards
Reverse-engineered DBC file for the Tesla Model 3 CAN bus
CAN bus analysis tool based on SocketCAN
UDS simulator and fuzzer
Python ISO-TP (ISO 15765) transport for vehicle diagnostics
Black-box CAN network analysis framework
CAN bus visualization tool to aid reverse engineering
Decoded OBD PIDs for Hyundai/Kia electric vehicles
Tool for the VW KW1281 diagnostic protocol (cluster, ECU, radio)
ZombieVerter VCU that drives OEM EV parts (Leaf, Outlander, BMW) for conversions
CAN bus analyzer originally built for Scan My Tesla
Documents on reverse engineering Mercedes vehicle ECUs and CAN networks
Desktop CAN analysis app for CANtact interfaces
Monitors EV state of charge via OBD-II dongle and notifies when target is reached
Claude Code skills for reverse engineering CAN bus signals into DBC files
Swiss army knife for CAN reverse engineering
Pure Python ISO 13400 Diagnostics over IP client
CAN visualizer and DBC maker
VAN to CAN protocol bridge for PSA Group (Peugeot, Citroën) cars
Node.js interface for E38/E39/E53/E6x/E9x BMW vehicle buses
EV dashboard reading battery and drive data over OBD-II BLE or CAN
Library and apps for Daimler CBF diagnostic files
Controller Area Network reference, wiki and DBC files for BMW and other vehicles
Bluetooth audio control and CAN projects for W203/W211 Mercedes
Android app reading Renault ZE (Zoe, Kangoo) CAN data via OBD
Tools and libraries to reflash the VW PQ35 electric power steering ECU
Reverse engineering the Volvo VIDA protocol for a diagnostic gauge
Open-source TCM for the Mercedes 722.6 gearbox
Nissan ECU reflashing and RE tools
Generalized Electric Vehicle Reverse Engineering Tool firmware
PSA (Peugeot/Citroen/DS) electronics architecture reverse engineering
Volvo LIN bus reader for steering wheel buttons
ME7 ECU calibration tools for MAF, fueling and torque maps
Tuning, logging and flashing software for OEM ECUs
Reverse engineering results and resources for several vehicles
Reimplementation of VCDS VAG diagnostics in Python with SocketCAN
BMW I-Bus .NET Micro Framework SDK and hardware
Raspberry Pi Pico tool for exploring and reversing vehicle CAN buses
CAN bus sniffing for the Volkswagen Golf Mk7 and other MQB platform cars
CAN bus fingerprinting tool to identify make and model
Embedded CAN bus sniffer that monitors internal vehicle buses and triggers actions
Reverse-engineering tool for CAN bus systems
Open-source Haldex AWD controller firmware for ESP32-C6 on VW and Audi vehicles
Desktop app for reverse engineering CAN bus captures
Ford FG Falcon CAN bus and module reverse engineering
Code and documentation to control power wheelchairs with R-Net electronics over CAN
BMW CAN, D-Bus, I-Bus and K-Bus message reference and examples
OBD2 K-Line diagnostics library for Arduino/ESP32 supporting ISO9141 and KWP2000
Arduino/ESP/Pico library for the proprietary VAG KWP1281 K-Line diagnostic protocol
CAN bus reverse engineering tool firmware for ESP32
Hyundai Ioniq 5/6 and Kia EV6 battery preconditioning via CAN
Vehicle Area Network (VAN) bus packet reader/writer for ESP8266 and ESP32
Run newer PSA/Stellantis CAN2010 devices on older CAN2004 cars
CAN bus logger and analyzer tool
ESP32/Arduino firmware controlling BMW E46 lights, windows and locks over I-Bus/K-Bus
Open control unit for Nissan Leaf Gen1/Gen2 inverters via reversed CAN messages
Controller for the Mercedes 722.6 automatic transmission
Database of known Mazda CAN messages
Framework for assessing J1939 ECUs on trucks
Web-based ECU and TCU map editor for Simos12/18 and DQ250 with A2L/XDF definitions
Reverse engineering Volvo VIDA to read vehicle CAN bus information
Nissan/Infiniti ECU reflashing kernel for use with nisprog
Checksum analyzer and corrector for Bosch MED17/EDC17 ECU firmware
Use a BMW iDrive controller as a BLE HID device
Real-time dashboard for the Nissan Consult and OBD-II protocols
Offline reverse-engineering tools for automotive networks
CAN / CAN FD bus analyzer for reverse engineering and diagnostics
Live data from a PSA vehicle's VAN bus on a smartphone
Reverse engineering of Ford Fiesta MK5 MS-CAN messages
AVR driver for the Toyota MPX (BEAN) body bus
Reverse engineering the BMW i3 LIM module for open-source CCS fast charging
IDA Pro helper for disassembling Bosch ME7.x C16x engine ECU firmware
Datasets and tools for reverse engineering Controller Area Networks
Volvo XC90 CAN adapter restoring wheel buttons and park assist functionality
Arduino CAN bus project for the BMW M57 diesel engine
ESP32 RMT reader for the PSA Vehicle Area Network (VAN) bus
Server bridging BMW D-Bus, I-Bus, K-Bus and CAN to a JSON socket
Python dumper/explorer for VW ODIS MCD runtime projects
Identifies ECUs, finds calibration maps without prior knowledge and diffs binaries into recipes
Reverse engineering vehicle CAN bus messages
Real-time CAN logging, decoding and visualization for vehicles
Reverse-engineered CAN messages to run the radar from 2016+ Toyotas with TSS
Utility to dump the Mazda RX8 ECU firmware
ESP32 steering wheel adapter for Peugeot and Citroën cars
Controls braking on a BMW E39 through the Bosch ABS 5.7 module over CAN
Arduino sketch adding features to TNGA Toyota vehicles over CAN
Flashing tool for Siemens SIMK43/41 ECUs in Hyundai/Kia vehicles
KWP2000 data logger for Android over Bluetooth ELM327
Disassembles BMW ECU parameter definition files such as .prg into readable data
K-Bus/I-Bus to Bluetooth bridge for Minis and BMWs
Open-source C++ library and tools for reading Nissan's Consult diagnostic protocol
Discovered CAN bus commands for the Volvo P2 platform
Reverse engineering of the Peugeot/Citroën VAN bus
KWP2000 diagnostic protocol library for Java
Communication with VAG ECUs over the KW1281 protocol on Arduino and ESP32
BMW iDrive controller CAN bus interpreter
Low-cost Arduino CAN emulator for repairing Renault Scenic 2 instrument clusters
Drives a BMW E90 instrument cluster from an Arduino over CAN
Scripts and SQL for working with data from the Volvo VIDA database
Arduino library for the TSS463/TSS461 VAN bus interface chips
Replica of the VW Golf 2 Digifiz digital dashboard on Arduino/ESP32
Reverse-engineered CAN signal database for the Hyundai Kona Electric
List of OBD2 PIDs supported by the Hyundai Elantra CN7
Creates virtual reads of BMW ECUs from PSDZ data
TypeScript library talking to BMW light modules over ENET (HSFZ/DoIP, UDS)
CAN interfacing a Ford Barra engine into a BMW 7 Series
Harness rerouting a Toyota DSU CAN bus for openpilot longitudinal control
Open-source BMW diagnostic and telemetry suite in Tauri, Rust and Python
Dumps contents of VW ODIS SGML Object File (.sgo) version 2 files
Patches the MSV80 DME gear-decode routine to add 8th-gear cruise control on 8HP-swapped BMWs
Drives a BMW E87/E9X cluster with game telemetry via Arduino and CAN
ESP32-C3 CAN gateway translating Nissan Juke CAN frames for aftermarket head units
Reverse engineering of the Toyota RAV4 XA50 climate panel LIN bus on STM32
Logs engine parameters from 2000-2009 Volvos over their diagnostic protocol
Enabling Audi Drive Select on the Audi Q3 (8U) with RMC and MMI systems
PSA VAN bus packet descriptions
Arduino library for showing custom info on the VAG instrument cluster FIS/DIS display
Reverse-engineered LIN protocol of Audi MLB evo center console switch panel
ESP32 RMT writer for the PSA VAN bus
Debug and simulation tool for PSA AEE2004 CAN networks
Aftermarket seat memory for BYD Dolphin Plus, reverse-engineered from the vehicle's Electro app
Reverse engineering of the Bosch GS8.60 / ZF 5HP19 transmission controller: XDF and patch tool
Reverse engineering of the VW MEB DC-DC converter (Bosch Gen4H13) for EV conversions
Reverse engineering of a low-battery CAN bus sensor