2019-02-19

Miniature RemoteSign for arrivals and departures

About 12 years ago I created RemoteSign so that I could display arrival and departure information for the trains. I use that on multiple monitors in the layout room to display traffic movements for different stations. I have now taken that a step further, by implementing RemoteSign on a microprocessor that drives small OLED displays, small enough to be used within an HO scale station!

I have not yet built my main station building kit, so I took this photograph of it sitting on my desk with an HO scale figure to show its size. It shows real-time data of my model train movements in my Wilsnack station. (The protective screen is still on the screen making the text look a bit fuzzy.)

My intention is to mount it in a more realistic way on a wall in the station.

The details

Hardware
The microprocessor is a NodeMCU ESP8266 which is connected to a NewHaven 256x64 pixel monochrome OLED display.

Software
I wrote a RemoteSign ESP library that handles commands according to the RemoteSign SDK. The library also utilizes a library called U8G2 by Oliver Kraus for driving displays that use SSD1306 or SSD1322 controllers.

I initially bought a 0.96" OLED display that is 128x64 pixels but I found that it was just not wide enough to display enough information on the trains, so I looked for a wider one and found the NewHaven displays.

The screen capabilities of the RemoteSign are as follows:
  • It can handle between 4 and 10 rows
  • It handles digital or analog clock display
  • It handles RemoteSign animated, text, and header data, but of course is limited by the screen to monochrome display
  • Animated lines sweep up from their baseline when updating
  • Text areas can be made to be smaller or larger than 100% of a row
  • Scrolling text is also supported
  • Screen size is automatically detected
  • Effective aspect ratio of rows to columns is reported to the connected system so that the effective number of columns can be determined for any number of rows.
  • Built in screen dimmer
  • Orientation of the screen can be flipped 180° as needed
Additional capabilities
  • It connects to Wifi. Initial configuration of network and password is achieved through WiFiManager
  • When it is connected to a network, and is waiting for a RemoteSign connection, it displays its version, IP address, signal strength, MAC address and the port number it is listening on.
  • It can update itself 'over the air' via its network connection on receipt of a new RemoteSign command {OTA}. This allows me to upload a new version of the software remotely.
  • The sign requires no modification to be used in conjunction with the Windows version of RemoteSign, or DB, or my layout software. Once a RemoteSign has disconnected, it goes back to listening for another connection which could come from a different program and display any content.
  • It also controls a couple of outputs that can be used for switching station building lights and platform lights on and off. i.e. it provides three RemoteSign channels, the display, plus two dimmable monochrome light channels.
Since this acts as a working RemoteSign device, it can of course also be controlled by any software that sends it RemoteSign commands, including my DB program that displays real-time German long distance train schedules.

Here it is connected to DB, showing arrivals and departures for Göppingen, using 8 lines:

Since the number of rows are so limited, I have also updated the DB program to allow one to select either arrivals or departures (or both). This avoids the use of two rows in the middle to label the departures.