86Duino IDE EtherCAT Library Introduction
The 86Duino EtherCAT Library is a dedicated EtherCAT Master communication layer solution for QEC on an Arduino-based development environment, which can be used for real-time communication with EtherCAT Slave devices. The 86Duino IDE provides Arduino’s rich application programming interface (API) for user development.
In addition to the EtherCAT master communication layer, users can also be developed their EtherCAT industrial applications via the graphical EtherCAT configuration tool, 86EVA (EtherCAT-Based Virtual Arduino), with the following features:
- Auto Compiled into Arduino language (EtherCAT-based Virtual Arduino)
- Auto-scans EtherCAT devices on the EtherCAT network
- EtherCAT Master Settings:
- Enter EtherCAT master Object Name
- Select EtherCAT bus Cycle time
- Select EtherCAT Cable Redundancy Option
- Select ENI file
- EtherCAT Slave Settings:
- EtherCAT slave Object settings
- EtherCAT slave Alias settings
- EtherCAT slave I/O settings
- Display EtherCAT slave General Information
- Internal monitoring Information (Voltage, Current, Temperature)
For the measurement of the 86Duino IDE EtherCAT Library, please see QEC — EtherCAT Master’s Benchmark.
86Duino IDE EtherCAT Library Features
According to the EtherCAT standard, the 86Duino IDE EtherCAT Library supports EtherCAT master functions as listed in the table below. (V: Supported, △: To be supported)

The following are the instructions for using the 86Duino IDE EtherCAT Library.
Ethercat Class
Used in QEC series products.
EthercatMaster Class Functions
Used in QEC series EtherCAT Master System.
Initialization Functions:
Access to slave information Functions:
- getSlaveCount()
- getVendorID()
- getProductCode()
- getRevisionNumber()
- getSerialNumber()
- getAliasAddress()
- getSlaveNo()
Control Functions:
EthercatDevice_XXX Class General Functions
The following APIs are still under development and are not recommended for use.
Access to slave information Functions:
- getVendorID()
- getProductCode()
- getRevisionNumber()
- getSerialNumber()
- getAliasAddress()
- getSlaveNo()
- readSII()
- readSII8()
- readSII16()
- readSII32()
- writeSII()
- writeSII8()
- writeSII16()
- writeSII32()
Process Data Objects (PDO) Functions:
The process data transferred by an EtherCAT slave during each cycle (Process Data Objects, PDOs) are user data which the application expects to be updated cyclically or which are sent to the slave.
EtherCAT Common Slave Driver, read/write the Process Data Input/Output.
- pdoBitWrite()
- pdoBitRead()
- pdoGetOutputBuffer()
- pdoGetInputBuffer()
- pdoWrite()
- pdoWrite8()
- pdoWrite16()
- pdoWrite32()
- pdoRead()
- pdoRead8()
- pdoRead16()
- pdoRead32()
CANopen over EtherCAT (CoE) Functions:
The CANopen over EtherCAT (CoE) protocol allows devices equipped with CANopen to be used on EtherCAT-based Industrial Ethernet networks.
Non blocked type APIs for accessing CoE object of EtherCAT Slave from target EtherCAT Master.
- sdoDownload()
- sdoDownload8()
- sdoDownload16()
- sdoDownload32()
- sdoUpload()
- sdoUpload8()
- sdoUpload16()
- sdoUpload32()
- getODlist()
- getObjectDescription()
- getEntryDescription()
File over EtherCAT (FoE) Functions:
File over EtherCAT (FoE) is a simple protocol that enables file access in a device and a uniform firmware upload to devices across an EtherCAT network.
EthercatDevice_Generic Class Functions
Universal objects for various brands of EtherCAT devices.
Initialization Functions:
EthercatDevice_Dmp Class
EtherCAT Slave Devices for QEC series.
EthercatDevice_QECRXXD Class Functions
QEC EtherCAT Slave Digital IO Modules.
EthercatDevice_QECRXXHU Class Functions
QEC EtherCAT Slave HID Modules. (MPG + Keypad + LCM + RS232/485×2)
EthercatDevice_QECRXXUN01 Class Functions
QEC EtherCAT Slave LCD Modules.
Libraries Reference Home
The text of the 86Duino reference is a modification of the Arduino reference and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.