Göktürk GöçenEngineer · Cross-field
One hundred machines, one quiet screen
--:--:-- +03Izmir 38.42°N

RobodorSCADATerminal

2026 · IndustrialCase
About the project

Robodor builds industrial door controllers. I built the company's SCADA viewer: a desktop application that monitors up to ~100 controller cards, running entirely on the factory LAN with no cloud dependency. Operators get live card status, detail views for individual controllers, alarms, and a history with an audit trail. The system is read-only by design — it watches the equipment, it never commands it. I designed and built the whole thing alone, from the polling service to the interface, in 2026.

Robodor SCADA · Genel Bakış
Robodor SCADA — plant overview: a wall of controller cards with live status
Robodor SCADA · Kart Detayı
Robodor SCADA — live card detail with current, voltage, and temperature charts plus CSV recording
Robodor SCADA · Topoloji
Robodor SCADA — live bus topology of every controller card
TECHNICAL READOUTPRJ_02
Fleet size~100 controller cards
TransportModbus TCP · RS485
TopologySingle polling service → snapshot diff → WebSocket fan-out
PersistenceSQLite history + audit trail
Network postureLAN-only · read-only · no cloud dependency
The engineering

The architecture centers on a single polling service: one Node.js process owns all Modbus communication, over both TCP and RS485, and is the only thing that talks to the controller cards. On each cycle it compares new readings against the previous snapshot and pushes only the diffs over WebSocket to the UI — with up to ~100 cards, sending full state every cycle would be wasteful. History and the audit trail are written to SQLite. The interface is a Tauri desktop app in React and TypeScript: live card detail views, alarms, and deliberately operator-focused UI states. It is read-only monitoring and runs entirely on the factory LAN, with no cloud dependency anywhere in the stack.

Role
Design & development — end to end, solo
Services
  • DESKTOP APP
  • PROTOCOL INTEGRATION
  • REAL-TIME DATA PIPELINE
  • OPERATOR UI
  • AUDIT & HISTORY
Stack
TauriReactTypeScriptNode.jsWebSocketSQLiteModbus TCPRS485