Frequently Asked Questions
FAQ
1. About the QEC Platform
Q: What is QEC?
QEC is ICOP Technology’s complete EtherCAT industrial platform for real-time machine control, distributed I/O expansion, HMI development, and industrial system integration. It combines EtherCAT MDevices (controllers), EtherCAT SubDevices (I/O and expansion modules), open software tools based on 86Duino IDE, and engineering support services.
→ Learn more on the Overview page
Q: Is QEC only an EtherCAT controller?
No. QEC is a complete platform. It includes:
- QEC MDevices — EtherCAT controllers for real-time machine control and HMI-ready deployment
- QEC SubDevices — distributed I/O modules, gateway modules, motor drivers, and junction modules
- 86Duino IDE — open-source C/C++ development environment (Arduino-style)
- Graphical tools — 86EVA (EtherCAT configurator), 86HMI (HMI editor), ArduBlock (graphical programming)
- Engineering services — PoC support, technical review, and integration guidance
Q: Who makes QEC? What is the relationship between QEC, ICOP, and DMP?
QEC is developed and sold by ICOP Technology Inc., a Taiwan-based company specializing in industrial embedded computing. ICOP is a member of the DM&P Group, which developed the Vortex86EX2 processor used in QEC MDevices. The 86Duino open-source IDE was originally created by the RoBoard team at DMP Electronic Inc.
Q: Who is QEC designed for?
QEC is designed for machine builders, system integrators, and control engineers who need to deploy EtherCAT-based systems with lower integration effort. It is particularly suited for:
- Teams adopting EtherCAT for the first time without rebuilding from scratch
- Linux or Raspberry Pi-based teams moving into real-time machine control
- Projects requiring HMI, motion control, and multi-protocol I/O in one system
- WinCE replacement and legacy control migration projects
Q: What industries or applications does QEC support?
QEC is used across a wide range of industrial applications, including:
- Motion control — servo, stepper, and coordinated multi-axis systems
- Packaging and assembly machines
- Robotics and automated handling
- Distributed I/O expansion for field-level signals
- HMI-integrated machine systems
- Legacy control upgrades and modernization projects
2. EtherCAT & Platform Architecture
Q: What is EtherCAT?
EtherCAT (Ethernet for Control Automation Technology) is a high-performance industrial fieldbus protocol based on standard Ethernet hardware. It enables fast, deterministic, and synchronized communication between a controller and field devices such as I/O modules, servo drives, and sensors. EtherCAT is standardized under IEC 61158 and maintained by the EtherCAT Technology Group (ETG).
Q: What is the difference between an EtherCAT MDevice (Master) and SubDevice (Slave)?
In an EtherCAT network, the MDevice (Master) is the controller that initiates and manages all communication on the bus. The SubDevices (Slaves) are the field-level devices — such as I/O modules or motor drivers — that respond to the master’s commands.
In QEC, the QEC-M series are MDevices and the QEC-R series are SubDevices.
Q: How does QEC's dual-core architecture work?
QEC MDevices use a dual-core DM&P Vortex86EX2 processor. One core runs the Arduino-style application logic (user program); the other core is dedicated to the real-time EtherCAT master stack. The two cores exchange data via Inter-Processor Communication (IPC), which allows deterministic EtherCAT cycle control without interference from application-layer tasks.
Q: What communication protocols does QEC support besides EtherCAT?
QEC supports a range of industrial and IT communication protocols, including:
- EtherCAT (primary fieldbus)
- Ethernet (standard TCP/IP)
- Modbus TCP / Modbus RTU
- OPC UA
- MQTT (for IIoT and cloud connectivity)
- RS-232 / RS-485 (via Gateway SubDevice modules)
- CAN Bus
- SPI
- I2C
Q: Does QEC support EtherCAT Cable Redundancy?
Yes. QEC MDevices support EtherCAT Cable Redundancy, which provides a secondary network path to maintain communication if the primary cable is disconnected or fails. Redundancy can be configured through the 86EVA tool or the BIOS settings.
→ See the Cable Redundancy documentation for setup details.
Q: What EtherCAT cycle times does QEC support?
QEC MDevices support EtherCAT cycle times of 125 µs, 250 µs, 500 µs, 1 ms, 2 ms, 4 ms, and upper. The cycle time can be configured in the EtherCAT API (master.start(cycle_time, mode)) or the 86EVA configurator tool.
3. QEC MDevice (QEC-M Series)
Q: What form factors are available for QEC MDevices?
QEC MDevices are available in three form factors to suit different deployment needs:
- Compact — small-footprint embedded controllers for space-constrained applications
- Open-frame — board-level modules for integration into custom enclosures or machine panels
- Panel PC — integrated touchscreen + controller units for combined HMI and control deployment
→ Browse all MDevice models: qec.tw/product-category/qec-m/
Q: What is the QEC-M-01 and when should I use it?
The QEC-M-01 is the entry-level compact QEC MDevice.
It is well-suited for evaluation, first-time EtherCAT development, and projects that need a compact, cost-effective controller. It supports the full 86Duino IDE and can connect to QEC SubDevices and most third-party EtherCAT SubDevices.
Q: Can QEC MDevices run HMI applications?
Yes.
- Panel PC models include integrated touchscreen displays and are designed for combined HMI + machine control deployment.
- Open-frame and compact models can also output HMI content to an external display.
- The 86HMI Editor (built on LVGL) is the included tool for designing HMI interfaces.
- Support LVGL 7.11 and LVGL 9.3 version.
Q: Can I use third-party EtherCAT SubDevices with a QEC MDevice?
Yes. QEC MDevices can control third-party EtherCAT-compliant SubDevices from vendors such as Beckhoff, OMRON, SANYO DENKI, OrientalMotor, and NPM. Third-party devices appear as “Unsupported” in 86EVA’s graphical interface but can still be configured using their ESI files and the EtherCAT Library API.
→ See available third-party start guides in the Resources section
Q: How many SubDevices can one QEC MDevice control?
The number of SubDevices depends on the specific MDevice model, the EtherCAT cycle time configured, and the data volume per cycle. Contact the QEC team for guidance on sizing your system for a specific application.
4. QEC SubDevice (QEC-R Series)
Q: What types of SubDevices are available in the QEC-R series?
The QEC-R series includes the following SubDevice categories:
- Digital I/O Modules — digital input and output channels
- Analog I/O Modules — analog signal acquisition and output
- Compound I/O Modules — combined digital and analog I/O on one module
- Gateway Modules — RS-232/RS-485 serial bridging, MPG handwheel, keypad, and LCM display interfaces
- Motor Drivers — EtherCAT-controlled stepper and motor driver modules
- Junction Modules — network topology connectors for line and star topologies
- Environment Monitor — temperature and humidity sensing modules
→ Browse all SubDevice models: qec.tw/product-category/qec-r/
Q: Can I use QEC SubDevices with a non-QEC EtherCAT master?
Yes. QEC SubDevices are standard EtherCAT SubDevices that follow the EtherCAT standard.
They can be used with any compatible EtherCAT master controller, not only QEC MDevices. An ESI (EtherCAT SubDevice Information) file is provided for each SubDevice to support configuration with third-party masters.
5. Software & Development Tools
Q: What development environment does QEC use?
QEC uses the 86Duino IDE, an open-source development environment based on the Arduino IDE (compatible with Arduino 1.8.9-style workflow). It supports C/C++ programming with both standard Arduino libraries and QEC-specific libraries for EtherCAT control, motion, HMI, communication, and more.
Q: Is the 86Duino IDE free to download?
Yes. The 86Duino IDE is free to download for Windows. Visit the Software page to download the latest version (IDE 501 as of March 2026).
Q: Does the 86Duino IDE support macOS or Linux?
The 86Duino IDE is primarily supported on Windows. The development environment itself runs on Windows, macOS, and Linux (as the base environment is Java-based), but the QEC board upload and serial communication toolchain is primarily validated on Windows. Check the release notes for current platform support status.
Q: Do I need to know C/C++ to program QEC?
Basic C/C++ knowledge (Arduino-level) is sufficient for most QEC projects. The platform provides several tools to reduce the programming barrier:
- 86EVA — graphical EtherCAT configurator that auto-generates the EtherCAT initialization code
- ArduBlock — Scratch-style visual block programming tool for users new to coding
- 86HMI Editor — drag-and-drop HMI design tool based on LVGL
- Rich library examples — pre-built examples for EtherCAT, Modbus, CAN, Ethernet, and more
Q: What is 86EVA and what does it do?
86EVA (EtherCAT-Based Virtual Arduino) is a graphical configuration tool built into the 86Duino IDE. It scans the connected EtherCAT network, detects all MDevices and SubDevices, allows you to configure cycle time, aliases, and I/O pin mappings, and then automatically generates the Arduino-style initialization code for your project. This eliminates the need to manually write EtherCAT network initialization code.
→ See the full 86EVA User Manual
Q: What is Virtual Arduino in the context of QEC?
Virtual Arduino is a concept in QEC where the entire EtherCAT network of SubDevices is abstracted as a single virtual Arduino board. The physical I/O pins from multiple SubDevices across the EtherCAT network are mapped to virtual pin numbers.
In your 86Duino code, you can then use familiar Arduino-style commands like EVA.digitalRead() and EVA.digitalWrite() to interact with distributed field devices as if they were local Arduino pins.
Q: What is 86HMI and which display frameworks does it support?
86HMI is an HMI editor integrated into the 86Duino IDE, built on the LVGL (Light and Versatile Graphics Library) framework. It allows engineers to design touchscreen interfaces using drag-and-drop widgets without writing LVGL code directly. The generated UI is deployed together with the machine control code onto the QEC MDevice.
→ See the 86HMI Editor documentation
Q: What is ArduBlock?
ArduBlock is a visual (Scratch-style) block programming tool integrated into the 86Duino IDE. It is designed for users who prefer a low-code or no-code approach to developing control logic. ArduBlock generates standard Arduino C/C++ code from the visual blocks, which is then compiled and uploaded to the QEC MDevice.
Q: Does QEC support MySQL and IIoT connectivity?
Yes. The 86Duino IDE includes a MySQL library, allowing QEC MDevices to connect directly to MySQL databases for data logging and big data applications. Combined with MQTT support, QEC systems can report machine data to cloud platforms, MES, or SCADA systems as part of an IIoT architecture.
6. Getting Started & Integration
Q: Where do I start if I am new to QEC?
The recommended starting path is:
- Step 1: Read the Overview page to understand the QEC platform and EtherCAT basics
- Step 2: Download the 86Duino IDE from the Software page
- Step 3: Follow the Getting Started guide to set up your first QEC MDevice
- Step 4: Use 86EVA to scan and configure your EtherCAT network
- Step 5: Refer to the Start Guides for specific SubDevice or third-party device combinations
→ Start here: Getting Started Guide
Q: Is there documentation for connecting QEC to third-party EtherCAT devices?
Yes. QEC provides Start Guides for validated third-party EtherCAT devices. Currently available guides include:
- QEC-M-01 × Beckhoff Digital I/O Modules
- QEC-M-01 × NPM PULSERVOII & EC-AD Series
- QEC-M-01 × OrientalMotor αSTEP AZ Series Mini Driver
- QEC-M-01 × SANYO DENKI SANMOTION G Series
- QEC-M-01 × QEC DI/DO Modules
- QEC-M-01 × QEC HID Modules (RS-232/485, Keypad, LCM, MPG)
→ Find all Start Guides in the Resources section
Q: Can I migrate from a WinCE-based system to QEC?
Yes. WinCE replacement is one of the supported migration paths for QEC. The QEC platform offers an open, maintainable alternative to legacy WinCE controllers, with modern communication support (EtherCAT, OPC UA, MQTT) and long-term software availability. Contact the QEC team to discuss your specific migration requirements.
Q: Does QEC support CiA 402 for servo drive control?
Yes. QEC supports the CiA 402 EtherCAT drive profile, which is the standard protocol for EtherCAT-controlled servo and stepper drives. The 86Duino IDE 501 includes a generic CiA 402 EtherCAT SubDevice class that can control any CiA 402-compliant drive.
→ See the EtherCAT CiA 402 documentation
7. Purchasing & Support
Q: Where can I buy QEC products?
QEC products are available through ICOP Technology’s online shop at icop-shop.com. For volume orders, OEM inquiries, or regional distributor information, please contact the QEC team directly.
Q: Can I request a technical review or PoC before purchasing?
Yes. The QEC team offers free technical reviews and can discuss Proof-of-Concept (PoC) support for your project. You can request a review by filling out the contact form on the QEC website or reaching out directly:
- Email: info@qec.tw
- Phone: +886-2-8990-1933
Q: Does QEC offer engineering support or integration services?
Yes. In addition to hardware and software products, QEC provides engineering services including technical application support (FAE), PoC design assistance, system architecture review, and integration guidance. These services are available for machine builders and system integrators working on QEC-based projects.
Q: How do I update my QEC MDevice to the latest firmware / 86Duino IDE version?
Download the latest 86Duino IDE from the Software page and follow the update instructions on the QEC MDevice Update Guide. The current release is IDE 501 (March 2026).
Q: Where can I find more documentation and technical resources?
All QEC documentation, API manuals, start guides, and tutorials are available on the Resources page. Key documents include:
- EtherCAT Library API User Manual
- EtherCAT CiA 402 API Reference
- 86EVA EtherCAT Configurator User Manual
- 86HMI Editor User Manual
- ArduBlock User Manual
- Hardware configuration guides for each QEC-M model
8. Troubleshooting & Common Operations
Q: My PC does not detect the QEC MDevice via USB. What should I do?
This is almost always a missing USB serial driver issue. The QEC MDevice uses the Prolific PL2303GC USB-to-serial chip. To verify and fix:
- Open Device Manager (Win + X → Device Manager) → expand Ports (COM & LPT)
- If you see a yellow warning icon or no ‘Prolific PL2303GC USB Serial COM Port’, the driver is missing
- Download and install the Windows PL2303 driver from the Software page, then reconnect the USB cable
- After installing, the port should appear as ‘Prolific PL2303GC USB Serial COM Port (COMx)’
Q: Windows shows a security warning when I launch 86Duino IDE. Is this normal?
Yes, this is expected behavior. The 86Duino IDE is distributed as a ZIP file that you extract and run directly — no installer is required. When Windows displays the SmartScreen warning, click ‘More info’ (or ‘Details’) and then ‘Run anyway’ to proceed. The software is safe; the warning appears because the executable is not code-signed with a Windows certificate.
Q: I cannot upload code to my QEC MDevice. What are the most common causes?
If code upload fails, work through these checks in order:
- Verify the COM port: Tools → Port → confirm the Prolific PL2303 port is selected (not a different device)
- Verify the board: Tools → Board → select the correct QEC-M model (e.g., QEC-M-01)
- Check that the QEC MDevice is powered on and the USB cable is connected
- If the correct port is selected but upload still fails, the QEC MDevice firmware may be outdated — proceed with the Bootloader update described below
→ Full update instructions: QEC MDevice Update Guide
Q: How do I update the QEC MDevice Bootloader, EtherCAT firmware, and EtherCAT tools?
This is the recommended fix when code uploads fail or the EtherCAT environment appears abnormal in 86EVA. The update covers three components: Bootloader, EtherCAT Firmware, and EtherCAT Tools — all done in one step:
- Step 1 — Download and install the latest 86Duino IDE (IDE 501) from the Software page
- Step 2 — Connect the QEC MDevice to your PC via USB cable and power it on
- Step 3 — Open 86Duino IDE → Tools → Board → select your QEC-M model
- Step 4 — Tools → Port → select the correct COM port
- Step 5 — Tools → Burn Bootloader → click the QEC-M model name that appears
- Step 6 — Wait approximately 5–20 minutes for the update to complete
Q: 86EVA cannot find or connect to my QEC MDevice. What should I check?
If 86EVA shows no device or fails to connect after clicking ‘Connect’:
- Confirm the correct COM port is selected in the 86EVA dropdown (it should show the Prolific PL2303 port)
- If you have multiple QEC MDevices connected, manually select the correct COM port from the dropdown next to ‘Select’
- Check that the QEC MDevice is powered on and the EtherCAT network cable is connected
- If the environment appears abnormal (error flags visible in 86EVA), run a Bootloader update via Tools → Burn Bootloader in the IDE
Q: 86EVA scanned my network but shows third-party devices as 'Unsupported'. Is this a problem?
No — this is expected behavior. 86EVA displays the graphical product image and named settings only for QEC-R series SubDevices. Third-party EtherCAT SubDevices (e.g., Beckhoff, OMRON, servo drives) appear as ‘Unsupported’ with an unknown device icon. They are still detected and can be configured by importing their ESI file or programming directly using the EtherCAT Library API. Check the Start Guides for validated third-party device combinations.
Q: I uploaded code but the EtherCAT network is not starting. What should I check?
If the program uploads successfully but EtherCAT communication does not start:
- First at all, please type
Serial.begin(115200);beforeEVA.begin()insetup(). Then you can open Serial Monitor via 86Duino IDE, it’ll print out Error Message if there is an error. - Confirm the EtherCAT cable is connected from the MDevice’s EtherCAT OUT port to the first SubDevice’s EtherCAT IN port
- Check that all SubDevices are powered (verify Vs and Vp power supplies are connected correctly)
- Re-open 86EVA and scan the network — check whether the expected devices appear and their status LEDs show normal operation
- If you changed the cycle time or device configuration in 86EVA after uploading code, you must re-upload the code for the new configuration to take effect
- Confirm that 86EVA’s Code Generation was run after any configuration changes, and that the generated code was uploaded
Q: What do the LED indicators on QEC SubDevices mean?
QEC SubDevices have status LEDs for power, EtherCAT communication, and I/O channel states. As a general guide:
- Run LED (green, steady) — EtherCAT communication is active and in operational state
- Error LED (red) — EtherCAT error condition; check cable connections and master configuration
- Power LEDs — indicate Vs (system power) and Vp (peripheral power) voltage status; a steady LED means voltage is within range
- I/O LEDs — indicate the high/low state of individual digital input and output channels
For the specific LED behavior of each SubDevice model, refer to that product’s User Manual or hardware guide.
Q: What is the difference between PoE and non-PoE QEC devices, and can I mix them?
PoE (Power over Ethernet) QEC devices receive their operating power through the EtherCAT RJ45 cable, eliminating the need for a separate power connector. QEC uses red RJ45 housings for PoE ports and black housings for non-PoE ports. You can mix PoE and non-PoE devices in the same network, but with an important precaution:
- When connecting a PoE-capable QEC MDevice to a non-PoE device (or a third-party EtherCAT slave without PoE support), disconnect pins 4, 5, 7, and 8 of the Ethernet cable to prevent PoE power from reaching the non-PoE device
- QEC’s PoE power supply provides up to 24 V / 3 A
- QEC’s PoE implementation is not compatible with EtherCAT P — they are separate standards
Q: How do I check the real-time performance or benchmark of my QEC EtherCAT setup?
QEC provides an EtherCAT MDevice Benchmark page with measured performance data across different cycle times and SubDevice counts. The 86Duino IDE EtherCAT stack typically consumes only 10–20% of available CPU time, leaving the remaining capacity for user application logic. For high-precision applications, the minimum cycle time of 125 µs delivers sub-1 µs jitter.
Q: Where can I find the Release Notes for the 86Duino IDE?
Release Notes for each 86Duino IDE version — including new features, bug fixes, and compatibility notes — are published on the Release Note page. Key changes in IDE 500 include Arduino IDE upgrade to 1.8.19, resource file upload/download, one-click firmware update, and three new shortcut buttons for 86HMI, 86EVA, and ArduBlock. IDE 501 adds broader third-party EtherCAT SubDevice support and the generic CiA 402 device class.
FINAL CALL TO ACTION
Can’t find what you’re looking for? Reach out to the QEC team at info@qec.tw or visit qec.tw/contact/
We’re happy to help with technical questions, product selection, and integration planning.