A robust new open-source software tool for testing CANopen networks, named CANopenTerm, has been developed by Michael Fitzmayer. Highlighted in a recent Hackaday article, this terminal-driven application offers engineers and hobbyists a lightweight, scriptable, and real-time alternative to more cumbersome graphical user interfaces for monitoring and testing CANopen and general CAN bus networks.
CANopen, a high-level communication protocol built upon the foundational CAN (Controller Area Network) bus standard, is integral to various industrial applications. Its widespread adoption spans industrial automation, robotics, medical devices, and automotive systems, facilitating communication between electronic control units (ECUs), sensors, and actuators.
Comprehensive Network Monitoring and Analysis
CANopenTerm provides a suite of essential functionalities for interacting with these complex networks. Users can effectively sniff raw frames, trace, and probe nodes directly from the console, allowing for real-time insights. The tool also features advanced trace filtering and node access, enabling comprehensive network monitoring and diagnostics.
“CANopenTerm’s focus on speed and scriptability over a heavy GUI caters to users who demand detailed control and efficient workflow automation.”
Beyond monitoring, CANopenTerm simplifies device configuration and node simulation during development phases. This capability is crucial for rapid prototyping and iterative design in embedded systems. Furthermore, the tool offers robust capabilities for thorough testing CANopen networks and devices, including conformance testing. It can verify the object dictionary of CANopen CC devices using a built-in electronic data sheet (EDS) parser and generate detailed test reports, which can be seamlessly integrated with continuous integration (CI) systems like Jenkins.
Scripting for Advanced Automation and Versatility
For advanced tasks and workflow automation, CANopenTerm supports scripting via both Lua and Python, offering similar APIs for flexible task automation. This feature is particularly valuable for developing custom test sequences or integrating the tool into existing development pipelines. While its name emphasizes CANopen, the tool’s versatility extends to general CAN buses and includes support for SAE J1939 and OBD-II protocols. This broad compatibility makes it suitable for a wider array of applications, including critical automotive diagnostics.
Michael Fitzmayer, the visionary behind CANopenTerm, underscored the tool’s design philosophy: prioritizing speed and scriptability to empower users who prefer text-based interfaces and granular control. As an open-source and cross-platform solution, CANopenTerm is available for Windows and Linux and can be integrated into embedded systems via OpenEmbedded (Yocto Project). Its open-source nature presents a flexible and cost-effective alternative to proprietary tools, significantly benefiting smaller development teams, students, and researchers in the related Industries news. The project has garnered attention from prominent publications, including Elektor, CAN in Automation Newsletter, and SPS-Magazin, solidifying its position as a valuable asset for testing CANopen networks.
In conclusion, CANopenTerm emerges as a pivotal development for anyone involved with CANopen and general CAN bus systems. Its blend of powerful features, open-source accessibility, and cross-platform compatibility offers a compelling solution for network analysis, configuration, and rigorous testing, promising to streamline development workflows and enhance diagnostic capabilities across numerous industrial and automotive sectors.



