Here is an animation:
(Note: this animation was made from a series of still images and the scan of the digital camera and the scan lines of the actual display produce some fading in the text that is not really there)
There are two pieces of hardware that make these small signs economically feasible:
- Small cheap programmable micro-controllers
- Small cheap OLED (Organic LED) screens
For my S-Bahn station platform project, I used the readily available ESP8266 NodeMCU processor and a pervasive 0.96” two color OLED display:
The ESP8266 is a small circuit board with a USB port and a bunch of electrical pins for connecting to other devices, including the screen. It has a built-in WiFi antenna. The OLED display has a resolution of 128 x 64 pixels in an area 14mm x 12mm and divides the screen into two areas: The top ¼ is a monochrome yellow display and the lower ¾ is a monochrome blue display. This produces a very nice display that can display some header text in yellow and then additional information below that in blue. (Other color combinations are also available.) Connecting the ESP8266 to the display uses 4 wires (two supplying 3.3V power and the other two handle the screen data). I soldered wires directly between the two using the directions as shown on the RemoteSign website.
To install the software, I loaded the sketch provided at https://remotesign.mixmox.com/p/esp8266-sample-sketch.html which installed the RemoteSign software on the device.
The bigger task was retrofitting the new screens into my S-Bahn station. Fortunately both platforms had plywood end-walls that could be removed fairly easily. This provided ideal places for the two signs.
The OLED screens are mounted on circuit boards that are 27mm square, so my first task was to cut holes large enough for the circuit boards to be mounted inside the walls. First, I drilled holes...
then cut and filed the edges to fit.
As seen from the back of the wall.
To ensure that the pins that stick through to the front of the screen did not interfere with my ‘wall’, I trimmed them down.
The walls of my station had been made using photographic prints and I had enough leftovers to cover each endwall. The area on the OLED screen that actually displays information is 12mm x 24mm, so the next step was to accurately measure and cut openings in the prints to align to that area.
I sprayed the back of the prints with adhesive and attached them to the old walls, (over the previous prints). After removing the protective film from the front of the OLED displays, I inserted them from the rear of each wall, allowing the edges of the screen to stick to the spray adhesive on the back of the print. This holds the OLED screens into the wall and keeps them flush with the front of the wall (apart from the thickness of the print). I also attached some black paper to the other side of the wall to prevent any potential light leakage from behind.
The end walls, complete with their embedded screens, and each with their own processor, could then be reinstalled in the station, and the power leads for the processors connected to a 5V DC power supply.
There are a number of ways of displaying information on the screens:
- Use a hardcoded set of arrivals and departures that get displayed in a loop.
- Control the content using RemoteSign from a Windows computer on the same network. This could be done manually, or using a predefined sequence defined in RemoteSign (E.g. sample file Gleis1-1.rsf).
- Drive the content with real-time actual train information from the layout control software.
|Platform state||Sign content (track number always displayed)|
|Train scheduled to arrive||Train name, arrival time and origin|
|Train present and scheduled to depart||Train name, departure time and destination|
|Train present but no destination set||“Nicht einsteigen” (Do not board)|
|No train present||One of over 20 public announcements selected randomly.|
The track number, and a real-time analog clock, are displayed on the upper yellow portion of the screen.
Destinations and public announcements are displayed as scrolling text.
Once the RemoteSigns have been defined in the layout software, and associated with a particular station track, all traffic related to the track is updated on the sign! A typical sequence of events is: The time, train name and departure are displayed. When the train departs, the screen clears and displays a random public announcement (such as “Kinder unter 6 Jahren reisen immer kostenlos und ohne Fahrkarte.” = “Children under 6 always travel free and without any ticket”). As soon as another train is scheduled to arrive on the platform, the sign clears and displays the arrival time, train name and its origin.
Positioning a Preiserling reading the signs, completed the scene.
The signs add dynamics to the station. The scrolling text adds some life, and visitors love watching the signs update as the trains come and go.
Note: This work will be appearing in the magazine Continental Modeller soon.