GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • otfabric
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles

This view

  • Original page
  • New address

GeezerVison is showing github.com — OT Fabric

README.md

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 sunspecctl

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-iec61850 go-iec61850 Public

    Pure Go IEC 61850 library for MMS client/server, GOOSE and Sampled Values (SV) pub/sub. SCL parsing, reports, IED controls and raw Ethernet.

    Go 6 3

  2. 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 5

  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 4 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 3 2

  5. go-mms go-mms Public

    Pure Go MMS (ISO 9506) client/server library over RFC 1006. BER, ACSE, variable read/write, reports, files and journals for IEC 61850.

    Go 2 2

  6. go-openadr 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.

    Go 2

Repositories

Loading
Type
Language
Sort
Showing 10 of 73 repositories
  • go-iec60870-5 Public

    Pure Go IEC 60870-5 telecontrol protocols: IEC 101, 103 and 104 client and server, FT 1.2, IEC 60870-5-2 link layer, IEC 62351-5 security

    otfabric/go-iec60870-5's past year of commit activity
    Go 0 MIT 0 0 0 Updated Nov 12, 2026
  • install Public

    One-line installers for the OT Fabric protocol CLIs: curl -fsSL https://get.otfabric.io/<tool> | sh

    otfabric/install's past year of commit activity
    Shell 0 MIT 0 0 0 Updated Nov 12, 2026
  • iec60870ctl Public

    IEC 60870-5-101, -102, -103 and -104 CLIs (iec101ctl, iec102ctl, iec103ctl, iec104ctl) for SCADA, RTU, meter and protection-relay testing. Built in Go on otfabric/go-iec60870-5.

    otfabric/iec60870ctl's past year of commit activity
    Go 0 MIT 0 0 0 Updated Nov 12, 2026
  • go-mms Public

    Pure Go MMS (ISO 9506) client/server library over RFC 1006. BER, ACSE, variable read/write, reports, files and journals for IEC 61850.

    otfabric/go-mms's past year of commit activity
    Go 2 MIT 2 0 0 Updated Nov 12, 2026
  • go-iec61850 Public

    Pure Go IEC 61850 library for MMS client/server, GOOSE and Sampled Values (SV) pub/sub. SCL parsing, reports, IED controls and raw Ethernet.

    otfabric/go-iec61850's past year of commit activity
    Go 6 MIT 3 0 0 Updated Nov 12, 2026
  • iec61850-interop Public

    Docker-based IEC 61850 interoperability testbed for MMS, GOOSE and Sampled Values (SV), with 4 independent stacks, SCL fixtures and automated tests.

    Uh oh!

    There was an error while loading. Please reload this page.

    otfabric/iec61850-interop's past year of commit activity
    Go 1 MIT 0 7 0 Updated Nov 12, 2026
  • go-dnp3 Public

    Pure Go DNP3 (IEEE 1815) master/outstation library for SCADA. TCP/TLS/UDP/serial, controls, events, file transfer and Secure Authentication v5.

    otfabric/go-dnp3's past year of commit activity
    Go 1 MIT 1 0 0 Updated Nov 12, 2026
  • iec61850-explorer Public

    IEC 61850 / MMS explorer: discover, browse and read IEDs with decoded quality and protocol diagnostics, in a desktop GUI or a remote browser. Observe mode enforced in the MMS client.

    Uh oh!

    There was an error while loading. Please reload this page.

    otfabric/iec61850-explorer's past year of commit activity
    Go 1 MIT 0 0 0 Updated Nov 12, 2026
  • iec61850ctl Public

    Pure Go IEC 61850 CLI for MMS, GOOSE and Sampled Values (SV). Discover IEDs, browse/control data, monitor reports, sniff/publish frames and parse SCL.

    Uh oh!

    There was an error while loading. Please reload this page.

    otfabric/iec61850ctl's past year of commit activity
    Go 1 MIT 0 0 0 Updated Nov 12, 2026
  • go-mms-trace Public

    Pure Go IEC 61850 PCAP analysis library and CLI. Decode MMS associations and paired services, InformationReports, GOOSE and Sampled Values from pcap and pcapng captures.

    otfabric/go-mms-trace's past year of commit activity
    Go 0 MIT 0 0 0 Updated Nov 12, 2026
View all repositories

People

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

Top languages

Loading…

Uh oh!

There was an error while loading. Please reload this page.

Most used topics

golang industrial-automation protocol-testing scada interoperability-testing
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.