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.

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. This record covers the monitoring, discovery and decoding functions. There is no license file and GitHub detects none, so reuse terms for the project's own code are not stated. The reviewed sources state no REA use, and no hardware was connected for this record.

About this entry

Type
Tool
Category
Protocol analysis tools
Relationship
Foundation tool
Targets
Protocol

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

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 33 entries in Protocols