Arduino Opta (micro PLC, STM32H747)

ArduinoMCU 8-32 bitarduino

⚡ The essentials in 60 seconds

The Arduino Opta represents a significant shift in the landscape of industrial automation, bridging the gap between the accessible, open-source world of maker electronics and the rigorous demands of professional control systems. Released in January 2023, this device is not merely a microcontroller board but a certified micro Programmable Logic Controller (PLC). It was co-designed by Arduino and Finder, an Italian manufacturer renowned for its relays and industrial automation components, ensuring that the hardware meets the durability and safety standards required for factory floors and control cabinets. The Opta is currently available in three distinct variants, all sharing the same robust base module but differing in their communication capabilities. The Opta Lite serves as the entry-level model, while the Opta RS485 adds half-duplex serial communication for connecting to industrial networks. The top-tier Opta WiFi variant includes both RS-485 and wireless connectivity via 802.11 b/g/n Wi-Fi and Bluetooth Low Energy, offering greater flexibility for remote monitoring and integration into Internet of Things ecosystems. Despite some third-party catalogues occasionally referring to confusing naming conventions like "Opta Line" or claiming an IP40 rating, official documentation confirms that all variants feature a plastic DIN-rail enclosure rated IP20, designed for installation inside protected electrical cabinets rather than direct exposure to dust and water.

At the heart of the Opta lies the STMicroelectronics STM32H747XI, a powerful dual-core microcontroller that provides the computational muscle necessary for real-time control tasks. This chip features an Arm Cortex-M7 core running at up to 480 MHz and a secondary Cortex-M4 core at up to 240 MHz. In practical terms, this dual-core architecture allows the device to handle complex logic and communication tasks on the main core while potentially offloading background processes or specific real-time constraints to the secondary core. The system is equipped with 2 MB of internal flash memory and 1 MB of RAM, supplemented by an additional 16 MB of external QSPI flash. This extra storage is particularly useful for data logging, allowing the controller to record sensor readings or operational states directly onto the device or a connected USB drive without needing an external computer. Security is also a priority, with an ATECC608B crypto co-processor integrated to handle secure boot processes and store cryptographic keys, ensuring that firmware updates and communications remain protected against tampering.

The input and output interfaces are designed specifically for the industrial 24-volt environment, eliminating the need for signal conditioning boards that are often required when using standard 5-volt microcontrollers. The Opta features eight multi-function inputs that can accept digital signals ranging from 0 to 24 volts DC. These inputs are robust, offering protection against overvoltage and reverse polarity, which are common issues in industrial wiring. When configured in analog mode, these same inputs can read 0 to 10-volt signals with a user-configurable resolution of up to 16 bits, providing high precision for sensor data such as temperature or pressure readings. On the output side, the board includes four relay outputs. Relays are electromechanical switches that allow a low-voltage control circuit to switch a high-voltage, high-current load. The Opta’s relays are Normally Open SPST (Single Pole Single Throw) contacts rated for 10 amperes at 250 volts AC. This means they can directly control motors, lights, or valves without the need for additional contactors, provided the load is within the specified limits. It is crucial to note that these relays do not have internal short-circuit protection, so external fuses are mandatory in any installation to prevent damage to the device or the wiring.

Connectivity options are extensive, reflecting the device’s role as a gateway between physical machinery and digital networks. All variants include a 10/100BASE-T Ethernet port, which supports standard industrial protocols like Modbus TCP. The RS-485 variants support Modbus RTU, a widely used serial communication protocol in industrial settings. For users needing wireless capabilities, the WiFi variant provides 2.4 GHz Wi-Fi and Bluetooth LE, although it is worth noting that while the hardware supports Bluetooth 5.1, current firmware limitations restrict it to version 4.2. The board also features a USB-C port, but it is important to understand its limitations: USB-C is intended solely for programming the device and data logging. It cannot power the relay outputs or the industrial I/O circuits, which must be supplied by a separate 12 to 24-volt DC power source connected to the screw terminals. This separation ensures that the control logic remains stable even if the programming interface is disconnected.

