A non-vital telemetry path that keeps operating under failure conditions
RelayQ is a deterministic edge runtime for industrial data systems that brings industrial equipment (Modbus, DNP3, OPC UA, BACnet/IP) and IoT sensors (MQTT, Sparkplug B) into one data path.
Railway networks are among the most demanding environments for communication software: geographically distributed, subject to harsh conditions, and expected to operate for decades. The telemetry path connecting trains, trackside infrastructure, and operations centers must remain predictable even when field conditions are not. RelayQ carries a non-vital telemetry copy of signalling status and never sits in the path to interlocking logic. It is not a safety-rated component.
Railway systems fail in the field
Trackside equipment loses power. Communication links drop between train and operations center. Onboard systems restart during operation.
In traditional messaging systems, these failures propagate: state becomes inconsistent, delayed or malformed messages reach downstream systems, and unrelated components are affected by a single fault.
RelayQ is designed to contain these failures. Each device is isolated. Each connection is strictly bounded. The system continues operating across restarts, connectivity gaps, and misbehaving components.
Market challenge
Rail operators and system integrators face a unique combination of pressures:
- Multi-decade platform lifecycles: every software component becomes a long-term maintenance obligation
- Harsh field environments: power interruptions, vibration, temperature extremes, and intermittent connectivity are routine
- Regulatory compliance: EN 50128, EN 50129, IEC 62278 (RAMS), and emerging cybersecurity directives (NIS2, CER)
- Legacy integration: decades-old signalling and SCADA systems must coexist with modern IoT infrastructure
Why dependency-heavy stacks break down in rail
Unlike traditional MQTT broker stacks, RelayQ does not carry a long-tail dependency maintenance risk across multi-decade service contracts, fits on constrained trackside and onboard hardware, and keeps the SBOM small enough that it does not expand sustainment cost year after year. More importantly, traditional stacks do not control how failures propagate across trackside, onboard, and operations systems.
How RelayQ addresses railway requirements
- An acknowledged QoS 1 message is written to disk before the acknowledgement, so a power loss after the acknowledgement does not lose it
- Connectivity loss does not corrupt system state
- Misbehaving devices cannot impact others
- Resource usage remains bounded across distributed systems
- No slow or failing component can stall the system
Supporting characteristics:
- Std-only core (zero third-party crates in Lite, twelve with TLS on Linux): few third-party components to maintain over the platform lifetime
- Deterministic behavior: thread-per-client model with no garbage collector, no async jitter
- One binary under 10 MB: fits on constrained trackside Linux controllers and onboard gateways
- Sparkplug B ingress validation: topic shape, namespace/version, and message type are enforced at ingress; payload-level validation is not yet wired
- Memory-safe (Rust): eliminates buffer overflows in the telemetry path
Where RelayQ fits in the railway architecture
RelayQ runs alongside your existing rail SCADA and signalling infrastructure, not inside it. Your control path (trackside equipment → interlocking → Rail SCADA → Historian) remains untouched; RelayQ never sits in the path to interlocking logic.
RelayQ receives a non-vital telemetry copy from trackside sensors and onboard systems, providing a parallel path for fleet analytics, predictive maintenance, and cross-depot visibility.
RelayQ operates at three levels:
| Role | Where it runs | What it does |
|---|---|---|
| Onboard edge runtime | Train gateway (ARM64) | Aggregates rolling stock telemetry, buffers during connectivity gaps |
| Trackside aggregation | Wayside cabinet (ARMv7/ARM64) | Receives a non-vital telemetry copy of track, points, and signal status |
| Central platform | On-prem server (x86_64) | Aggregates train and trackside telemetry, bridges to remote operations |
Integrates with:
- Signalling status: non-vital telemetry copy from axle counters, track circuits, and point machines, via a third-party gateway publishing MQTT or Sparkplug B
- Train control (CBTC, ETCS): non-vital telemetry copies only, via a third-party gateway publishing MQTT
- SCADA platforms: rail-specific SCADA for traction power, station systems
- Communication networks: GSM-R, LTE-R, FRMCS backhaul (as application-layer runtime)
- Historians and analytics: InfluxDB, TimescaleDB, predictive maintenance platforms
- Legacy systems: serial-to-MQTT gateways for older trackside equipment
Railway use cases
Signalling status telemetry
Track circuits, axle counters, and point machines report to the interlocking as they do today. A non-vital copy of that status reaches RelayQ for maintenance analytics and operations visibility. Default-deny ACLs ensure only authorized trackside devices publish to those topics. A misbehaving device cannot affect unrelated telemetry. RelayQ never sits in the path to interlocking logic.
Rolling stock health monitoring
Onboard sensors stream brake condition, door status, HVAC performance, and traction diagnostics to maintenance systems. RelayQ buffers messages to disk during tunnel transits and connectivity gaps and replays them when backhaul resumes; the bridge’s connection-liveness detection and delivery guarantees are still being hardened, so treat this as buffered best-effort delivery today, not a zero-data-loss guarantee.
Station infrastructure monitoring
Platform screen doors, escalators, CCTV systems, and environmental sensors publish status via MQTT. RelayQ’s rate limiting prevents a malfunctioning sensor from flooding the bus and delaying status messages from other station systems.
Predictive maintenance data pipelines
Vibration, temperature, and wear data from wheels, bogies, and track components feeds machine learning models for predictive maintenance. RelayQ keeps data integrity at ingress, since corrupted inputs produce unreliable predictions.
Train-to-ground telemetry
Position, speed, and operational status flow from train to operations center as telemetry. RelayQ’s deterministic latency and persistence give consistent delivery across high-mobility, intermittent-connectivity environments. No disconnected train can stall the central ingestion pipeline.
Security mapped to railway threats
| Railway threat | How RelayQ mitigates |
|---|---|
| Compromised trackside device injecting false telemetry | Default-deny ACL, only authorized devices publish to telemetry topics |
| Network-wide disruption from single compromised node | Per-client rate limiting + IP allowlist isolate misbehaving nodes |
| Supply-chain attack on runtime dependencies | Std-only core (twelve pinned crates with TLS on Linux, none in Lite), no async runtime, no OpenSSL |
| Unauthorized write-back toward field equipment | Write-back is opt-in and license-gated; topic-level ACL separates telemetry from write-back namespaces |
| Man-in-the-middle on GSM-R/LTE-R backhaul | TLS 1.3 + mTLS with certificate pinning |
| Denial of service exhausting trackside hardware | OOM guard + rate limiting prevent resource starvation |
Compliance and certification readiness
| Standard | RelayQ positioning |
|---|---|
| EN 50128 (Software for railway control) | Non-vital telemetry component; formal verification evidence and spec-traceable tests support the system-level case |
| EN 50129 (Safety-related electronic systems) | Not a safety-rated component; RelayQ sits outside the path to interlocking logic |
| IEC 62278 / EN 50126 (RAMS) | Std-only core supports reliability and maintainability over the platform lifecycle |
| IEC 62443 (Cybersecurity) | Minimal SBOM (non-TLS build: no third-party crates; TLS build adds rustls), default-deny ACL, audit logging, brute-force protection |
| NIS2 / CER (EU cybersecurity) | Minimal attack surface, supply-chain transparency, incident-ready audit logs |
RelayQ is not yet formally certified to these standards and is not a safety-rated component. It is designed with certification readiness in mind; the engineering evidence (Kani proof harnesses, Loom concurrency models, fuzz testing, 4,902 spec-traceable tests) maps to certification objectives.
Proof points
- 6 million fuzz inputs, zero panics: codec hardened against malformed packets from any source
- 4,902 automated tests: traced to the protocol specifications, with per-requirement conformance reports
- Six 1-hour soak runs, zero message loss (lab, x86_64, May 2026)
- Durability contract: an acknowledged QoS 1 message is written to disk before the acknowledgement, so a power loss after the acknowledgement does not lose it
- Under 10 MB on armv7: runs on Raspberry Pi 3B/3B+ class hardware
Expected operational improvements
| Outcome | How |
|---|---|
| Reduced telemetry interruptions | Rate limiting contains misbehaving devices; Sparkplug B ingress validation rejects malformed traffic |
| Lower long-term sustainment cost | A std-only core and a short pinned crate list = few forced upgrades and little abandoned-library risk |
| Faster incident response | Built-in metrics and violation counters pinpoint misbehaving devices in real time |
| Shorter certification cycles | Minimal SBOM (non-TLS build: no third-party crates; TLS build adds rustls), formal verification evidence, spec-traceable test coverage |
| Improved operational visibility | Prometheus metrics + $SYS topics provide fleet-wide runtime health monitoring |
| Seamless legacy integration | Runs alongside existing SCADA; serial-to-MQTT gateways bridge older equipment |
Legacy integration
RelayQ does not require replacing existing signalling or SCADA infrastructure. It deploys incrementally:
- Start at the edge: install on one trackside cabinet or onboard gateway
- Bridge legacy systems: use serial-to-MQTT or Modbus-to-MQTT gateways for older equipment
- Validate alongside existing infrastructure: run in parallel without disrupting operations
- Expand gradually: add more nodes as confidence builds
No big-bang migration. No vendor lock-in. RelayQ is a single binary you can deploy, test, and remove without side effects.
Deployment options
| Target | Architecture | Deployment |
|---|---|---|
| Trackside controller | ARMv7, ARM64 | Static binary on ruggedized Linux |
| On-board gateway | ARM64 | Embedded in train communication system |
| Operations center | x86_64 | Docker container or systemd service |
| Wayside cabinet | ARMv7 | Full build under 10 MB (or the smaller Lite build) on constrained hardware |
All deployments are a single static binary, no runtime, no interpreter, no shared libraries required.
Proof points are lab measurements on the stated hardware and build; results in your environment will differ. Method and full test evidence are shared with pilot customers.
Test it under failure, not in a demo.
One of your sites, one gateway, 30 days, with remote support from our engineers.
Apply for a pilotJust want to test it first? Register for an access key to the Capped build: every feature, 10 connections, no time limit, no support.