You can read more about this and other Esmacat tutorials on the official Esmacat website. Check out our other Hackster.io demos as well.
Detailed documentation of the codes and steps for this tutorial can be found here.
Check out our EASE Crowd Supply Campaign Page: https://www.crowdsupply.com/harmonic-bionics/ease
Overview:
In this tutorial, you will learn how to set up a Raspberry Pi with Codesys to act as both a PLC and an EtherCAT master. It will be used to control the on-board LED found on the EtherCAT Arduino Shield by Esmacat (EASE) Slave device that is attached to an Arduino Uno.
- First, some general information about Raspberry Pi and Codesys is discussed.
- After learning to set up the Pi and Codesys, you will learn to implement a practical project to blink the onboard led on EASE based on user input by updating EASE registers using Codesys.
EtherCAT Arduino Shield by Esmacat (EASE):
EASE is an EtherCAT slave that connects to an EtherCAT master (PC/ Laptop/ Dedicated Master devices like the Esmacat Master S and Esmacat Master C.) It can be stacked on top of Arduino, other MCU boards with an Arduino Uno form factor, and shields. This shield allows high-speed communication with an industry-standard EtherCAT protocol for high-performance robotic applications. Esmacat's simple to use Arduino and Mbed libraries allow for easy coding on the base board and Esmacat's free open source master software has a high-level abstraction so users can run applications within minutes!

Feature Highlights:
- EASE connects Arduino boards, Arduino-like boards, and Arduino Shields for large-scale applications.
- High speed communication (200Mbps, 200x faster than CAN bus) is supported with EtherCAT which is an industrial-standard fieldbus for automation.
- The EtherCAT hardware/software is present only on EASE so there is no performance lost on the MCU base board
- EASE has the form factor of Arduino Uno, and thus can take the advantage of the Arduino ecosystem.
- Daisy chain connection between multiple EASE simplifies the topology of wiring.
- Power-over-EtherCAT (POE) technology reduces the number of required wires and power outlets.
- The data packet between Arduino Board and EASE is communicated via SPI, allowing EASE to be compatible with many different types of boards including Arduino boards and MBed boards.
- Arduino and Mbed developed by Esmacat library allow users to easily develop code between the base board and EASE within minutes.
- This shield has 8 registers that can be used to send/receive data between devices through the EtherCAT master via Ethernet cables attached to the shield.

More info: https://www.esmacat.com/ease Suggested Reading: EASE Datasheet.
Raspberry Pi:
Raspberry Pi is a tiny, dual-display, low-cost desktop computer that is used widely in robot brains, smart home hubs, media centers, as a networked AI core and factory controllers. It can also be used as an EtherCAT master just like a Laptop/PC. However, it should be noted that the Pi is a Linux based computer.Codesys:
Hardware Connections:
The primary hardware components include,- EtherCAT slave (EASE with Arduino)
- EtherCAT Master (Raspberry Pi)
- Power Over Ethernet (POE Injector)
- Ethernet cable
- DC Adapter (for POE) and
- Make sure the Ethernet connections are fit tightly into the sockets. (Loose connections may lead to the slave device not being recognized.)
Required Libraries:
- An EASE Library for Arduino to communicate with the Arduino subsystem.
Suggested Reading:Getting started with EASE.
Software :
The software required for this tutorial involves coding for- the Esmacat Master and
- the Arduino.
Running the Master Code:
When running the master code you get a result similar to the following on the Codesys environment (with a graphical UI showing the update of registers in EASE).