An Arduino-based CAN bus monitoring tool implementing the SLCAN protocol for low-speed automotive diagnostics.
arduino-canbus-monitor is an open-source firmware that turns Arduino boards with MCP2515-based shields into CAN bus monitoring devices. It implements the SLCAN protocol to enable communication with standard CAN analysis software, allowing users to sniff and analyze data on low-speed automotive CAN networks typically found in vehicle interiors.
Embedded systems developers, automotive hobbyists, and engineers working with vehicle diagnostics who need an affordable, open-source solution for CAN bus monitoring and prototyping.
It provides a cost-effective alternative to commercial CAN interfaces by leveraging ubiquitous Arduino hardware while maintaining compatibility with professional CAN analysis tools through the standardized SLCAN protocol.
Can bus monitoring tool based on arduino and can bus shield. Implements CAN ASCII/SLCAN protocol compatible with Lawicel CAN232/CANUSB. Can be used for monitoring low speed CAN (interior can bus of most cars, less than 500kbps). For higher speeds serial port can become a bottleneck in case data density is high.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements the CAN ASCII/SLCAN protocol, ensuring seamless integration with established tools like CANHacker and CAN-COOL on Windows, as documented in the README.
Works with a wide range of Arduino boards and MCP2515-based shields from Seeed Studio, ElecFreaks, and generic modules, making it accessible and cost-effective.
Features a custom Z2 command that enables millisecond timestamps beyond the standard 60000ms cycle, enhancing data logging for longer monitoring sessions.
The modified F command returns MCP2515 error flags, providing detailed error reporting for better troubleshooting, as highlighted in the README.
Lacks implementation of several SLCAN commands such as s, W, M, m, and U, limiting functionality for advanced CAN bus configurations and filtering.
Requires manual command-line configuration with slcan_attach and slcand, which can be cumbersome and error-prone for users unfamiliar with Linux systems.
Relies on external software like CANHacker whose official site is down, complicating access and support for necessary PC counterpart tools.