CTC Machine Build


Call-on woke up today. This feature allows a locomotive to return to the rest of its train parked on the opposite side of an interlocking or OS section. Normally a signal can not be cleared if the intermediate block past the interlocking is occupied. In this situation, it is occupied by the rest of the train. Call-on removes the safety feature and shows a restricting signal aspect to the locomotive crew.

Coding a call-on requires the dispatcher to press and hold a pushbutton in the row above while pressing the code button directly below.


Wow Bob you are just amazing. Incredible


Hal 9000 trapped in the dispatch panel! That is just brilliant Dave, brilliant.


Hi, I’m really impressed with the quality of the work on your CTC machine!

I am starting my own small CTC panel, and wanted to know if you custom make and sell those metal bezels for the schematic block indicator lamps?

Not sure if this is the right place for this message, so I might post it near the bezel entries, too. Hope you’ll forgive my redundancy.

Pony Horton


Hi, I’m really impressed with the quality of the work on your CTC machine!

I am starting my own small CTC panel, and wanted to know if you custom make and sell those metal bezels for the schematic block indicator lamps?

I posted this same message near the bottom of the blog, just in case this was not the right place… Hope you’ll forgive my redundancy.

Pony Horton


Pony -

I’m sorry, but I don’t commercially make the bezels. Chuck Catania asked for dimensions to investigate what might be needed to have them made commercially. My sketches are a few posts up. I’ll send him an email to see where that’s at.

At one time there were some reasonable black nylon LED mounting clips for 8mm diameter LEDs that looked pretty good when painted silver. If I recall they were made by Kingbright and I bought some from Mouser. Unfortunately they don’t come up in my catalog searches.

You might search eBay for 8mm LED clips. At the moment a search for “8mm LED clip” came up with a few viable hits.




Thanks so much for the reply and info. Maybe Mr. Catania will know something.

In the meantime, I ordered some of those 8mm plastic ones. Cheap enough to experiment with.

Here’s a picture of the basic plan for my little CTC panel.

Thanks again!



Pony -
I checked with Chuck. Sorry, but at MRCS the bezel manufacturing is currently a “feasibility study”.

If you can get just a bit more height on your panel, locating the signal levers directly under the switch levers would look more prototypical. Also, numbers on a US&S panel normally increase from left to right.

All the best.


Hi, Bob!

Thanks for the advice! In this case, it’s based on Disneyland’s old Mine Train Thru Nature’s Wonderland, and like that attraction, this railroad only moves in ONE direction, so traffic conflicts are no issue.

As in the prototype, the trains start heading west (LEFT) from Rainbow Ridge. and all operation there was from right-to-left based on the guests’ viewpoint. So that’s why the panel layout seems backwards. It’s actually easier to picture where the trains are this way.

As to the knob layout, that was more for practicality as my space is limited, but I’ll play with it to see what I can do to make them in-line.

The whole panel will also depart from true prototype panels, in that it will be laid down like the control panels on the bridge of a ship, or like a museum’s display fascia, close to horizontal but tilted up toward the rear like most control panels.

So the idea is to re-create the Ride Operator’s panel at the Loading Area where guests board the ride, only theme the panel for steampunk, as that fits the 1890’s-era “Big Thunder” theme.

I am attaching an image of the idea for the full-sized control panel. I’ve NEVER seen a panel quite like this one!

I’d love to chat via phone sometime, should you wish! 661-823-4778

Thanks again!



Just a minor update here. Code to run the intermediate signals along yet-to-be-completed track between Linnwood and Ricksburg appears to be functional, even if much of the rails are not yet connected and many signal heads have been removed for safe keeping during scenery work.

Not at all started is code to interact with a yet-to-be-built Arduino board to control signals at the New River & Western / A&O diamond in Willow Creek. Hardware to run that and the traffic lever has yet to be built.

Currently the software runs about 4,700 lines of C++ and requires about 1/4 of the Teensy 3.1 processor’s resources.


Greetings Bob, I’m in the process of building my own CTC machine and about to get started on the main panel. Would it be possible to get a copy (psd or dxf) of your panel. It would save me a lot of time in redrawing it photoshop. Many thanks! I see the CTC Parts website has gone dark this week any idea what’s up? I would hate to have to reproduce the switch and signal name plates.

Jay Roman


Jay -

Send me your email address via private message on the forum and I’ll send you the .dxf. You will probably want to change some of the hole sizes to match the switches and LED bezels you procure. Also note that there is a 3/4" flange around the perimeter of the panel with screw holes for mounting in a wood cabinet.

The model boards containing the occupancy indicators and track plan were prepared using Intaglio on a Mac. I exported artwork for 4 panels to PDF and sent them to a company in PA that used the MetalPhoto process for fabrication in aluminum.

I too noticed that the CTCParts.com web site is down. The domain name registration did not expire but the site can not be pinged. Mike runs a signaling department for CN in Michigan and his vocational job keeps him very busy. You might ask folks on the railway signaling forum or CMRI forum on Yahoo.

Right now I’m unaware of any source for prototypical 2 position 60 degree rotary switches. I estimated and bought mine from Mouser back in 2008. Some folks used to buy 3 position 30 degree switches from Radio Shack and mechanically remove the middle detent.

Good luck!


Jay -

One more thing. The steel panels were cut by a CNC waterjet cutter and the fab shop wanted a .dxf file if at all possible. You mentioned Photoshop. If you don’t already have something like Autocad (I don’t) there are free versions of QCAD for both Mac and Windows. I used QCAD for the steel panel artwork.



The CTC project that “keeps on giving” has me thinking again. At times that’s dangerous.

Long ago while testing the CTC machine controller board on the work bench, with only a 6" RS485 bus to a CMRI SMINI board, I was seeing a lot of read errors. The error rate was 0 (or nearly so) at 28,800 baud but went up exponentially at faster baud rates. An oscilloscope showed the bus signals to be perfectly clean. Errors happened with all 5 of the SMINI boards. It seemed odd that everyone I asked ran their CMRI RS485 buses at a slow 9600.

On the layout I was seeing more read errors even at 28,800, prompting the addition of a “unanimous vote” noise filter in the CTC machine. A specified number of SMINI reads in a row had to agree before the CTC machine would accept that an input pin changed state. That helped.

But twice I observed write errors, during which an OS signal and a maintainer call LED momentarily flashed when they shouldn’t. One of those times Vince and I were talking when the problem occurred. Vince asked me “Did you see that?” I did. It is not clear whether the cause was noise on the 485 bus or something else.

After a while my brain could no longer accept communication errors. This called for action. The decades-old CMRI protocol has no error detection. No parity, checksum, or CRC. A modern protocol needs a CRC so that 485 bus packets can be inspected, errors detected rejected and logged. However the SMINI PIC processor’s firmware is not open source.

Having no desire to reinvent the PIC’s presumed assembly language, I intend to make a small daughter board that plugs into the SMINI processor socket. On that board will be a Teensy 3.5 processor from Paul at PJRC. Available through Sparkfun and Adafruit, these small and inexpensive processor boards have lots of 5 Volt tolerant I/O pins and a fast 32-bit ARM M4 processor. They are a “big brother” to the Teensy 3.1 that runs the CTC machine. In this application an even less-expensive 8-bit Arduino Pro Mini would suffice, but would require external I2C I/O expander chips that would add bulk and complexity to the PC board layout.

This is the 3.5 board, in a photo from the PJRC.com web site:

Here’s preliminary artwork for the daughter board:

The red box shows the outline and pin designations of the SMINI’s PIC processor. Headers with round screw machine terminals will attach to these pads and plug into the PIC’s 40-pin socket. The blue box shows the outline and pins of the Teensy 3.5 that will plug into the daughter board. Note that the processor is rotated 180 degrees from the photo above, so the micro USB plug will on the right end.

A sort-of X-ray rendering of the daughter board as it will plug into into an SMINI:

The Teensy’s processor runs at 3.3 Volts with an on-board regulator, but the digital pins are all 5 Volt tolerant. The 5 Volt logic on the SMINI only requires a high level input voltage or Vih of 2 V, so it will work when being driven by the Teensy’s processor.


I’ll take your word for it… :smile:


