finds.dev← search

// the find

leducp/KickCAT

★ 160 · C++ · NOASSERTION · updated Jul 2026

A C++ open source EtherCAT master/slave stack

KickCAT is a C++ EtherCAT master and slave stack targeting embedded and real-time Linux systems. It covers the full protocol surface — PDOs, CoE/SDO, Distributed Clocks, cable redundancy — and unusually ships both sides of the bus plus a software emulator so you can develop against it without any hardware. The target audience is robotics and industrial automation engineers who need something between a heavyweight commercial stack and rolling their own from the ETG spec.

The software ESC emulator plus network fabric is the standout feature: you can run a full master-slave loop in a single process or across shared memory, pointing at any vendor ESI XML file. That alone cuts weeks off bring-up time. The AF_XDP socket backend for Linux is a real latency win over raw sockets and is not common in open-source EtherCAT stacks. Slave support on NuttX with two production-validated ESCs (LAN9252 and XMC4800) is rare — most stacks stop at the master side. The CTT validation on WDC_FOOT gives it a credibility signal that matters for anyone shipping to customers who care about EtherCAT conformance.

Distributed Clocks are explicitly marked experimental, which is a hard blocker for any motion control application where sync jitter matters. FoE and EoE are planned but absent, meaning firmware-over-EtherCAT and IP-over-EtherCAT are off the table for now. The CeCILL-C license is French law and copyleft-adjacent in ways that are genuinely unclear for proprietary integration — most industrial shops will need a legal read before shipping it in a product. At 160 stars it is production-used but not widely adopted, so community debugging resources are thin; you are largely on your own when you hit something the docs do not cover.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →