Randall Layout Automation Source Repository

What is it

This repository holds various projects used for the automation of the HO-scale model train layout at the Randall Museum in San Francisco.

More info can be found here:


Here's a non-exhaustive list of projects or folders available here:

  • Conductor: A Java application that drives the train automation. It interprets an event-based script language and uses JMRI to get sensor data and act on throttles and turnouts.

    For more info, see jmri/conductor/

  • RTAC: An Android application that connects to a Conductor server and displays the status of the automation as well as a layout map with the state of the block detectors.

    For more info, see android/RTAC/

  • LibManifest: A small utility Java library to share constants between the Conductor Java application and the RTAC Android application.

    For more info, see android/RTAC/LibManifest/

  • ./docs: An ongoing documentation effort for the Randall layout.

  • ./arduino and ./pic16f: Embedded software to reprogram or replace the NCE Button Boards used on the layout.


Conductor and RTAC depend on 2 additional git submodules:


Various projects use different licenses:

  • Conductor, RTAC, and LibUtils are licensed under the GNU GPL v3 license.
  • AndroidSVG is licensed under the Apache license.
  • Some arduino or pic16f files are licensed under the MIT license.
  • This list is not exhaustive. Consult each project as needed.