NXP i.MX 94 is an octa-core Arm SoC with up to four Cortex-A55 application cores, two Arm Cortex-M33 real-time/functional safety cores, two Arm Cortex-M7 real-time/functional safety cores, and an NXP eIQ Neutron NPU designed for Edge AI industrial and automotive applications I initially thought it would be a cost-down version of the NXP i.MX 95, and while it shares many of the same features, itβs more an application-specific processor designed specifically for industrial and automotive applications, lacking a 3D GPU, camera input interfaces, a MIPI DSI display interface, and 10GbE networking, but increasing the number of real-time cores (at the cost of application cores) and adding several networking features such as an Ethernet time-sensitive networking (TSN) switch, 2.5GbE interface, an Ethercat controller, and support for industrial protocols like Profinet or OPC-UA FX. NXP i.MX 94 specifications: CPU Up to 4x Arm Cortex-A55 cores 2x Arm Corex-M7 cores, one for functional [...]
OPC Unified Architecture β OPC UA in short β is a cross-platform, open-source machine-to-machine communication protocol for industrial automation. It was developed by the Open Platform Communications (OPC) Foundation and is defined in detail in the IEC 62541 standard.
Step-by-step guide to setting up OPC UA on Arduino Opta
Itβs as simple as uploading a single sketch onto your Opta and connecting it to an Ethernet network. Once uploaded, the OPC UA firmware exposes the Arduino Optaβs analog and digital inputs, the user button and LED (only Arduino Opta WiFi), as well as its relay outputs as properties that can be read from or written to using OPC UA. OPC UA communication is performed using OPC UA binary encoding via TCP sockets.
Arduino_OPC_UA is a port of the Fraunhofer open62541 library implementing IEC 62541 in highly portable C99 for both Windows and Linux targets. One serious challenge during the porting of open62541 was to decide on sensible tradeoffs concerning RAM consumption, as using OPC UAs full namespace zero (NS0) requires up to 8 MB of RAM while the STM32H747 powering the Arduino Opta has a total of 1 MB of SRAM to offer β some of which already allocated by the the Arduino framework for the Arduino Opta.
Expand functionality with Arduino Opta Modules and OPC UA integration
Additionally, Arduino_OPC_UA supports the automatic discovery, configuration and exposure as OPC UA objects of the recently released Arduino Opta expansion modules. Currently three different expansion modules exist: Arduino Opta Analog Expansion (A0602), Arduino Opta Digital Expansion with electro-mechanical relay outputs (D1608E), and with solid-state relay outputs (DS1608S). During system start-up, the Arduino Optaβs expansion bus is queried for connected expansion modules and automatically configures them and brings them online for interfacing via OPC UA.
You can extend the default OPC UA server to add additional OPC UA properties such as data collected from a sensor device connected to the Arduino Opta. As a demonstration, weβve created an example showing how to collect temperature and humidity data from a Modbus RTU device (connected to the Optaβs RS485 port) and subsequently expose this data via OPC UA properties.
The Kumquat is an Allwinner V3s board designed for industrial automation, home automation, IoT projects, robotics, and embedded system development. The Allwinner V3s features ARM Cortex-A7 cores with 64MB DDR2 RAM and 8MB SPI flash storage. Connectivity options include Ethernet, USB-C, isolated CAN-FD, and WiFi/Bluetooth via an ESP32 module. Additionally, it has eight auto-detecting 12/24V IOs, four relays for controlling external devices, and a real-time clock with battery backup. The Kumquat runs on Buildroot Linux with a mainline kernel and can be programmed with various programming languages making it a great alternative to traditional PLCs. Kumquat board specification SoC β Allwinner V3sΒ CPU β ARM Cortex-A7 @ up to 1.2 GHz Memory β Integrated 64MB DDR2 DRAM clocked at 400MHz @ 1.5 V Video engine Storage 8MB SPI Flash for bootloader and user code I2C EEPROM for MAC addresses and user data SDIO Connector for eMMC or SD card Connectivity [...]