Getting Started with the Adeeb EtherCAT Master on Windows
Set up the Adeeb EtherCAT Master on Windows and run your first network scan and servo motion over EtherCAT.
May 19, 2026 · 6:20
Watch on YouTube . The written walkthrough below covers the same material in detail.
This is the fifth video in the Adeeb Robotics training series. It walks through downloading and running the Adeeb EtherCAT Master on a Windows PC, building the example application with the Microsoft toolchain, and driving a real EtherCAT servo slave through a network scan and a slow servo motion. The workflow mirrors the Linux and macOS demos; the differences are Windows-specific, and they matter.
Hardware setup
The demo runs on a Dell laptop acting as the EtherCAT master. Because the laptop has no native LAN port suited to the task, it connects to the EtherCAT slave through a USB-to-Ethernet dongle. A single Ethernet cable carries EtherCAT traffic from that dongle to the slave.
Prerequisites
Windows is not a deterministic operating system, so the build and runtime environment needs a little more care than on Linux or macOS:
- A Windows PC with a wired Ethernet path to the slave — here, a USB-to-Ethernet dongle.
- An editor for inspecting the package. The demo uses Visual Studio Code.
- The Microsoft Visual C++ (MSVC) toolchain. The Adeeb EtherCAT Master library for Windows is compiled with MSVC, so the example must be compiled and linked with the same toolchain. You get MSVC by installing Visual Studio, or just the free Visual Studio C++ developer tools. A link to obtain and deploy them is in the video description.
Downloading the release
The trial libraries are published on the Adeeb Robotics downloads page.
- Open the downloads page and locate the EtherCAT Master section.
- Download the trial release of the Windows library. The download takes a couple of minutes.
- Extract the archive.
- Open the extracted folder in Visual Studio Code.
What’s in the package
The Windows folder structure matches the macOS and Linux releases:
| Item | Purpose |
|---|---|
| ESI folder | Where you place the EtherCAT Slave Information (ESI) files. An ESI file describes the slave and is supplied by the slave vendor. |
| App config file | Holds the name of the Ethernet adapter used for EtherCAT communication, plus the EtherCAT cycle time and related timing settings. |
| Header file | Declares the EtherCAT library API. |
| Library binary | The compiled master library, built with MSVC. |
Example main C source | A cross-platform example application that reads and writes slave parameters and spins the motor. |
| README | Explains the configuration and build steps in more detail. |
Configuration
The app config file names the Ethernet adapter to use for EtherCAT communication. In the demo this value is already correct, but always confirm it matches your machine. If the configured adapter name is wrong, the library prompts you at startup with a list of valid Ethernet adapter names to choose from.
The same file holds the EtherCAT cycle time and the other timing settings. These settings are identical to the Linux release; the Linux walkthrough covers the cycle time and timing parameters in depth.
The example application
The example main C source is the same cross-platform program shipped with the macOS and Linux releases. It uses preprocessor if blocks to branch between Linux, macOS, and Windows code paths. The program:
- Reads and writes a set of slave parameters, known as COE (CAN over EtherCAT) objects.
- Servos the slave on.
- Turns the motor very slowly.
Building and running on Windows
Because the library is compiled with MSVC, the example must be compiled and linked with the matching toolchain. The MSVC compiler is invoked with the cl command, which is only available inside an x64 Native Tools Command Prompt. Find that shell by searching for “x64” in the Start menu; it is installed alongside Visual Studio or the standalone C++ developer tools.
Before running, close as many other programs as you can. Windows is by no means a deterministic operating system, so if too many processes are competing for the CPU — or if the cycle time is set too short — the EtherCAT slave will raise A.11 and A.12 watchdog alarms.
With the environment prepared:
- Open the x64 Native Tools Command Prompt.
- Navigate to the folder you extracted.
- Run the provided rebuild-and-rerun batch file. It compiles the example with
cland launches it in one step.
Running a network scan
On launch, the master scans the network and reports the slave it finds. You will hear the motor hum as it servos on, and see it turn very slowly because the update rate is low at the default cycle time. The run reads and writes COE objects successfully and prints the values read back from the slave, followed by timing statistics — the same set reported on Linux and macOS.
You may also see a warning that a non-EtherCAT frame was received on the Ethernet port. This is expected and harmless: other traffic can land on the interface, and the master simply flags it.
Determinism on Windows
Everything functions normally on Windows, but determinism is inherently limited by the operating system. The same example consistently delivers better timing on Linux and macOS, and a Linux deterministic operating system yields the best throughput of all. On Windows, keep the machine quiet, avoid overly short cycle times, and watch for the A.11 and A.12 watchdog alarms that signal the master is missing its timing window.
Next steps
- Grab the trial libraries and ESI files from the downloads page and run the example against your own slave.
- Review the full feature set on the Adeeb EtherCAT Master product page.
- Continue the series with Getting Started with the Adeeb Robot Controller on Windows, which builds on this stack with the
arcPython module:
from arc import *
- Request a demo to see the master driving a live servo system over EtherCAT.