I2C SPI USB CAN eSPI Cable Testing View All Quick Start Guides User Manuals Software Downloads Knowledge Base Videos Case Studies App Notes White Papers Sales Support How to Order
Products Blog Sales Support Contact Search
Debugging CAN in Automotive, Industrial, Medical, Robotics, and Aerospace Systems
Published: 2025-09-17
Isabel Johnson

CAN (Controller Area Network) is a multi-master serial protocol that allows microcontrollers and devices to communicate by exchanging data over a shared two-wire differential bus without requiring a central host. While CAN was initially created to advance device communication within automobiles, the robustness and versatility of the protocol has made it a staple in much more than just automotive applications; including industrial, medical, robotics, and aerospace systems.

How Does the CAN Protocol Work?

The CAN protocol allows multiple devices, or nodes, to connect to a single two-wire bus. Each node consists of a CAN transceiver and a CAN controller, enabling it to transmit and listen for messages on the bus. When two or more nodes attempt to transmit at the same time, CAN uses bitwise arbitration based on message identifiers. Messages with a dominant bit are prioritized over those with a recessive bit, ensuring the highest-priority message continues first. As soon as the bus becomes available again, lower priority messages re-enter arbitration. This avoids communication collisions, which makes deterministic, real-time communication possible, even in complex, multi-device systems.

CAN Bus Nodes Diagram of the CAN Bus

Applications of CAN Across Industries

Across industries such as automotive, industrial automation, medical devices, aerospace, and robotics, CAN-based systems are built on a common set of components: controllers to coordinate operations, sensors to provide feedback, actuators to carry out mechanical tasks, and safety units to ensure fault tolerance. While the core architecture is similar, each field adapts these building blocks with specialized modules, all communicating over the CAN network.

CAN in Automotive Systems

In automotive systems, CAN serves as the communication backbone that connects dozens of ECUs (Electronic Control Units) distributed throughout the vehicle. Each ECU is responsible for monitoring and controlling specific vehicle functions, such as powertrain systems (e.g. engine and transmission control), body electronics (e.g. door locks and window controls), safety systems (e.g. airbags), and infotainment systems (e.g. audio and climate control).

Since multiple ECUs can attempt to communicate simultaneously, CAN uses the priority-based arbitration to ensure high-priority messages get through without delay. The protocol is also designed to perform reliably in the vehicle’s electrically noisy environment, using differential signaling and robust error checking to maintain data integrity.

CAN in Industrial Systems

In industrial environments, the CAN protocol is widely used to enable real-time communication between modules, including sensors, actuators, and control units within machines and automation systems. A typical CAN-based architecture connects a central PLC, actuator controllers, sensors, safety units, and operator interfaces all connected as nodes on a shared bus. For example, a PLC can read a sensor and command a motor controller over CAN to start or stop a conveyor. Its arbitration and error-handling mechanisms ensure devices operate in sync without interference or data collisions, making CAN ideal for applications like elevator control systems,  factory automation equipment, or mobile machinery like forklifts or agricultural vehicles.

These same features make CAN reliable and deterministic, even in electrically noisy environments, enabling precise, high-speed coordination in demanding automation tasks such as semiconductor manufacturing, packaging lines, and assembly stations.

Higher-layer protocol such as CANopen build on the standard CAN physical and data-link layers, adding predefined communication objects, that support flexible and modular system design.

CAN in Medical Systems

CAN is also often employed in medical devices and equipment where reliability, real-time performance, and fault tolerance are critical for patient safety and system uptime. In a patient monitoring system, CAN connects ECG sensors, temperature probes, and alarm modules to a central controller. In infusion pumps, ventilators, and dialysis machines, CAN enables precise coordination between sensors, flow control valves, motors, and safety interlocks. In CT scanners, it synchronizes the gantry rotation motor and X-ray source positioning, while simultaneously monitoring system diagnostics. CANopen can also be used in medical systems to simplify integration and standardize communication across multiple subsystems within a device.

CAN in Robotics Systems

