Star on GitHubStar1.1k stars

Tool

CAN Commander

A Flipper Zero app and earlier Arduino sketches for reverse engineering CAN bus traffic, chiefly in vehicles. The current app is a UART front end for a CAN Commander ESP32 board: it streams all or filtered frames, lists unique IDs, measures message rates, tracks per-bit and per-byte changes, and runs a two-phase Auto Reverse Engineer that first calibrates out background traffic and then shows which IDs change during an action. It also decodes live signals from DBC-based profiles and reads OBD-II PIDs, the VIN and trouble codes.

Targets
Protocol
Category
Protocol analysis tools
Relationship
Foundation tool
Sources reviewed

Requirements & limits

  • The reviewed main commit of 2026-04-25 sets app version v2.3.1 (fap_version 2.3), and there are no GitHub releases. The app needs a CAN Commander board connected to the Flipper's GPIO and running ESP32 firmware v2.2 or newer. That firmware, and the converter from .dbc files to the app's .dbcprof and .injprof profiles, are offered at cancommander.com rather than in this repository.
  • The README lists limits such as 16 cached DBC signals, 10 tracked changed IDs on the reverse-engineering dashboard and 384 frames per replay recording, and warns that heavy traffic needs filtering and that streaming the Flipper screen during DBC decoding can exhaust RAM. A Wi-Fi TCP command line mirrors the USB command set; dedicated companion clients are described as planned.
  • Legacy/ keeps the earlier Arduino sketches for Arduino, ESP8266, ESP32 or RP2040 boards with an MCP2515 controller, a bundled MCP2515 library copy with an MIT notice, a JavaScript BLE companion app, OBD-II PID tables and about 80 vehicle DBC files without a stated source or license. The repository has no tests or CI.
  • The write, Smart Injection, Replay and Clear DTCs tools transmit on the bus and can change vehicle state; use them only on vehicles and networks you own or are authorized to test. There is no license file and GitHub detects none, so reuse terms for the project's own code are not stated.

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · MatthewKuKanich/CAN_Commander · Revision 6079fe0
  2. README.md#L554-L615 GitHub · MatthewKuKanich/CAN_Commander · Revision 6079fe0
  3. CAN_Commander_FlipperZero/can_commander/application.fam GitHub · MatthewKuKanich/CAN_Commander · Revision 6079fe0
  4. CAN_Commander_FlipperZero/can_commander/can_commander.h GitHub · MatthewKuKanich/CAN_Commander · Revision 6079fe0
  5. Legacy/README.md GitHub · MatthewKuKanich/CAN_Commander · Revision 6079fe0
  6. Legacy/CAN_Resources/DBC_Files GitHub · MatthewKuKanich/CAN_Commander · Revision 6079fe0
  7. Legacy/ArduinoEnvironment/libraries/mcp2515/LICENSE.md GitHub · MatthewKuKanich/CAN_Commander · Revision 6079fe0

More in Protocols

All 140 entries in Protocols

↑↓ move↵ open⌘↵ new tab