Blog
Recent Posts
Open-Source Tool Simplifies CANopen Development and Testing
Posted by on
Developing CANopen devices can be challenging. Engineers must configure object dictionaries, simulate nodes, test communication behavior, and verify compliance with the protocol. Traditionally, this process often requires a combination of expensive commercial tools and custom scripts.
A recent article by Michael Fitzmayer (Bucher Automation) in the March 2026 issue of the CAN Newsletter describes an open-source tool designed to simplify these tasks and provide developers with a flexible environment for CANopen development and testing.
Let’s take a closer look at what this tool offers and why it matters.
Why CANopen Development Tools Matter
CANopen is widely used in industrial automation, robotics, medical devices, and many other embedded systems. Like any communication protocol, successful implementation requires extensive testing.
Developers typically need to:
-
Configure CANopen nodes and object dictionaries
-
Monitor CAN traffic
-
Simulate device behavior
-
Validate communication sequences
-
Debug unexpected interactions
Professional tools exist for these tasks, but many of them are proprietary and costly. Commercial solutions such as CAN network development platforms can provide powerful analysis and simulation features for protocols like CANopen or J1939.
For smaller teams, researchers, or open-source developers, a freely available alternative can be extremely valuable.
An Open-Source Approach
The tool described in the article takes a different approach: it is open-source and designed to integrate easily into modern development workflows.
Instead of relying on closed ecosystems, the platform allows engineers to:
-
Inspect CANopen communication
-
Simulate CANopen nodes
-
Test device behavior in controlled environments
-
Automate testing procedures
Because it is open source, developers can extend or customize the tool for their specific applications. This flexibility is particularly useful when working with specialized devices or experimental setups.
Key Capabilities
The tool focuses on the practical needs of engineers working with CANopen devices.
1. Monitoring CANopen Communication
One of the core functions is observing CAN traffic and interpreting CANopen messages. This allows developers to see exactly what is happening on the network and quickly identify issues such as incorrect object dictionary entries or faulty message sequences.
2. Node Simulation
Testing a device often requires other nodes to be present on the network. The tool can simulate these nodes, allowing engineers to reproduce real-world communication scenarios without needing multiple physical devices.
This capability is especially useful during early development stages.
3. Object Dictionary Handling
The object dictionary is the heart of any CANopen device. The tool simplifies working with object dictionary entries, making it easier to configure parameters and verify that devices behave as expected.
4. Automated Testing
Another useful feature is automated testing. Engineers can create repeatable test scenarios that simulate specific communication patterns and verify the response of the device under test.
Automated testing helps catch errors early and reduces manual debugging effort.
Benefits for Developers
An open-source CANopen tool offers several advantages.
Lower entry barrier
Engineers and students can experiment with CANopen without purchasing expensive software licenses.
Customizability
Because the source code is available, developers can adapt the tool to specific projects or research environments.
Integration with modern workflows
Open-source tools often integrate better with scripting, continuous integration systems, and automated testing pipelines.
Community development
Users can contribute improvements, report issues, and extend the functionality over time.
When to Use It
This type of tool is particularly valuable in the following situations:
-
Early device development
-
Prototyping CANopen applications
-
Research or academic environments
-
Automated testing setups
-
Open-source hardware projects
For large automotive or industrial programs, commercial solutions may still offer additional features and support. However, open-source alternatives are becoming increasingly capable.
Final Thoughts
CANopen continues to be an important protocol in embedded systems and industrial automation. Tools that simplify development and testing help reduce implementation errors and accelerate product development.
The open-source tool described in the CAN Newsletter article represents a promising step in that direction. By making CANopen testing more accessible and flexible, it lowers the barrier for engineers who want to build reliable CANopen devices without relying entirely on proprietary toolchains.
For developers working with CANopen networks, it may be worth exploring this tool as part of their development workflow.
CAN (Controller Area Network) is a serial communication protocol originally developed for the automotive industry. Compared with traditional serial interfaces such as RS-232, CAN offers significantly greater functionality, robustness, and reliability while remaining highly cost-effective to implement.
CANopen is a higher-layer protocol built on top of CAN that enables developers to leverage the powerful features of the CAN bus in industrial and embedded applications. By standardizing communication structures and device behavior, CANopen simplifies the development of distributed control systems and improves interoperability between devices from different manufacturers.
Because of its reliability and deterministic communication behavior, CANopen has become widely adopted in industries that require high levels of safety and operational stability. Examples include medical technology, robotics, elevators, and transportation systems, where system failures can have serious consequences.
This book provides a comprehensive introduction to both CAN and CANopen in the context of embedded networking. It begins with an overview of embedded communication networks and then explains the core functionality and architecture of CANopen systems.
Readers will learn how to configure and operate CANopen networks using commercially available components, as well as how to design and implement their own CANopen nodes. The book also explores the wide range of real-world applications where CAN and CANopen are used and provides practical guidance for developing embedded systems based on these technologies.
In addition, the text includes references and examples using development tools such as MicroCANopen, PCANopen Magic, and Vector’s professional CANopen development platforms. More information...
SAE J1939, CAN Bus, and Embedded Networking — All in One Place
If you work with heavy-duty vehicles, mobile machinery, marine systems, or industrial equipment, chances are you have encountered SAE J1939. Whether you are developing embedded firmware, integrating third-party ECUs, or troubleshooting complex vehicle networks, reliable information and robust tools are essential. That is exactly why we created jcom1939.com. A Dedicated Platform for J1939 Engineering JCOM1939.com was designed as [...]
Teensy 4.1 Triple CAN Bus Board with Ethernet and LCD – High-Performance Multi-CAN IoT Gateway Controller
Modern embedded systems increasingly demand more than a single network interface. Industrial automation, vehicle integration, marine electronics, energy systems, and IoT gateways often require simultaneous access to multiple CAN networks while also maintaining Ethernet connectivity for cloud access, remote diagnostics, or data logging. The Teensy 4.1 Triple CAN Bus Board with integrated 240x240 LCD and [...]
Raspberry Pi and PiCAN-M in Marine NMEA 2000 Systems: Power Supply Considerations
Single-board computers based on the Raspberry Pi have become common building blocks in modern marine electronics. When combined with PiCAN-M, they are frequently used as onboard data gateways for applications such as Signal K and OpenPlotter, translating NMEA 2000 traffic into IP-based data streams, dashboards, and logs. In practice, most field issues reported in these systems [...]
Essential Resources for NMEA 2000 Development with ESP32
This blog post is intended to highlight additional, practical resources that can significantly improve the development workflow for NMEA 2000 devices based on the ESP32 processor. Once the fundamentals of CAN bus and NMEA 2000 are understood, progress often depends on having the right reference material and the right diagnostic tools. The following resources address [...]
NMEA 2000 Explained: A Practical Guide to CAN Bus Marine Networking
Modern marine electronics rely on NMEA 2000, a standardized CAN-based network that allows engines, sensors, displays, navigation systems, and monitoring devices to communicate over a single, shared backbone. Instead of point-to-point wiring, NMEA 2000 uses a robust two-wire CAN bus to distribute data efficiently and reliably across the vessel. While powerful and flexible, this technology [...]
ESP32 NMEA 2000 Sensor Integration: Qwiic I2C Sensors for Marine Applications
The ESP32S3 CAN‑Bus Board with NMEA2000 Connector by Copperhill Technologies is a compact, high-performance development board based on the dual-core ESP32-S3-WROOM-1 microcontroller with integrated Wi-Fi and Bluetooth connectivity. Designed expressly for embedded and marine applications, it includes 8 MB of PSRAM and 8 MB of flash, a USB-C port for power and programming, RGB status [...]
Why the PiCAN-M with SMPS Cannot Power Raspberry Pi 5 — and the Simple Workaround
The PiCAN-M HAT from Copperhill Technologies is a specialized interface developed exclusively for marine applications and specifically targets NMEA 2000 networks. NMEA 2000 is the standard backbone for modern marine electronics, used to interconnect engines, chart plotters, sensors, and onboard monitoring systems. In its standard version without SMPS, the PiCAN-M HAT is powered directly from [...]
MicroPython on ESP32: Beginner's Guide to Programming, Setup, and IoT Project Basics
MicroPython is a lean re-implementation of Python 3 designed for microcontrollers. It provides an interactive REPL(Read-Evaluate-Print Loop) and supports a large subset of the Python standard library, making embedded programming more accessible to those familiar with Python. In simple terms, MicroPython lets you write Python code to control hardware like the ESP32 without the need [...]
Local Interconnect Network (LIN) in Automotive: A Beginner’s Guide
The Local Interconnect Network (LIN) is a low-cost, low-speed serial bus system used in modern vehicles to communicate between electronic components. It was introduced as a complement to the faster Controller Area Network (CAN) bus, targeting applications where high performance isn’t needed and cost is critical. LIN operates over a single wire (plus ground) at [...]
Loading... Please wait...

