The European Rail Traffic Management System ( ERTMS ) aims to improve interobability between the multiple systems in use by European railways, making it easier for trains to cross national borders without needing to change systems.

European Train Control System ( ETCS ) is the signalling component of ERTMS.

Driver Machine Interface Simulation

since 5.7.4

The Driver Machine Interface ( DMI, the in-cab screen which displays speed and signalling information to the driver ) is one of the most recognisable elements of ETCS.


The DMI can include information about speed, track conditions, and system alerts.

It is possible to simulate DMI screens and control their content programmatically, currently there is no train control logic within the DMI Panel.

The DMI follows the touch screen layout ( as apposed to the soft key layout ), as it is able to receive button and mouse clicks directly.

The icons in the resources/icons/etcs folder contain the graphics for both ETCS 3.6 and 4.0

The JMRI Fast Clock is used as the source for the time display.

Launching DMI Displays with Jython

DMI Displays can be launched via JMRI Jython Scripting.

import jmri
from jmri.jmrit.etcs.dmi.swing import DmiFrame

f = DmiFrame()

dmiPanel = f.getDmiPanel()

This screen is now viewable on other devices via the JMRI Web Server.

For the full list of available methods, see the DmiPanel JavaDoc.

The code for the DMI Demonstration also provides examples of how to manipulate the panel.

DMI Demonstration

On the right hand side of the DMI, locate the Tool Menu Button ( a spanner icon if graphics are loaded ).

Right click on the Tool menu and one of the options will be DMI Demo, which starts the demonstration.


Further ERTMS / ETCS Info

European Rail Agency - ERTMS
Wikipedia - ETCS
YouTube - UK ERTMS on the Northern City Line
Youtube - UK Presentation Track Engineers guide to ETCS (Cambrian line)