Programming the Opta offers flexibility for developers of different backgrounds. It supports the standard Arduino programming environment, allowing users to write sketches in C++ using familiar libraries for Ethernet, Modbus, and Wi-Fi. For those more comfortable with traditional industrial automation, the device is fully compatible with the Arduino PLC IDE, which supports the five IEC 61131-3 programming languages, including Ladder Diagram and Structured Text. This dual-programming capability makes the Opta unique, as it allows engineers to leverage the vast Arduino community and open-source libraries while still adhering to industry-standard control logic practices. Additionally, the device supports snap-on expansion modules that can add more digital or analog inputs and outputs, allowing the system to scale as needed. These modules are auto-detected, simplifying the configuration process.

Despite its robust design, there are some considerations for users. The operating temperature range is limited to -20 to +50 degrees Celsius, which is standard for indoor control cabinets but may require derating in hotter environments. The relay contacts have a mechanical life of 10 million operations, but their electrical life is significantly shorter at maximum load, rated for 10,000 cycles at 10 amperes. This means that for applications involving frequent switching of high-current loads, users should consider external contactors to extend the system's lifespan. Furthermore, while the STM32H747 chip supports CAN bus communication, the Opta board does not expose CAN transceivers or terminals, so fieldbus communication is primarily handled via Ethernet and RS-485. The transition from the older Mbed OS core to the newer Zephyr-based core is also underway, offering improved performance and features, though users should be aware of potential migration challenges as this ecosystem matures. Overall, the Arduino Opta stands as a versatile, secure, and powerful tool for modernizing industrial control systems, combining the ease of use of Arduino with the reliability required for professional automation tasks.

Forum (1 topic) →

