finds.dev← search

// the find

cmbahadir/opcua-esp32

★ 130 · C · MPL-2.0 · updated Sep 2023

Embedded OPC UA Server on ESP32 based on open62541 stack

OPC UA server running on an ESP32, built on the open62541 amalgamated stack via ESP-IDF. Exposes a minimal information model: two relays and a DHT22 temperature sensor over OPC UA. Aimed at industrial IoT hobbyists or engineers wanting to prototype factory-floor connectivity on cheap hardware.

1. Proves the concept actually works — open62541 on FreeRTOS/Xtensa is non-trivial, and the author did the painful porting work so you don't have to start from scratch. 2. Uses the amalgamated single-file open62541 build, which sidesteps the usual CMake nightmare of embedding a large C library into ESP-IDF. 3. GitHub Actions CI with a build script means you can verify the toolchain compiles before you touch real hardware. 4. Configuration through idf.py menuconfig is the right approach — no hardcoded credentials.

1. Frozen in 2023 against an unspecified ESP-IDF version; open62541 has moved significantly and the porting patches are described as 'trial and error' with no analysis — you will hit compatibility walls if you update either dependency. 2. No security whatsoever — no OPC UA security mode, no certificates, no authentication. The README explicitly warns against production use, but the code gives you no path toward securing it either. 3. Information model is hardwired for one specific Olimex board (GPIO 32/33 relays); adding nodes for different hardware means reading open62541 internals with no abstraction layer to guide you. 4. The open62541.c/.h amalgam is checked in as a binary blob at a fixed version — no mechanism to pull a newer upstream version, so you're stuck maintaining a fork of a ~2MB generated file.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →