Machine & Industrial Software
Software that talks to the equipment itself.
Most software companies stop at the office network. We work at the layer below it — reading registers off a PLC, driving a control loop, keeping a link to a machine alive across a shift. It is unforgiving work, because on a factory floor a dropped connection or a wrong value is not a bug report, it is downtime.
What we work with
- Modbus TCP and Modbus RTU — reading holding and input registers, converting raw register data into typed, meaningful metrics.
- Real-time control in C++ — direct low-level communication with hardware where responsiveness and reliability decide everything.
- Concurrent multi-device polling — each device independent, so one unresponsive unit does not stall the rest.
- Automatic reconnection and graceful shutdown — because industrial networks are not clean networks.
- Live monitoring — values streamed to a browser dashboard over WebSockets.
Systems we have built
A turbine control and communication system written in C++, handling real-time control and monitoring through direct low-level communication with turbine hardware — built for reliability and responsiveness in an industrial control setting. It ran about four months from first call to delivery.
A Modbus live dashboard shipped as a single static Go binary. It connects directly to Modbus TCP/RTU devices, reads holding and input registers, and converts raw data into typed metrics — temperature, pressure, counters, alarms. Every device polls independently in its own goroutine, with auto-reconnect and graceful shutdown. One binary, no runtime to install, which matters on machines you are not allowed to clutter.
Where it fits
Factory floors and production lines, solar inverters, HVAC plant, water treatment monitoring, and any equipment currently reporting into a display that only exists in one room. If the equipment speaks a documented protocol, it can usually be read; if it speaks something proprietary, tell us what it is and we will say honestly whether we can.
From the machine to the rest of the business
Getting values off equipment is the hard half. The useful half is what happens next — feeding them into live dashboards, into an ERP so production runs and stock reflect reality, or into maintenance scheduling before something fails. We build those systems too, so the data does not stop at a screen.