Skip to content
@otfabric

OT Fabric

Open-source OT protocol libraries and tools: OPC UA, Modbus, IEC 104, IEC 61850, BACnet, S7, SunSpec. Built by people and AI agents.

OT Fabric

Unified data for industrial operations.

Built by people and AI agents together, OT Fabric creates open-source protocol libraries and tools that break down OT data silos, so industrial data is easy to discover, access and use across systems, sites and teams.

Why

Industrial data is valuable, but it is locked inside PLCs, RTUs, meters, inverters and building controllers. Every device speaks its own protocol, documentation is often incomplete, and integrations are rebuilt from scratch for every site and vendor. Teams spend their time fighting connectivity instead of using the data.

At the same time, the opportunity has never been bigger. Interconnecting devices unlocks better operations in factories, buildings and infrastructure. Energy is one of the clearest examples: a sustainable, decentralized grid only works when solar inverters, batteries, meters and substations can exchange data reliably.

We think the foundation for industrial connectivity should be open, well tested and reusable, so that nobody has to solve the same protocol problem twice.

What we build

Protocol libraries. Pure Go clients and servers, built for production use:

Protocol Library CLI
OPC UA go-opcua opcuactl
Modbus TCP/RTU go-modbus modbusctl, modbus-simulator
IEC 60870-5-104 go-iec104 iec104ctl
IEC 61850 / MMS go-iec61850, go-mms iec61850ctl
BACnet/IP go-bacnet bacnetctl
Siemens S7 go-s7comm s7commctl
SunSpec go-sunspec included

Transport building blocks. go-cotp, go-tpkt and go-serial for ISO-on-TCP and RS-232/RS-485 links.

Discovery. go-otfp fingerprints OT protocols so you can see what is actually running on a network.

Interoperability testing. Dockerized and fixture-based suites run our implementations against other stacks: opcua-interop, modbus-interop, iec104-interop, bacnet-interop, mms-interop and snap7-interop.

How we build

OT Fabric is built by people and AI agents working together. We are heading toward a reality where LLMs write better code and deliver more secure software, and we build for that reality today. Engineers bring the domain knowledge of real OT systems, set direction and own every decision. Agents bring speed, breadth and tireless attention to detail. Each makes the other better.

Speed alone is not the goal. Industrial protocols leave no room for "mostly works," so everything we ship, whoever or whatever wrote it, is held to the same bar: public code, public tests and interoperability suites that check it against other implementations. Our repositories are written to be easy for agents to work in, and for people to review, so contributors can bring their own agents too.

Principles

  • Practical. Built for real OT networks: legacy devices, private networks and imperfect documentation.
  • Open, MIT first. Public code and public tests under the MIT license by default, so anyone can use, inspect and build on how a device is being talked to.
  • Modular. Use one library, one CLI or the whole stack.
  • Proven. If it ships, it interoperates. That is why every protocol gets a test suite.
  • Observable. Diagnostics and visibility are built in from the start.
  • People and agents. Built by engineers and AI agents together, and structured so both can understand, extend and test the code.

Where we're heading

The protocol layer is the foundation. From there, we're building toward:

  • Full coverage of all relevant OT protocols, so any industrial device can be reached with the same open, tested toolkit.
  • IT2OT gateways and data connectors that move OT data safely into the IT, cloud and analytics systems that need it.
  • OT MCP servers for agentic interaction, giving AI agents a structured, safe way to discover, read and work with industrial devices.

Who it's for

  • Energy and electricity startups moving the needle on sustainability: building the software that connects solar, storage, EV charging, grid and DER equipment in an increasingly connected world.
  • OT and automation engineers who commission, troubleshoot and maintain field devices.
  • System integrators who connect equipment from many vendors across many sites.
  • SCADA and edge builders who need dependable protocol stacks.
  • Data and software teams who need reliable access to industrial devices.

Get involved

