Railway HMI systems operate in demanding environments — extreme temperatures, constant vibration, high EMC exposure — and must remain in service for 15 to 25 years. Sparklet provides the embedded GUI framework for railway cab displays, passenger information screens, and door control panels that meets these requirements with MISRA C compliant code, deterministic rendering, and a royalty-free licensing model that keeps long-life fleet deployment costs predictable.
Railway transportation HMI encompasses the operator displays, passenger information screens, and control interfaces deployed on trains, metropolitan metro systems, trams, light rail vehicles, and railway infrastructure. These systems include driver advisory displays (speed, signalling status, route information), cab control heads (traction, braking, door status), passenger information displays (destination, next stop, service alerts), and door control panels. In each case, the display software must be reliable enough to operate continuously throughout a vehicle's 15 to 25-year service life under conditions that would quickly degrade consumer-grade electronics.
The railway sector applies EN 50155 — the European standard for electronic equipment used in rolling stock — which defines operating temperature ranges, vibration and shock requirements, EMC levels, and power supply characteristics for railway-grade electronics. Display software running on EN 50155-compliant hardware must itself be robust: no runtime heap fragmentation that builds up over years of operation, no undefined behaviour that manifests differently across hardware production batches, no per-unit licensing that inflates replacement part costs over a multi-decade deployment.
Sparklet is designed for exactly these requirements — a pure C, MISRA C compliant embedded GUI framework with static memory allocation, deterministic rendering, and a royalty-free licensing model. For related safety-critical display context, see Safety-Critical HMI and Industrial HMI GUI Solutions.
From a software perspective, long-term railway display reliability is most at risk from: (1) heap fragmentation — dynamic allocation that functions at commissioning but degrades over thousands of operating hours; (2) temperature-induced timing variation — undefined C behaviour that produces different execution paths across the operating range; and (3) software aging — counter overflows or accumulated state errors that build up without system reset. Sparklet's static memory allocation, MISRA C compliance, and pure C architecture address all three directly.
The driver's cab display is the most operationally critical display in a rail vehicle. It presents speed and speed limit information, signalling system status (ETCS/ERTMS advisory data on modern systems), traction and braking control feedback, system fault indicators, and route information. These displays operate in bright cab conditions requiring high-contrast rendering and must remain readable across the full EN 50155 temperature range from cold-start at -40°C through sustained operation at +70°C. Sparklet's hardware-accelerated rendering on STM32 and NXP i.MX RT provides the frame rate and contrast performance required for cab applications, while MISRA C compliance supports the safety documentation required for cab display functions. Flint's state machine editor models explicit fault transitions — ensuring the display always transitions to a defined fallback state rather than freezing on stale data when a sensor or communication fault occurs.
Passenger Information System (PIS) displays show route, destination, next stop, expected arrival time, and service disruption messages on interior displays throughout the vehicle. PIS displays often require multi-language support — serving international routes or city metro networks with diverse passenger populations. Sparklet's full Unicode and multi-language support enables PIS displays to render destination names, route information, and service messages in Arabic, Chinese, Japanese, Cyrillic, and other non-Latin scripts without additional middleware. PIS displays typically run on STM32H7 or NXP i.MX RT with sufficient memory for rich multi-language font sets, and Sparklet's runtime language switching allows the same firmware build to serve multilingual metro networks without separate per-language variants.
Door control panels display door status (open, closed, locked, fault), interlock status, and emergency override controls. These displays are compact — often 3.5 to 5 inch, monochrome or limited-colour — and must operate reliably in the door zone of the vehicle where vibration, moisture ingress, and temperature extremes are most severe. Sparklet's minimal 16 KB RAM footprint enables deployment on low-cost MCUs appropriate for door panel controllers, keeping the panel BOM competitive without sacrificing reliability. Flint's state machine editor explicitly models door state transitions (closed/opening/open/closing/locked/fault/emergency) and generates the C state machine code — ensuring every door status change produces correct, defined display output rather than undefined intermediate states.
| Parameter | EN 50155 / Typical Requirement | Sparklet Approach |
|---|---|---|
| Operating Temperature | Class TX: -40°C to +70°C | Pure C static allocation; identical behaviour cold-start to sustained operation |
| Memory Allocation | No heap fragmentation over service life | Fully static allocation model; no malloc/free in GUI framework |
| Software Reliability | MISRA C / auditable code | Full MISRA C compliance; no undefined behaviour, no pointer arithmetic |
| Service Life | 15–25 years inter-refurbishment | Royalty-free per-developer-seat; Embien long-term support; stable pure C API |
| Multi-Language PIS | Runtime language switching, Unicode | Flint resource files; single firmware build; CJK, Arabic, Cyrillic, Latin |
| Multi-Resolution Fleet | Cab 800×480, PIS 1024×600, Door 320×240 | Single Flint project; per-variant resolution targets; shared design assets |
| Vibration & Shock | Continuous rail vibration, buffer shock | MISRA C eliminates pointer UB and stack overflows triggered by vibration |
| Fail-Safe Display | Defined fault state, no frozen display | Flint state machine editor: explicit fault transitions to defined fallback screens |

Pure C static memory allocation operates identically from -40°C cold-start through +70°C sustained operation. No heap fragmentation, no GC, no JVM — the display that passes type testing behaves identically in service across the full EN 50155 temperature envelope.

Full MISRA C compliance provides the coding standard foundation for integrating the GUI layer into railway safety cases. No undefined behaviour, no dynamic allocation, no unbounded loops — auditable, deterministic display software for cab and safety-adjacent applications.

Railway fleets deploy for 15–25 years. Per-unit royalty models compound over decades of spare parts and fleet expansion. Sparklet's royalty-free per-developer-seat model fixes the display software cost at project start — zero per-unit fees regardless of fleet size or years of production.

International rail routes and metro networks serve multilingual passengers. Sparklet's full Unicode support renders destination names and service announcements in Arabic, Chinese, Japanese, Cyrillic, and other scripts from a single firmware build with runtime language switching.
Railway display hardware is governed primarily by EN 50155 (electronic equipment in rolling stock), which covers operating temperature, vibration, shock, EMC, and power supply requirements. Software within railway systems may additionally be subject to EN 50128 (railway control and protection systems software) for safety-critical control software. For display software specifically, EN 50155 defines the environmental requirements the hardware — and by extension the software — must tolerate, while EN 50128 applies to safety-critical software components in the control and protection domain.
Get the Sparklet evaluation package including Flint UI Designer and Windows simulator. Design cab displays, PIS screens, and door panels on your PC, then deploy to STM32, NXP i.MX RT, or Renesas RA hardware. Contact Embien for railway platform bring-up and long-life support discussions.