Platform

What the platform delivers

ForgeIEC is a complete platform for industrial automation — from programming to control system. Every component carries the name of a blacksmith’s tool and has a clearly defined remit. Components are standalone daemons or applications, jointly running over zero-copy IPC and gRPC.

ComponentRemitStatus
ForgeIEC StudioForgeIEC StudioIEC 61131-3 IDE + bus config + AI assistantproductive
anvildanvildPLC runtime + Anvil zero-copy IPC between subsystemsproductive
bellowsdbellowsdOPC-UA / HMI gatewayin progress
🔧tongs-*Fieldbus bridges (Modbus / EtherCAT / Profibus / EthernetIP)mixed
🖥️ScreenIndustrial kiosk browser (HMI panel)productive
🏠HearthIIoT subscriber / SCADA layerplanned
📒LedgerOrder management / MES integrationplanned

The components

🛠️ ForgeIEC Studio — the workbench

Betrifft: ForgeIEC Studio

Native C++/Qt6 IDE on the workstation. All five IEC languages (ST + IL + FBD + LD + SFC), bus configuration, live monitor, oscilloscope, AI assistant built in. Tree-sitter syntax, gRPC link to anvild, MCP server for LLM tooling.

Learn more

🔥 anvild — the runtime + Anvil IPC

Betrifft: anvild

Rust/Tokio daemon on the target PLC. Multi-task scheduler with pthread parallelism, deterministic scan cycles, gRPC listener for Studio, subprocess manager for the bus bridges. Stale-SHM auto- cleanup at startup.

Built in is Anvil — the zero-copy shared-memory layer between runtime, bridges and external subscribers. Based on iceoryx2 with ABI probe against type-hash drift. Wire protocol for status, I/O, diagnostics.

Learn more

🌬️ bellowsd — the bellows

Betrifft: bellowsd

OPC-UA server + Modbus TCP server for HMI integration. Exports pool variables with the bellows_export flag as OPC-UA nodes + Modbus coils. Gated individually per variable.

Learn more

🔧 tongs-* — the fieldbus tongs

Betrifft: tongs-* anvild

One daemon per protocol. Uniform fault model (OK/WARN/FAULT/OFFLINE/UNKNOWN), FDD-driven diagnostic bits, Anvil zero-copy IPC to the runtime. Modbus TCP productive, EtherCAT in progress, Profibus + EtherNet/IP planned.

Learn more

🖥️ Screen — the kiosk browser

Betrifft: Screen

CEF-based industrial kiosk browser (Chromium Embedded Framework

  • Rust + winit). Runs fullscreen on HMI panels, opens any web HMI (Bellows / Hearth / 3rd-party). Integrated Rocket web server for settings (network, WireGuard, time zone, 80+ languages), D-Bus backend for NetworkManager / timedated / localed.

Learn more

🏠 Hearth — the forge hearth

Betrifft: Hearth

IIoT subscriber + SCADA layer. Plans: subscribe to Anvil topics, time-series-DB integration (InfluxDB, TimescaleDB), Mosquitto MQTT bridge, alarm management, Grafana dashboards. Planned — architecture spec in preparation.

Learn more

📒 Ledger — the order book

Betrifft: Ledger

Order management + MES integration. Plans: production orders, piece-count tracking, traceability (material → batch → product), shift log, bridge to ERP systems. Planned — comes after Hearth.

Learn more


How the components fit together

flowchart LR
    Studio[ForgeIEC Studio
IDE + AI] Anvild[anvild
Runtime] Bridges["tongs-*
Fieldbus bridges"] Bellows[bellowsd
HMI Gateway] Screen[Screen
Kiosk browser] Hearth[Hearth
IIoT / SCADA] Ledger[Ledger
MES] Studio -.->|gRPC| Anvild Anvild -->|Anvil IPC| Bridges Anvild -->|Anvil IPC| Bellows Anvild -->|Anvil IPC| Hearth Bellows -->|OPC-UA / Modbus| Hearth Hearth -->|HTTP| Screen Hearth -.->|REST| Ledger

Studio lives on the workstation, everything else on the target systems. Workstations + target systems can be linked together via the team federation model — multiple workstations see their machines.


Open source + standing on predecessors

All components are AGPL-3.0. Source visible on GitHub + Forgejo. Build reproducible via Debian CPack + signed APT repository.

ForgeIEC stands on the shoulders of OpenPLC (Thiago Alves, since 2018) and keeps file compatibility with OpenPLC projects. Read the founding story for the full path from OpenPLC fork to standalone platform.


The tools of the forge. Open by default.

blacksmith@forgeiec.io