Industrial software, in pieces that fit.
Plants run on suites you buy whole and can't take apart, and every integrator ends up rewriting the same tag checks, protocol clients and reports. modularityIO builds those pieces once: tools to write the software, a cloud to run it, and training to prove people can operate it. Use one, or use them together.
Everything we build, and where each one stands.
Each product works alone. They share file formats and data, so adopting one never commits you to the rest.
Build
Write and test the control software.
Git hosting and a browser IDE for industrial projects
PLC logic, 3D plant twins, ISA-101 and full-colour HMIs, IIoT connectors and Expo mobile screens in one repo, simulated with F5 in a sandboxed vPLC.
io.codes on your desktop
An offline command-line tool that checks and installs toolchains, then builds PLC, firmware and other industrial targets.
Notebooks for controls teams
Reactive cells for PLC logic, simulation, HMIs, twins and historian data, and runbooks you can hand to training.
A workbench for HMI development
Tag-driven stories, visual regression tests and a check of what each runtime target supports.
Symbols and animation for HMIs
Declarative tag bindings for SVG, a SCADA and P&ID symbol library, and Symbol Studio for drawing your own.
Bytes: reusable industrial packages
Versioned logic, faceplates and WASM components, published and shared separately from the repos that use them.
Run
Host it, manage the fleet, reach the plant floor.
Your private industrial cloud
Each workspace gets its own VM running real containers: MQTT, Node-RED, n8n, InfluxDB, TimescaleDB, Postgres, Redis, MinIO, Grafana, Prometheus and Directus, linked together and deployed as whole stacks.
Fleet management for PLCs and gateways
Devices, deployments, telemetry and alerts in one place, with an install script for the edge agent.
The API and its documentation
One public API for the platform, with its docs hosted on io.codes Pages.
Legacy protocols at the edge
Legacy industrial software in a WASM sandbox, plus a gateway for Modbus RTU, ASCII and TCP, DF1, and MQTT.
Cameras as process instruments
Video monitoring that turns what a camera sees into readings, for places where a sensor struggles.
Train and hire
Show that people can run the plant.
Training on a plant you can operate
Build lessons around a 3D plant and live HMIs, with exam gates along the way and aptitude tests that other products can call.
Hiring on demonstrated skill
Candidates take io.training aptitude tests on simulated plant tasks, and employers see the results.
A site for people who make things
Articles and projects on hands-on manufacturing and automation.
Capture and analyse
Bring the real plant in, and make sense of its data.
Walk-around 3D capture
An Android app that records equipment on site and turns it into a 3D scene for use in a twin.
Parametric equipment and a twin format
Tanks, pumps, valves and exchangers generated from parameters, and the twin file format our tools share.
Analytics for refining and process plants
Physics-aware analytics that show their evidence. processml.io brings the same engine to the wider process industries.
From the PLC to the phone.
These are real screens from one demo project, the EV-1 evaporator unit. Values come from its Structured Text program running in the simulator, not from a plant, and the fleet devices are test devices.






The foundations will be open. The first release is on io.codes.
The industry has almost no shared tooling, so we plan to open the parts everyone rebuilds. The repositories go public on io.codes just before launch. Until then, this is the plan.
| Part | What it is | Licence |
|---|---|---|
| Standards tools | ISA-5.1 tag and ISA-18.2 alarm checks as a CLI and language server, plus a P&ID symbol generator. | Apache-2.0 |
| Data model | Series, per-sample quality, units and equipment states, so anyone can write connectors and analytics. | Apache-2.0 |
| Connectors | Read-only clients for OPC UA, MQTT with Sparkplug B, and more. | Apache-2.0 |
| Analytics platform | Process physics, statistics, batch and storage. | Proprietary |
Modular, and tested to stay that way
A test checks that open parts import only from open parts, so a tool meant for release can't quietly pick up a proprietary dependency.
Translations checked scan by scan
When Structured Text becomes ladder, the original and the round trip run side by side on the same inputs, and every output has to match on every scan.
Free to start, one subscription
Most of the tooling is free. Paid plans cover hosting and team features, on one subscription across the products.
Start with the piece you need.
Engineers and integrators
Open the IDE in your browser and load the EV-1 demo project from the start screen.
Open the IDETeams running a plant
See the hosting plans, from a free workspace to dedicated hardware.
See modularity.cloud