AttrSpecsverified
mcuST STM32H747XI (board definition says STM32H747XIH6, Zephyr board doc) — dual core: Arm Cortex-M7 @ up to 480 MHz + Cortex-M4 @ up to 240 MHz, 2 MB flash (read-while-write), 1 MB RAM. ST device pages: STM32H747XI product, datasheet PDF, reference manual RM0399.✔
storage2 MB internal flash + 16 MB QSPI flash (shared between firmware use and data logging).? unverified
securityATECC608B crypto co-processor (16 protected key/cert slots, secure boot support, unique 72-bit serial).? unverified
i_o_screw_terminals_industrial_24_v_world- 8 multi-function inputs I1…I8 (mapped A0…A7 / PIN_A0…): - Digital mode: 0–24 VDC, VIL ≤ 4.46 V, VIH ≥ 6.6 V, input impedance 8.9 kΩ, 1.12 mA @ 10 V, max frequency 4.5 kHz; overvoltage + reverse-polarity protected. - Analog mode: 0–10 VDC, 12–16-bit user-configurable resolution, LSB 166 µV, accuracy ±5 % (repeatability ±2 %), 10 µs acquisition cycle. - 4 relay outputs OUTPUT1…4 (mapped D0…D3 / RELAY1…RELAY4), Normally-Open SPST, 10 A / 250 VAC (max 400 VAC), 15 A peak (≤10 % duty, ≤0.5 s), rated load AC1 2500 VA / AC15 500 VA, DC1 breaking capacity 10/4/0.3/0.12 A at 24/30/110/220 V, minimum switching load 300 mW (5 V/5 mA), operate/release 6/4 ms, bounce 3 ms NO; mechanical life 10 M operations, electrical life 10 k operations at 10 A resistive. No internal short-circuit protection — external fuse required. Max unshielded output line 100 m. - 4 user LEDs (+1 extra on WiFi), user programmable button, pinhole reset.? unverified
connectivity10/100BASE-T Ethernet (all variants, RMII PHY, IEEE 802.3/802.3u, MDIX); RS-485 half-duplex (RS485 & WiFi); Wi-Fi 2.4 GHz 802.11 b/g/n + Bluetooth LE on WiFi (BLE 5.1 in hardware, 4.2 in current firmware); USB-C (host or device, programming/data logging only — cannot power the relay outputs); proprietary expansion port (up to 5 snap-on modules).? unverified
power12–24 VDC supply (permissible 10.2–27.6 V), consumption 0.6–2.0 W @12 V / 0.6–2.2 W @24 V. Terminals: 0.5–6 mm² wire, 0.80 Nm torque. Functional-earth terminal provided for fieldbus noise immunity.? unverified
environment_reliability−20…+50 °C, IP20, pollution degree 2 (IEC 61010), MTBF 766 205 h (MIL-HDBK-217F @25 °C). RTC keeps time ~10 days without power (NTP sync via Ethernet, or Wi-Fi on AFX00002).? unverified
certificationscULus, ENEC, FCC, CE, CB, UKCA.? unverified
can_notethe STM32H747 silicon integrates FDCAN controllers (listed in the Zephyr board feature table), but no CAN/CAN FD transceiver or terminals are documented on the Opta board. > ? unverified
  • Manufacturer: Arduino (Arduino "Pro" / industrial line), co-designed in partnership with Finder®, the Italian relay and industrial-automation manufacturer (arduino.cc/pro/hardware-arduino-opta).
  • Year / status: released 2023-01-09 (releaseDate: 2023-01-09 in the official docs metadata, docs-content product.md); still active and sold on the official store as of 2026-10-13.
  • Official variants (current, per the collective datasheet AFX00001-AFX00002-AFX00003): | Variant | SKU | RS-485 | Wi-Fi / BLE | Store price (EUR, 2026-10-13) | |---|---|---|---|---| | Opta Lite | AFX00003 | — | — | 156.00 | | Opta RS485 | AFX00001 | half-duplex | — | 171.00 | | Opta WiFi | AFX00002 | half-duplex | 802.11 b/g/n 2.4 GHz + BLE | 206.00 | Prices read from the official store search API (store.arduino.cc/products/opta-lite, opta-rs485, opta-wifi).
  • Launch price: >
  • ⚠️ About the "Opta Line / Opta Plastic" naming in boards.json: > e arduino/docs-content repository tree. The datasheet explicitly rates the housing as IP20 (plastic DIN-rail enclosure), not IP40 metal. The real product distinction is the three connectivity variants (Lite / RS485 / WiFi), all sharing the same relay-equipped base module. Upstream Zephyr board docs additionally mention an "Opta Advanced" name for the model with the extra user-button LED (Zephyr board doc), which is most likely the WiFi variant. Treat "Line vs Plastic" as a misattribution.

+ Strengths

  • Only Arduino board that is a certified micro PLC: Finder-designed power stage, 4×10 A relays, cULus/ENEC/CB certifications, DIN-rail mounting — Arduino sketch and IEC 61131-3 on the same device (store page).
  • Industrial 24 V I/O: inputs accept 0–24 V directly (no signal conditioning boards); analog 0–10 V with up to 16-bit oversampled reading.
  • Fieldbus out of the box: Modbus TCP (Ethernet) and Modbus RTU (RS-485), plus an official OPC UA server example (user manual, OPC UA section).
  • Hardware root of trust: ATECC608B secure element, X.509 certificate compliance, secure OTA updates, regular cybersecurity assessments (store/product page).
  • Snap-on expansion modules (up to 5, auto-detected on the proprietary expansion port): Ext D1608E (16 in / 8×6 A relays, €146), Ext D1608S (€156), Ext A0602 (6 analog in / 2 out / 4 PWM, €237) — store search 2026-10-13.
  • Dual-core split: M7 runs the PLC/sketch, M4 available as Zephyr coprocessor (Zephyr board doc).
  • USB stick data logging / program update via the USB-C host mode; RTC with ~10-day retention; functional-earth terminal for stable fieldbus comms.