Robotics applications span both industrial and medical systems. In industrial robotics, CAN connects modules such as motor controllers, joint encoders, torque sensors, and safety systems within robotic arms used for assembly welding, or material handling. In medical robotics, such as surgical robots or rehabilitation exoskeletons (wearable robotic devices), CAN enables precise synchronization between actuators, force sensors, and feedback loops. CAN can even be used in consumer robotics like robotic vacuums or lawn mowers, where multi-node communication is needed to manage drive systems, environmental sensors, battery management, and user interfaces.

CAN in Aerospace Systems

In aerospace systems, CAN is an ideal protocol for complex, safety-critical communication found in aircraft, satellites, and UAVs (unmanned aerial vehicles). For example, CAN networks are used to connect flight control surfaces, landing gear systems, cabin pressure and environmental controls, and power distribution units. In UAVs and drones, CAN is commonly used to coordinate motor controllers, GPS modules, IMUs (inertial measurement units), and autopilot systems.

Traditional avionics protocols like ARINC429 are point-to-point, simple and deterministic, but limited in scalability and wiring complexity. To address the need for a more flexible, lightweight, and modular bus system, ARINC825 was developed as a CAN-based standard that brings the robustness and fault tolerance of CAN into civil aviation, enabling multi-node networking with enhanced diagnostics and redundancy. Other CAN-related aerospace protocols, such as SAE AS5643, extend CAN for real-time aerospace and defense applications by adding time-triggered features and higher-layer protocols.

How Total Phase Tools Support CAN Debugging

Validating CAN Protocol Reliability Using the Komodo CAN Duo Interface

The Komodo CAN Duo Interface is a versatile, high-performance two-channel USB-to-CAN adapter and analyzer that can be used across a variety of industries and including industrial automation, robotics, medical devices, aerospace, and automotive. It allows engineers to capture and transmit raw CAN frames, monitor bus errors, verify timing, and troubleshoot data-link layer issues.

Littleton Robotics using Komodo Interface Komodo CAN Interface monitoring and debugging the robot’s CAN bus linking the CPU to motors, sensors, and controls.

Users can actively transmit on one channel while passively monitor bus traffic on the other, or use both channels to simultaneously capture CAN traffic from two separate buses. The interface provides 8 configurable GPIOs, provides independent galvanic isolation per CAN channel, and supports Fault Tolerant (125 kbps) and High Speed (1 Mbps) CAN.

With direct access to the CAN bus via CAN+ and CAN− connections through DB9 connectors or screw terminals, engineers can inject and analyze traffic at the data-link layer, while using GPIOs for additional signaling or triggers. The Komodo interface is supported by intuitive GUI software and APIs, allowing developers to build custom software to implement, test, or simulate higher-layer protocols such as CANopen or J1939, while maintaining full visibility into underlying CAN traffic.

Software GUIs and API

The Komodo GUI Software provides access to the active CAN functions of the Komodo CAN Duo Interface. General CAN Mode enables sending and receiving CAN data. Users can send CAN message on a regular, periodic basis with a given time interval, with all CAN packets, events, and errors displayed in a transaction log. The Batch Mode allows users to execute batch scripts for sending arbitrary CAN packets on the bus.

 

 

The Komodo Software API allows users to create customized programs and work with high-level CAN protocols like CANopen. The API supports C, C#, Python 2/3, .NET, VB.NET, and VB6 programming languages.

The Data Center Software can be used to capture and display CAN bus data. Its unique features, including LiveDisplay, LiveSearch, and LiveFilter, allow users to view, filter, and search CAN bus data in real time. Engineers can see detailed information for each packet, including CAN ID, DLC, data payload, error codes, and bus timing, as well as statistics per device or bus. The Last Packet View provides quick access to the most recent packets, showing index, channel, period, count, and payload. Data captured can be saved as a batch file that can be exported for use in the Komodo GUI Software.

Accessory Boards for Rapid CAN Testing

The CAN/I2C Activity Board Pro provides known-good CAN and I2C target devices, such as a Digital-to-Analog converter (DAC), an Analog-to-Digital converter (ADC), a motion sensor, a light sensor, 2 port expanders, a joystick, LEDs, an LCD display, and a temperature sensor. Target devices can operate as CAN nodes or I2C slaves.

To learn more about using Total Phase CAN debugging tools, check out our blog: Monitor and Transmit CAN Traffic Using the Komodo CAN Duo Interface.

For more information on our tools, please email us at sales@totalphase.com or request a demo.