Blog & News

About the Model Railroad

RTAC Software


The Randall Museum in San Francisco hosts a large HO-scale model model railroad. Created by the Golden Gate Model Railroad Club starting in 1961, the layout was donated to the Museum in 2015. Since then I have started automatizing trains running on the layout. I am also the model railroad maintainer. This blog describes various updates on the Randall project and I maintain a separate blog for all my electronics not directly related to Randall.

2022-01-10 - Planning for 2022

Category Randall

This year I’d like my projects to enhance the automation. There are two automation additions I want to get to, namely Fairfield and the Trolley line; however I realize these require a lot of research & preparation work that is mostly software and, if I go there, it will be yet another 6-9 months with nothing tangible for others to actually see.

So instead I’d like to focus on enhancing the variety of the current automation.

1- Branchline Automation

We currently have a single engine running, and we park it on the B811/B801 storage track. However the track & panel supports 3 storage tracks.

Branchline/Mainline Track Diagram (blue is mainline, green is branchline).

The “easy” least amount of effort is to use the 2nd storage track (B812/B802) to have a second engine available and alternate running with 2 engines. This mirrors how the mainline alternates with 2 engines. It can give us more reliability (each engine only works twice less), and variety.

On the hardware side, this requires control for turnout T810, so just one turnout. And we need 2 more blocks to monitor, B812 and B802 (or maybe just one if the turnout leads are not isolated).

The risk is fairly low. These are not significant hardware changes to add 2 block sensors and one turnout control. I have the hardware for it available. The real risk is that the track can be uneven at that location and finding engines that can reliably navigate it may not be obvious.

The reward is also fairly low, from a visitor’s standpoint. The current Branchline is ignored by a lot of people and provides minimum interest. It surely is a lot less impressive than running on the mainline. OTOH maybe having 2 engines alternating there would bring it a bit more interest.

A later phase to that would be to support the 3rd track, which requires turnout T820 and sensors for B813 and B803. I would likely wire them all at the same time even if I don’t use the 3rd track yet. That 3rd track is dual gauge, and these dual gauge turnouts are imho tricky and may be prone to derailment.

One it of complexity would be due to the fact the Tortoise turnout motors are not wired using the typical DC power bus; instead they use an older AC power bus and the Tortoises are wired using the “AC with steering diodes” principle.

Previously I wanted to use turnout T830 for variety. I quickly gave up on this after noticing the turnout point is broken and I do not know how to fix it.

2- Mainline Automation

The mainline automation has 2 engines alternating. One is currently parked on the mainline’s siding by the station. The other engine is in the track #3 in the station, where it should be.

The change here would be to be able to use either the 2nd station track or the 3 tracks. That requires controlling 1 or 2 turnouts, and having at least 2~4 more block sensors.

The end goal here would be that both automation trains would be parked in the station tracks properly, instead of having one on the mainline. The immediate reward is easier running for Saturday Operators. There would not be any significant change to the visitor’s experience as they would still see alternative trains/engines running on essentially the same route.

The risk/reward here is also low since adding new turnout control or block detection would not affect the current mode of operation. The risk is also that we don’t know if the turnouts or track is reliable for repeated automation usage; the only way to know is to power it and try it.

As far as phases go, we already have block detection for B503a/b. We need at least B502a/b, and I suggest in that case we might as well go all the way and support B504, B501/2/3a/b/c. For turnouts, the minimum needed is T503, yet while in there, I’d just add control for T503, T502, T501, and the other sides T512 and T513.

3- Scripting Complexity

While some folks only focus on the tangible side, I try to also factor in the software side upfront. And here it is not too daunting, yet it’s non negligible.

The current automation script is fairly linear and about 900 lines long. There’s one block of actions per engine running, and we currently support 3 of them. We would then support at least 4 (2 branchline + 2 mainline), or up to 6 (3 branchline + 3 mainline). The effort is however manageable as each train route is fully isolated and independent.

There is a bit of “glue” in the script to account for alternating between engines. That is fairly generic and easy to extend.

 Generated on 2022-01-24 by Rig4j 0.1-Exp-666f4a7