Case studyRailway safety, track maintenance20262 min read

Connecting LumiSafe masts to a software gateway, for railway track safety

LumiSafe masts talk to a software gateway over a serial protocol that evolves without breaking masts still running an earlier version.

Contents7

At a glance

In thirty seconds
  1. StakeOn a track under maintenance, everyone must know in real time whether an agent protects it, including the team leader, remotely.
  2. MechanismA Python gateway, Hermes, talks to the masts' Arduino firmware over UART; the protocol carries a lock mode and team assignment.
  3. ProofThe code and documentation of the gateway and the firmware, which I wrote alone between February and April 2026.
  4. ImpactEach mast’s state becomes readable by software, which serves remote supervision, and the protocol grows without updating every mast at once.
  5. LimitsField deployment and its results are not documented here: this case describes the software, not its operation.
Client
Cesatec
My role
Designer and sole developer of the gateway and the firmware
Setting
Through a partner: Serial Coders
Team
Solo · 1 person
Technologies

The starting point

LumiSafe is Cesatec’s patented system for the safety of railway maintenance agents1. On the track, light masts receive the agents’ badges, and agents signal their presence that way. The colour code reads from afar: green, the track is not protected; orange, protection is requested, type 1, 2 or 3; red, the track is protected by an agent. Team leaders follow these states remotely, in real time.

Product description based on the LumiSafe…

Product description based on the LumiSafe page of Cesatec’s website, linked in the project facts.

For that information to flow, each mast must talk reliably to software, and that dialogue must be able to evolve without immobilising the hardware already installed.

What I built

I developed both ends of the chain: Hermes, a Python gateway, and the masts’ Arduino firmware, linked by a serial protocol over UART. The protocol carries a lock mode, the fields that assign a mast to a team, and a mast variant with an OLED screen.

One rule guides everything else: evolve the protocol without breaking compatibility with earlier versions2. A mast that has not been updated must keep working with a newer gateway.

Project rule written in the repositories…

Project rule written in the repositories: prefer backward-compatible protocol changes.

What the evidence shows

The work lives in two repositories, the gateway and the firmware, with their documentation and project rules3. There is no screenshot: this work has no interface to show, only a protocol and two programs that speak it.

Sole author of both repositories: 11…

Sole author of both repositories: 11 commits on the gateway, from February to April 2026, and 3 on the firmware, in February 2026.

What it changes

Each mast’s state, an agent’s presence, the protection requested or granted, becomes data that software can read and pass on, which makes remote follow-up by team leaders possible. The protocol can grow without forcing every mast to update at once.

Limits

  • I designed neither the LumiSafe system nor its patent: my scope is the gateway and the firmware.
  • No field indicator is available: number of masts, worksites, incidents avoided.
  • This case publishes neither the protocol nor the code, which belong to the engagement.

Share and reuse

The link, the plain text and visuals ready for LinkedIn.

Embed this card

Paste this code into a web page to show a card for this content.

<iframe src="https://mc-stud.io/embed/en/work/lumisafe-mast-signalling" title="Connecting LumiSafe masts to a software gateway, for railway track safety" width="100%" height="360" style="border:0;border-radius:16px;max-width:640px" loading="lazy"></iframe>

Let’s talk about what AI could change for you

A 30-minute discovery call, by video and with no commitment, to talk about your project, your constraints and the best next step.

contact@mc-stud.io