Through another communication medium I received an excellent question from Conrail Bill. He wondered why I’m not replacing the SMINIs with Arduino-based cpNodes from MRCS. Skipping most of my reply, the bottom-line is simple:

I’m not excited about crawling back under the layout to rip out then replace wiring we already have! That would not be fun, and it would disable the layout for a fairly long period of time.

Vince generously provided us with a spare SMINI board that I can use for development. It can sit on the CTC machine desktop and connect through a short cable to the machine’s control board. With two MacBook computers (old and new) I will be able to simultaneously code and debug both ends of the system. (Mental picture of one hand on each keyboard and eyes crossed… :stuck_out_tongue:) That should eliminate most if not all of the need to be “in two places at once”—under the layout at an SMIN and at the CTC machine.

Don’t get me wrong. The cpNode is an excellent product. But at this point in time it would be a lot more hard work!


Hey Bob - long time no talk. Since I was out there in 2015, I’ve moved to a bigger basement and thick roof so I’m starting to think about putting together a physical panel again.

Working with the LCC working group some - I’d like to start putting some CTC useful pieces together inside the LCC/OpenLCB ecosystem so a couple of questions:

Do you know/have the dimensions of the PCBs you made to hold the switches and LEDs used for the columns? I’ve not been able to find any prototype drawings to figure out the physical size I should aim for, which is probably the most critical concern as everything else flows from there.

And as an FYI to whoever else may be interested - the 2 position switches show as stocked now (Sept 2018) on Mouser. The 3 positions don’t, but I have not searched for alternatives, so far, so that’s next on the list.



Rick -

Dimensions of the PC boards are dictated by prototype dimensions and what options you want to have on your machine. Column spacing is always 2 inches, so PC boards must be narrower than that. The layout of signal and switch levers is also standard, with the exception that some railroads opted for 3 lamps on the switch levers instead of the more typical two.

Also, since I was etching boards at home, dimensions were also influenced by standard pre-sensitized panel sizes.

Perhaps more helpful to you might be the steel panel artwork. If you want, I can send you a .DXF file for the A&O main panel. QCAD is free, runs on Mac and Windows, and is the software I used to prepare artwork for water jet cutting. Note that the top row of 0.475D holes are for a particular toggle switch used for maintainer call. Any or all of the hole diameters may need to be adjusted to best fit the parts you are able to source.

Here’s a screen snapshot of the panel column dimensions we used.

Good luck finding a mate to the 2-position 60 degree switch. A successful column board requires that both switches to have the same height from the panel mounting surface to the PC board.

Although boards are securely mounted when they have both signal and switch levers, columns with only a single switch would benefit from optional 6-32 standoffs attached to the PC board and the panel using the small holes that currently hold the aluminum number plates.

From what I’ve heard, Mike Burgett no longer stocks cast metal switch knobs because the manufacturer the Japanese supplier shut down.

Before you choose a solution, I strongly encourage reading both Bruce Chubb’s signaling tome and his signaling articles in MRC. Prototype signaling requires complicated programming and it isn’t just plug-and-play.

I briefly browsed the OpenLCC web site for documents. All I found were ones that related to CAN bus messaging protocol and firmware updates. Unless I missed something, how to actually implement interlocking code is left entirely as an exercise to the reader. Did I miss something?


I will message you with my email address for the CAD drawing - that would really help, thanks!

I had a CTC setup on the last railroad - all programmed inside JMRI - so I understand the complexity involved. I think that I’m going to end up with 2 or possibly 3 small panels, maybe 10 columns total, that my yardmaster, staging master and tower man will be using, while the DS will still use a computer driven panel via JMRI. Mostly that is because I don’t have the physical space I need for a complete machine for the railroad until the kids move out and my office goes upstairs. I have a not quite 8 year old, so that is well in the future. :wink:

OpenLCB/LCC is a framework to accomplish something so you are right that it is on you to make the logic needed work, but that doesn’t scare me since I’ve done it once already and planned to do it on this railroad anyway. Having some physical columns is just a bonus and stretch goal. I’ll probably order the 2 position switches now to have them, and then just wait for Mouser to either stock the 3 positions OR try to figure out how I could get rid of the surplus if I bought a 1000.


Rick - The DXF files have been sent.