// the find
thanhtam-h/soem-w5500-rpi
Realtime ethercat master for Raspberry pi
A patched version of SOEM (Simple Open EtherCAT Master) that adds a W5500 SPI Ethernet chip driver, letting you run a hard-realtime EtherCAT master on a Raspberry Pi without a native Ethernet port. Targets robotics and industrial control use cases where a cheap RPi needs to talk to EtherCAT slaves under Xenomai or PREEMPT_RT. Genuinely fills a gap — EtherCAT on RPi with real hard-realtime guarantees is otherwise painful.
The branch-per-hardware-combination strategy is actually sensible here: RPi 0/1/2/3/4 × Xenomai 2/3 × PREEMPT_RT means the kernel patch matrix is large enough that a single branch would be a mess. Hardware files are included (Gerber ZIP, schematic) so you can fabricate a W5500 cape yourself rather than hunting for a compatible hat. The MAXPOS_CSP test covers cyclic synchronous position mode with distributed clocks, which is the hard part of EtherCAT — not just 'we talk to a slave' but 'we do it with DC sync'. The 15.625MHz directory hints at a specific SPI clock fix, which is the kind of concrete hardware-level debugging that makes a project credible.
Last commit was June 2020 — six years stale. RPi 5 doesn't exist here, and the kernel versions it targets (3.x/4.x era) are well behind current Raspbian. The `libwiznet_drv.a` precompiled binary sitting in the repo with no corresponding source is a red flag: you can't audit it, you can't rebuild it for a different architecture, and if it breaks you're stuck. Documentation lives entirely on an external blog (`simplerobot.net`) rather than in the repo, so if that site goes down, the build instructions go with it. No CI, no tests beyond manual slaveInfo checks.