− Weaknesses

  • Interrupt conflict I1/I4: "interrupts in terminals I1 (A0) and I4 (A3) cannot be used simultaneously" — at most 7 of 8 inputs can carry interrupts (user manual, Interrupts).
  • No RS-485 termination resistors: "Arduino Opta does not have internal terminator resistors", they must be added externally per the Modbus spec (collective datasheet, Modbus RTU section). Also A/B polarity may need swapping if comms are flaky.
  • USB-C is not a supply for the PLC: it powers only the processor for programming/data logging; relays and I/O need the 12–24 VDC terminal supply (datasheet, USB-C section).
  • Relay wear at rated current: electrical durability is only 10 k cycles at 10 A resistive (10 M mechanical) — inductive loads (AC15 500 VA) and missing external fuses are the classic failure traps (datasheet, Relay Outputs).
  • BLE firmware lag: hardware supports BLE 5.1, firmware only 4.2 (datasheet, Communication table). Wi-Fi is 2.4 GHz only.
  • Core migration churn: the shipping core is still arduino:mbed_opta (product.md) while Arduino is migrating all mbed boards to ArduinoCore-zephyr; the Zephyr core has known rough edges documented in its README: llext "undefined symbol" load failures, out-of-memory on sketch load, sketches that don't start unless you watch the UART or use Debug mode + sketch command in the Zephyr shell (README, Troubleshooting).
  • Operating ceiling 50 °C — real control cabinets with relays at high load can exceed this; derate accordingly (datasheet, Ratings).
  • Naming confusion in third-party catalogues: as noted under Identity, "Opta Line / Opta Plastic" and "IP40" claims circulate but are not backed by Arduino's own docs (IP20, three connectivity variants).
  • Retour d'expérience expert expert — expert-arduino
    • Retour après quelques semaines sur l'Opta. La certification micro-PLC est reelle, ca change tout par rapport a un MKR classique. Les entrées 24V directes sont super pratiques, plus besoin de cartes conditionneuses. Par contre attention : le USB-C ne fait pas tourner les relais, il faut absolument l… — expert-arduino
    • Merci pour le retour. Je debute et je suis un peu perdu avec le noyau. Tu parles de la migration vers Zephyr ? Actuellement je suis sous arduino:mbed_opta et j'ai peur de casser mes scripts en mettant à jour. Est-ce que la doc officielle est claire sur la compatibilite future ? Et pour le BLE, j'ai… — hobb-iste-77
    • Pour le BLE, si tu fais du simple capteur/tempo, la difference 4.2/5.1 est souvent invisible, sauf si tu as besoin de longue portee spécifique. Le vrai piege c'est la duree de vie des relais : 10k cycles a 10A resistif. Si tu commutes des charges inductives (moteurs, vannes) sans protection externe… — maker-indus

