
Other · Drivers & Firmware
1.6.3·
IgH EtherCAT Master is a mature, open-source EtherCAT bus driver running as a Linux kernel module. Developed by Ingenieurgemeinschaft IgH GmbH in Essen, Germany, it is the de facto open-source EtherCAT standard on Linux.
The software architecture is based on a master-device model: the `ec_master` kernel module manages the communication cycle, while `ec_generic` or dedicated NIC drivers (e.g. `ec_e1000e`) provide physical layer access bypassing the network stack – enabling deterministic cycle times below 1 ms.
The master runs in synchronous (cyclic) mode with timing driven by a PREEMPT_RT timer or a Xenomai/Cobalt real-time task. It supports DC (Distributed Clocks) per ETG spec, ESC, EoE (EtherCAT over Ethernet), CoE mailbox (CANopen over EtherCAT), and SoE (Servo over EtherCAT).
The user-space interface is the `libethercat` library exposing a C API for real-time application development. Integration with ros2_control is available via the `ethercat_driver_ros2` package, which maps EtherCAT slaves as `HardwareInterface` in ROS 2.
The project is actively maintained in the `stable-1.6` branch and available via Open Build Service (OBS) as pre-built .deb and .rpm packages.
A Driver is a software layer responsible for communication with a specific hardware device or component. In robotics, drivers enable support for sensors (LiDARs, cameras, IMUs), actuators, motor controllers, grippers, and other modules at the hardware or low-level OS layer. They abstract device-specific protocols (USB, CAN, UART, EtherCAT) and expose a standardised interface to the middleware or application layer above.
A Transport Layer is the software layer responsible for data transmission between elements of a robotic or software system — such as processes, nodes, devices, and services. It handles serialisation, routing, reliability, and latency guarantees for messages. In robotics examples include DDS (Data Distribution Service) used by ROS 2, LCM (Lightweight Communications and Marshalling), ZeroMQ, and proprietary message buses on embedded platforms.
Family of tools providing hard real-time capabilities in Linux and EtherCAT fieldbus communication – the foundation of industrial and robotic low-level control.
Deployed in thousands of industrial projects worldwide – CNC machines, assembly lines, industrial robots, research systems.
Active mailing list community, GitLab-hosted, ~3k equivalent stars across derivative projects.
Ubuntu 24.04 LTS 'Noble Numbat' — supported until April 2029. The host for ROS 2 Jazzy.
License family: Strong Copyleft
Stability fixes and support for new NICs.
LTS release – long-term support for legacy systems.