Simple Open EtherCAT Master or SOEM


For a tutorial on SOEM See tutorial.txt


SOEM is an EtherCAT master library written in c. Its purpose is to learn and to use. All users are invited to study the source to get an understanding how an EtherCAT master functions and how it interacts with EtherCAT slaves.

As all applications are different SOEM tries to not impose any design architecture. Under Linux it can be used in generic user mode, PREEMPT_RT or Xenomai. under Windows it can be used as user mode program.

Preconditions Linux:

Preconditions Windows:

Features as of 1.1.2 :

Features as of 1.1.3 :

Features as of 1.1.4 :

Features as of 1.2.0 :

Features as of 1.2.2 :

Features as of 1.2.4 :

Features as of 1.2.5 :

Features as of 1.2.8 :

Features as of 1.3.0 :


For Linux

For examples see simple_test.c in ~/test/linux/simple_test. First try (assume EtherCAT on eth0): sudo ./simple_test eth0 As SOEM uses RAW sockets it will need to run as root.

For Windows

Squashed bugs

Version 1.1.3

Version 1.1.4

Version 1.2.0

Version 1.2.2

Version 1.2.3

Version 1.2.5

Version 1.2.8

Version 1.3.0

Legal notice

Copyright© 2005-2013 Speciaal Machinefabriek Ketels v.o.f.
Copyright© 2005-2013 Arthur Ketels
Copyright© 2008-2010 TU/e Technische Universiteit Eindhoven
Copyright© 2012-2013 RT-labs AB
SOEM is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

SOEM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

As a special exception, if other files instantiate templates or use macros or inline functions from this file, or you compile this file and link it with other works to produce a work based on this file, this file does not by itself cause the resulting work to be covered by the GNU General Public License. However the source code for this file must still be made available in accordance with section (3) of the GNU General Public License.

This exception does not invalidate any other reasons why a work based on this file might be covered by the GNU General Public License.

The EtherCAT Technology, the trade name and logo "EtherCAT" are the intellectual property of, and protected by Beckhoff Automation GmbH. You can use SOEM for the sole purpose of creating, using and/or selling or otherwise distributing an EtherCAT network master provided that an EtherCAT Master License is obtained from Beckhoff Automation GmbH.

In case you did not receive a copy of the EtherCAT Master License along with SOEM write to Beckhoff Automation GmbH, Eiserstrasse 5, D-33415 Verl, Germany (

Author(s): Arthur Ketels and M.J.G. van den Molengraft
autogenerated on Sat Jun 8 2019 18:02:18