Community feedback and projects

  • Getting Started with Modbus RTU

    Getting Started with Modbus RTU — (two Optas over RS-485, client + server sketches) — (unverified au 2026-10-13) — internal hosted on internal site, living status verified on 2026-10-13. Project documented in the opta-plc sheet (MCU 8-32 bit); role: deepen fa…

  • Modbus TCP on Opta with the PLC IDE

    Modbus TCP on Opta with the PLC IDE — .arduino.cc/tutorials/opta/opta-modbus-tcp-plc-ide (unverified au 2026-10-13) — reference hosted on docs, unverified status verified on 2026-10-13. Project documented in the opta-plc sheet (MCU 8-32 bit); role: deepen the…

  • Interrupt conflict I1/I4: "interrupts in terminals I1 (A0) and I4 (A3) cannot be used simultaneously" — at most 7 of 8 inputs can carry interrupts (user manual, Interrupts).
  • No RS-485 termination resistors: "Arduino Opta does not have internal terminator resistors", they must be added externally per the Modbus spec (collective datasheet, Modbus RTU section). Also A/B polarity may need swapping if comms are flaky.
  • USB-C is not a supply for the PLC: it powers only the processor for programming/data logging; relays and I/O need the 12–24 VDC terminal supply (datasheet, USB-C section).
  • Relay wear at rated current: electrical durability is only 10 k cycles at 10 A resistive (10 M mechanical) — inductive loads (AC15 500 VA) and missing external fuses are the classic failure traps (datasheet, Relay Outputs).
  • BLE firmware lag: hardware supports BLE 5.1, firmware only 4.2 (datasheet, Communication table). Wi-Fi is 2.4 GHz only.
  • Core migration churn: the shipping core is still arduino:mbed_opta (product.md) while Arduino is migrating all mbed boards to ArduinoCore-zephyr; the Zephyr core has known rough edges documented in its README: llext "undefined symbol" load failures, out-of-memory on sketch load, sketches that don't start unless you watch the UART or use Debug mode + sketch command in the Zephyr shell (README, Troubleshooting).
  • Operating ceiling 50 °C — real control cabinets with relays at high load can exceed this; derate accordingly (datasheet, Ratings).
  • Naming confusion in third-party catalogues: as noted under Identity, "Opta Line / Opta Plastic" and "IP40" claims circulate but are not backed by Arduino's own docs (IP20, three connectivity variants).

Code library — examples written for this board

  • relais_securise.ino Arduino

    Opta's two relay outputs drive in one line through PLCContainer: this sketch alternates them every 3 s, like an audible/visual alarm or a run/stop inverter. The relay is a dry contact, accepting 24 V…

  • entrees_numeriques.ino Arduino

    Opta inputs take industrial 24 V directly: this sketch watches IN1 to IN4, filters bounce at 30 ms and prints every state change to the serial port. A direct input-to-relay mapping completes the demo.

  • analogique_0_10v.ino Arduino

    Opta analog inputs read 0-10 V in millivolts. This sketch runs an 8-sample moving average to smooth noise, then scales a standard 4-20 mA sensor through a sense resistor, including open-loop fault de…

  • modbus_tcp_esclave.ino Arduino

    The Opta becomes a Modbus/TCP slave reachable from any SCADA (Node-RED, commercial PLCs). The sketch answers functions 1, 3 and 5 with the relays as coils, MBAP frame hand-built, zero external librar…

  • modbus_rtu_maitre.ino Arduino

    Opta's RS485 port polls energy meters, probes or drives over Modbus RTU. The FC3 master frame and CRC16 are hand-built: no dependency beyond ArduinoRS485, which handles the DE/RE direction line of th…

  • mqtt_telemetrie.ino Arduino

    The Opta publishes JSON measurements to an MQTT broker every 5 s: the natural link between the control cabinet and a home/industrial dashboard (Node-RED, Home Assistant, Grafana). Auto-reconnect incl…

  • web_relais.ino Arduino

    A web page served by the Opta itself: relay states and analog input displayed, control buttons as plain HTTP links. Remote machine troubleshooting without opening the cabinet, with zero software depe…

  • arret_urgence.ino Arduino

    Machine safety basics: a normally-closed contact on IN1 cuts the relays the moment the loop opens, the fault latches, and nothing restarts without a manual reset on IN2. The guard loop is supervised …

  • cycle_machine.ino Arduino

    The state-machine PLC pattern in Arduino: run → timer → pause → end cycle with no blocking delay and priority stop. Transposable to any industrial sequence (dosing, conveyor, press) by changing the t…

  • sortie_analogique.ino Arduino

    The Opta analog output delivers 0-10 V in millivolts: this sketch generates a full triangular ramp, ideal to test a speed drive or proportional valve. The ramp is clamped and writes go through the of…

Examples and repos found online