Everything is MIT-licensed unless a repository says otherwise. Try a CLI, open an issue, or contribute a fix, written by you, your AI agent or both of you. If you work on industrial connectivity, we'd love to hear from you at otfabric.io.

Popular repositories Loading

  1. go-modbus go-modbus Public

    Modern Go (Golang) Modbus TCP/RTU client and server library. Supports TLS, typed register codecs, SunSpec discovery, connection pooling, retries, and industrial IoT.

    Go 1

  2. modbusctl modbusctl Public

    Modbus TCP CLI for device discovery, register scanning, fingerprinting, SunSpec identification, diagnostics, recording, replay and simulation.

    Go 1

  3. go-iec104 go-iec104 Public

    Pure Go IEC 60870-5-104 (IEC 104) client and server library for SCADA, RTUs and industrial automation. TLS, no CGO, interoperability tested.

    Go 1

  4. go-opcua go-opcua Public

    Pure Go OPC UA client and server library for SCADA and industrial automation. Secure connections, subscriptions, events, historical data and methods. No CGO.

    Go

  5. opcuactl opcuactl Public

    OPC UA command-line tool (CLI) for server discovery, browsing, read/write, subscriptions, events, history and diagnostics. Secure connections, standalone Go binary.

    Go

  6. go-otfp go-otfp Public

    Golang OT Protocol Fingerprinting Library

    C

Repositories

Showing 10 of 30 repositories
  • modbus-simulator Public

    A golang command line based modbus server simulator

    otfabric/modbus-simulator's past year of commit activity
    Go 0 MIT 0 0 0 Updated Oct 13, 2026
  • go-modbus Public

    Modern Go (Golang) Modbus TCP/RTU client and server library. Supports TLS, typed register codecs, SunSpec discovery, connection pooling, retries, and industrial IoT.

    otfabric/go-modbus's past year of commit activity
    Go 1 MIT 0 0 0 Updated Oct 13, 2026
  • sunspecctl Public

    Command line modbus sunspec client and server

    otfabric/sunspecctl's past year of commit activity
    0 0 0 0 Updated Oct 13, 2026
  • go-openadr Public

    Pure Go OpenADR 3.1 client and server library for demand response and energy management. VEN, Business Logic, embeddable VTN, OAuth2, MQTT, webhooks and REST/JSON.

    otfabric/go-openadr's past year of commit activity
    Go 0 MIT 0 0 0 Updated Oct 13, 2026
  • openadr-interop Public

    OpenADR 3.1 interoperability and conformance test suite with Dockerized OpenLEADR VTN, ElaadNL VEN/BL clients, deterministic fixtures and REST/MQTT testing.

    otfabric/openadr-interop's past year of commit activity
    Go 0 MIT 0 0 0 Updated Oct 13, 2026
  • website Public

    The website hosted at otfabric.io

    otfabric/website's past year of commit activity
    MDX 0 MIT 0 0 0 Updated Oct 13, 2026
  • .github Public
    otfabric/.github's past year of commit activity
    0 0 0 0 Updated Oct 12, 2026
  • opcuactl Public

    OPC UA command-line tool (CLI) for server discovery, browsing, read/write, subscriptions, events, history and diagnostics. Secure connections, standalone Go binary.

    otfabric/opcuactl's past year of commit activity
    Go 0 MIT 0 0 0 Updated Oct 12, 2026
  • go-opcua Public

    Pure Go OPC UA client and server library for SCADA and industrial automation. Secure connections, subscriptions, events, historical data and methods. No CGO.

    otfabric/go-opcua's past year of commit activity
    Go 0 MIT 0 0 0 Updated Oct 12, 2026
  • opcua-interop Public

    OPC UA interoperability test suite with Dockerized open62541 and Eclipse Milo clients and servers, deterministic fixtures, security testing and protocol validation.

    otfabric/opcua-interop's past year of commit activity
    C 0 MIT 0 0 5 Updated Oct 11, 2026

People

This organization has no public members. You must be a member to see who’s a part of this organization.