// the find
emqx/neuron
Open source industrial connectivity server
Neuron is an industrial protocol gateway written in C that translates Modbus, OPC UA, BACnet, IEC 60870-5-104, and a dozen other shop-floor protocols into MQTT. It runs at the edge — under 10 MB, ARM/x86/RISC-V — and is built by EMQ, the EMQX company. Target audience is anyone building IIoT pipelines who needs a single process to talk to PLCs and push data northbound.
The plugin architecture is genuinely well-thought-out: hot-pluggable shared libraries with a clean C adapter interface, so adding a new protocol doesn't require rebuilding the core. The footprint is real — SQLite for persistence, no runtime dependencies bloating the binary, which matters on constrained edge hardware. OpenTelemetry tracing is baked in (not bolted on), which is unusual for an IIoT daemon and makes production debugging tractable. The HTTP + MQTT dual management API is practical: you can automate provisioning via REST while devices report status over MQTT on the same broker.
The open-source dashboard is explicitly abandoned — the README says development is suspended at v2.6.3 and they're pushing you to the commercial NeuronEX product. If you need a UI for anything beyond basic setup, you're either building it yourself or buying the enterprise version. The most useful protocols (OPC UA, Siemens S7, Ethernet/IP) are gated behind NeuronEX, so the open-source build is essentially a Modbus-TCP gateway with a framework around it. Functional tests are Python scripts rather than a proper test harness, and coverage data suggests the test surface is thin relative to the number of protocol implementations. Persistence is SQLite, which is fine for config but means there's no built-in path to clustering or HA without the commercial stack.