AGSweeney

Adam G. Sweeney · Open Source Industrial Automation

Firmware for the factory floor.

Open-source protocol stacks, gateways, and runtimes for NetBurner ColdFire and ARM modules — MQTT 5.0 brokering, direct SQL Server access, EtherNet/IP bridging, and an IEC 61131-3 soft-PLC runtime. Built to run unattended, in the panel.

6 projects 7 NetBurner modules 7 protocols implemented MIT / BSD licensed
PlatformsSOMRT1061 · MODRT1171 · NANO54415 · MODM7AE70 · MOD5441X LanguageC++17 LicenseMIT

Messaging · Native firmware

A full MQTT 5.0 broker. On the module itself.

No PC in the panel, no cloud dependency, no external broker box. The complete MQTT 5.0 specification — sessions, wills, QoS 0–2, retained messages, wildcard subscriptions — running as a portable single-threaded C++17 core driven by a dedicated NetBurner task. Sparkplug B ready, with plain TCP and TLS listeners and a web admin dashboard.

Capacity32 TCP clients, 2 TLS slots, 128 KB payload pool on reference platforms
SecurityMQTTS on 8883, SHA-256 auth, 16 users in flash
TestedHost-based unit tests, CMake/CTest, platform-tuned capacity profiles
Explore the broker → github / NetBurner_MQTT_Broker
PlatformsNANO54415 · MOD54415 · SOMRT1061 · MODRT1171 · MODM7AE70 ProtocolMS-TDS · TCP 1433 LicenseMIT

Database connectivity · Header-only library

SQL Server, straight from firmware.

Production data usually reaches SQL Server through a Windows middlebox running ODBC. This library removes the hop: a header-only TDS client speaking the wire protocol directly — no ODBC, no Windows dependencies, no large stacks — with byte order handled automatically across big-endian ColdFire and little-endian ARM. The reference firmware ships a full SQL browser in the device web UI.

IntegrationDrop-in headers over a NetBurner TCP adapter; TDS core vendored from tdslite v0.8.0
Web SQL browserQuery execution, CSV export, guided insert/update with staged confirmation
OperationsFlash-persisted connection config, HTTP console — no serial cable needed
Explore the client → github / NetBurner_MSSQL_Client
PlatformsMOD54417 (dual Ethernet) · MOD54415 ProtocolsEtherNet/IP (CIP) · REA-PLC TCP · REA-PI XML LicenseMIT

Industrial gateway · Allen-Bradley × REA JET

PLC on one port. Inkjet printer on the other.

A drop-in appliance that lets Micro800 PLCs drive REA JET industrial printers — replacing pages of fragile PLC messaging code with a browser-configured gateway. It polls EtherNet/IP tags, fires print sequences on rising edges, and automates full job changes: stop, assign, set content, restart. On the dual-port MOD54417, the PLC and printer networks can live on independent subnets.

ScaleUp to 64 print mappings, 10–5000 ms polling, flash-persisted
DiscoveryUDP EtherNet/IP scan, live tag browsing, UDT expansion, CSV import
Status mirroringOptional REA-PI XML sessions for encoder speed and job state
Explore the gateway → github / Micro800_ReaJet_Gateway
PlatformsMODM7AE70 · SOMRT1061 · MODRT1171 · MCF5441X family CompatibilityRSLinx · Micro800 · Logix modes LicenseOpENer SDL (BSD-style)

Fieldbus stack · OpENer packaged for NNDK

An EtherNet/IP adapter in every module.

OpENer4NetBurner packages the proven open-source OpENer stack as a ready-to-build NNDK library, turning NetBurner modules into EtherNet/IP adapter devices that PLCs exchange I/O assembly data with and tools like RSLinx can browse. CIP with EtherNet/IP encapsulation, Class 1 implicit I/O, and Class 3 explicit messaging — the sample app echoes output assembly 150 into input assembly 100 for out-of-the-box verification.

ProtocolCIP + EtherNet/IP encapsulation · Class 1 implicit I/O · Class 3 explicit messaging
Extended tierOptional LLDP and Address Conflict Detection; Micro800 / Logix compatibility modes
BuildStatic OpENer library built automatically on first compile — NBEclipse or SetEnv.bat + make
Explore the stack → github / OpENer4NetBurner
PlatformsNetBurner MOD54415 · Linux · bare-metal · generic HAL StandardIEC 61131-3 · PLCopen motion LicenseBSD-3-Clause

Soft-PLC runtime · Multi-platform

Ladder logic, anywhere C runs.

MPLC lets controls engineers program embedded hardware in the languages they already know. Structured Text and Ladder Diagram compile on the host into a versioned binary package, executed by a fixed-memory stack-machine VM — deterministic, no heap at runtime. A hardware abstraction layer targets NetBurner (with dedicated MOD54415 guides), Linux, and bare metal.

LanguagesST and LD in full; IL, FBD, SFC experimental
TypesAll IEC elementary types — 8–64-bit integers, REAL/LREAL, TIME/DATE, STRING
MotionPLCopen-inspired runtime with native MC_* function blocks
Explore MPLC → github / MPLC
PortsNetBurner MOD54415LC · ClearCore · TI Sitara · STM32 · ESP32 StatusDraft v1.0 — wire contract stable LicenseMIT

Protocol design · Specification + reference stack

Ethernet, stripped to the metal.

LEAP is a vendor-neutral automation protocol that runs on raw Layer 2 — no IP stack at all. Controllers discover devices by MAC address, negotiate ownership, agree on an I/O profile, and exchange cyclic process data with watchdog-driven failsafe on communication loss. The NetBurner MOD54415LC port passes full device conformance testing.

ServicesMGMT · DISC · DIR · PD · DIAG — transport-agnostic C stacks for device and controller
ToolingWireshark dissector, scenario-driven conformance engine, CLI + Qt studio
Verified115+ unit tests across Linux and Windows; multi-peer hardening with session binding
Read the spec → github / LEAP_Protocol

The hardware bench.

NetBurner modules in service
SOMRT1061i.MX RT1061 · ARMRecommended for new designs — MQTT Broker, MSSQL Client, OpENer EtherNet/IP
MODRT1171i.MX RT1171 · ARMNewest i.MX RT module — MQTT Broker, MSSQL Client, OpENer EtherNet/IP
MOD54417ColdFire · dual EthernetREA JET Gateway, bridged or independent-subnet modes
MOD54415 / 54415LCColdFire 5441xGateway, MSSQL Client, MPLC, LEAP conformance target
NANO54415ColdFire · nano formLegacy reference platform, MQTT Broker default build target
MODM7AE70SAME70 · ARMConstrained-memory builds — MQTT Broker, MSSQL Client, OpENer EtherNet/IP
MOD5441XColdFire 5441xMQTT Broker, OpENer EtherNet/IP (MCF5441X family)