EtherCAT + Nerves


Hi all, has anyone worked with EtherCAT and Nerves before?

I’m quite new with Ethercat, so I’m looking for a good starting point like a reliable and recommended library (and easy to use haa) that handles Ethercat that can be added to a nerves custom system.

Thanks in advance :slight_smile: .


I’ve worked with EtherCAT. Nerves uses Buildroot which includes an EtherCAT package igh-ethercat. It goes through the standard network stack. It also has a few hardware drivers such as e100 for better performance. To include it you need to make a custom Nerves system and add the package.

Ultimately, we found it didn’t have the performance we needed for our specific hardware. So we made a custom, private Nerves system that uses Acontis’s EtherCAT offering.


Thanks for the answer, you give me a good path to follow !!! :).

If you do not mind to tell us, did you used the nerves official supported hardware or another one?
I’m asking it because I’m planning to use a Rpi3 and I want to know if it’s worth to looking at igh-ethercat or directly to the Arcontis, or which were your performance limitations that igh-ethercat doesn’t accomplished?
Also I want to ask:
In your opinion, which package is more friendly to use (or to make an elixir wrapper)?

Thanks in advance…


We had problems with igh-ethercat with raspberry pi. It simply couldn’t compile the igh-ethercat package. We never figured out why. It worked with BeagleBone Black and that’s what we’re still using.

We needed sub-millisecond response times on EtherCAT. igh-ethercat doesn’t provide hardware drivers for BBB (or RPi). So it was taking several milliseconds for a round trip.

If you don’t need that level of performance, then go with igh-ethercat. It’s also open source. Actontis provides proprietary, enterprise-level solutions so you’ll be paying quite a bit for it.

1 Like