CTC Machine Build


It is time to start work on the CTC machine and catch-up installing the signaling in the field. This is a huge project and already numerous folks have contributed in various ways. These include Vince, Craig, Jack, Bill, David and myself. Doug Geiger and Rod Black (of CATS fame) have been kind and very helpful consultants.

Here is a two-part mock-up assembled using Intaglio (a Mac CAD program) and Photoshop. It is still a work-in-progress but we think we have what hardware goes in a column pretty well nailed-down.

First some disclaimers:

  • There will be a track schematic along the top of the model board giving siding lengths

  • Model board artwork will be redone for greater prototype accuracy

  • Switch and signal lever plates are shown “old US&S style” but we will install the later style

  • Blue lights for unlocked switches may instead be red

Replica hardware has been ordered from Mike Burgett at CTCParts.com for the lever knobs and all the plates.

Replica hardware for the code and call-on buttons, and the indicator bezels are being fabricated on my Sherline lathe and mill (more on this later.)

We plan to use steel main panels and model boards that have been cut on a CNC water jet. Once the plates from Mike arrive, we can prepare final CAD drawings for the panels.


Unless you are familiar with a US&S panel, a little explanation may be in order.

Starting at the top we have the model board. Red lamps indicate that an interlocking (or control point) is occupied. Likewise, white lamps indicate occupancy of intermediate blocks.

Blue lamps show that an operator has inserted a key in an automatic locked turnout and taken it off-power. Operators cannot use a key without dispatcher permission. The idea of locating Power Off lamps along the bottom of the panel was found in a US&S builder’s photo of a machine being built for the Clinchfield.

MC stands for Maintainer Call. When thrown to the right and coded, a white light illuminates on the layout fascia. These are located at every interlocking. When the dispatcher wants to talk to a crew, he will in advance set the home signals to stop and light the lamp. A crew, when stopped for a signal, should look for the illuminated light and pick up the nearest crew phone. On the prototype these lights were found on the side of relay cabins, but fascia lights will be easier to notice.

The top row of levers control switches and unlock siding switches.

The lower row of levers control signals and hand-off trains to the next dispatcher at the ends of the machine.

The upper row of pushbuttons produce Call-On control codes. These are pressed and held in prior to pressing the corresponding code button in the lower row. Call-on overrides certain, but not all, interlocks for moves such as a locomotive returning to his train.

The bottom amber lights illuminate when Maintainer Call field lamps are on.


CTC machines are full of long wires; some machines may contain over 1000 that run from one point to another. I’m not very good at neat wiring, so a circuit board was in order to help eliminate most of the wires and make the remaining ones easily manageable.

Here we see the first prototype board mounted on the back of an LED mounting fixture. First on the left we see a maintainer call switch. The fixture has a hole for these so that a small wiring harness can be made to attach it to the leftmost connector pins on the PC board. Those pins can also drive up to 3 LEDs on the model board.

The leftmost green LED indicates switch position. A yellow LED is soldered below it.

To the right of the A&O logo are the pins for the 60 degree 2 position switch lever. It is a standard Mouser part.

The black integrated circuit is a 16-bit I2C GPIO chip. It reads all the switches and drives the LEDs. By deploying one on each column we can funnel control of up to 128 switches and LEDs down to a daisy-chained cable containing just 8 wires (gold pins along the bottom of the board.) The I2C buses and CTC machine management (approach bell, etc.) will be managed by an inexpensive Arduino processor board. Most likely the Arduino will make the CTC machine appear as a collection of CMRI hardware boards to the main computer.

The rightmost green LED is one of three signal indicator lamps.

Next is another 8-pin connector that goes to a mini wiring harness serving the code, call on and MC lamps.

At the right end of the board is the 30 degree 3 position rotary switch for controlling signals.

At the far right is a call-on pushbutton switch.


Some of the replica hardware is home made. Many modelers use 8mm LEDs and a silver painted nylon bezel but to my eye they don’t look right. Also, I could only find the full set of colors needed for the panel in 10mm LEDs. 10mm bezels were far oversize and would end up interfering with the lever plates.

It was time to “think different.” Doug Geiger loaned me a real US&S indicator lamp assembly, which gave up its prototype dimensions. 10mm LEDs were too large in diameter to look right, but a replica bezel could hide some of the excess if it was bored wide at the back but narrow on the front.

Here’s the prototype indicator attached to a panel.

Now the replicas, which appear to need some weathering.


There is just one minor problem with homemade bezels. We need a lot of them, about 161 by current count.

Once the bezels are cut to length (0.3 inches), the only way to hold them for further machining is in a custom sized step collet. Sherline sells inexpensive blank pot chucks for this purpose. This is the final step of adding simulated spanner wrench slots.


Beautiful job on all of this stuff Bob. Those bezels look great!! And the board layout will really help out with a lot of the wiring.

I"ll be able to pitch in to help stuff some boards after I get back from a little R&R in Alaska. Should be back around the 21st.


Super cool Bob! This will add some serious play value to the mothership! Those LEDs look very realistic when combined with your scratch built bezels.


Would you consider listing the part numbers of the switches that are being used for the CTC stack?

The PCBs looks like an excellent idea as well; I wonder if Mike B with CTCparts has ever considered going to that model in the backend of the machines he is making?


Rick L -

There’s good news and bad news. The good news is that I’m happy to give you the Mouser part numbers.

2-position, 60 degree: SR2616F-0202-18F5B-D8-N
3-position, 30 degree: SR2612F-43-21RN

The bad news is that Mouser now shows both of these as special order. There are still about 200 of the 3-position switches in stock at the moment. Six months ago Mouser had 700 of the 2-position switches in stock but today none are available. It is also not clear whether quantities less than 1000 can be special ordered. :frowning:

Note that the Mouser catalog shows the 2-position switch as 90 degree but it is really a correct 60 degree.

Switches might be available from other sources. Fortunately we already have just enough stock in-hand for the A&O machine build. I bought them over 7 years ago and made very lucky guesses for quantities!

This particular PCB solution isn’t for everyone. It requires a custom Arduino-based controller board to translate between CMRI protocol and multiple I2C buses that connect to the columns. Arduino programming skills are required. The surface mount parts require better than average soldering equipment and skills. I suspect that most modelers would prefer to use standard CMRI hardware.

One could design a column PCB that connects directly to the CMRI bus. Such a board would require its own Arduino or PIC processor and RS485 interface adapter. However, a reliable source of PC-mount switches would still be needed.

I am aware that the NMRA has been working on CAN bus hardware but have no opinion as I haven’t been following it very closely. CMRI-compatible work by the Arduini group shows promise.


This particular PCB solution isn’t for everyone. It requires a custom Arduino-based controller board to translate between CMRI protocol and multiple I2C buses that connect to the columns. Arduino programming skills are required. The surface mount parts require better than average soldering equipment and skills. I suspect that most modelers would prefer to use standard CMRI hardware.

One could design a column PCB that connects directly to the CMRI bus. Such a board would require its own Arduino or PIC processor and RS485 interface adapter. However, a reliable source of PC-mount switches would still be needed.

I am aware that the NMRA has been working on CAN bus hardware but have no opinion as I haven’t been following it very closely. CMRI-compatible work by the Arduini group shows promise.[/quote]

Thanks for the part numbers; I’ll see if I can scare up other sources besides Mouser. I had to do something similar to source card edge connectors from EDAC, so this isn’t something totally outside my comfort zone.

The arduino requirement isn’t exactly a huge stumbling block in my view - both the cpnode (a CMRI related project that two gents previewed at the latest NMRA national convention) and some of the OpenLCB/NMRANet/whatever they are going to call it next stuff (aka the CAN bus stuff) is Arduino compatible. Also there is a pretty good library for loconet for the Arduino platforms.

The custom PCB appeals to me since I could make a couple and use it in a small panel to allow my yardmasters to allow traffic into the yard or request the exit of train out of the yard and just use some input that I already have on boards that could get it to loconet and my main, JMRI based panel, could handle the logic from there. I can see your point if you want this sans an active PC.


The build continues in between other projects. I just finished turning replica pushbutton caps for the code and call on switches. Shaping the caps was a lot of fun as it could be done by eye instead of “by the numbers.” The final profile was formed on the lathe using a smooth cut file.

Finished pile of 46 caps. A 4-40 set screw firmly holds these caps in place. I aimed for a bit of a rough-turned appearance, similar to a prototype US&S code button in my collection.

Meanwhile an etch marathon produced a stack of column boards ready to be drilled and stuffed with parts. We will need 32 of them. Craig volunteered to solder them up. :smiley:

For those who like to count things, there are 32 of these column boards, each containing an I2C GPIO expander chip that provides 16 individually-configurable input or output connections, so a maximum of 32*16=512 switches and LEDs could be supported. Fortunately not all of them will be needed.


The CTC machine build progresses. Craig volunteered to stuff the surface mount parts and that’s all done. I’ve been adding the connectors, voltage regulator and switches.

We decided it would be wiser to load and solder the LEDs on these boards at the time we mount the boards on the panel. Not every bezel has the same inside depth and we don’t yet have the actual panels on hand to know how thick the panel material will be. The latter will be known once RFQs have been sent out and an order awarded to the supplier. I already received an acceptable bid.

Here are 8 of the 32 column boards ready to be installed and tested. Each is labeled according to the column number and I2C programming address.

Meanwhile, Mike Burgett of CTC Parts graciously did a design review of the panel and came up with some important suggestions, all of which we eagerly accepted. It turns out that OFF POWER lamps signify that an interlocking has lost AC power and is running on battery backup, so they have been deleted. The other major item was the need for an automatic dwarf signal wherever a siding enters an interlocking, so 3 will be added to the layout. Mike also explained that after the dispatcher unlocks the turnout, and the local crew is inside the switch machine, both indicators on lock lever go out. When the crew aligns the turnout to enter the interlocking from the siding, a dwarf (not Happy, Doc or Grumpy) automatically gives a permissive indication. So in three columns switch levers have been changed over to lock levers. A few minor changes involved the color of LEDs on lock levers and traffic levers.


CTC panels will soon be cut on a CNC water jet from 16 gage (about 0.06" thick) sheet steel. The main panel is just over 61" wide, and a smaller wing panel a bit over 12" wide. CAD drawings were prepared using a free version of QCAD, which is primarily open source so most everything needed must be free. Only a few options are proprietary, such as Autocad .DWG import/export, and they work for a few minutes before timing out. QCAD runs on Mac, Linux and Windoz. The learning curved proved easy for this simple project.

I sent several RFQs containing 1:1 scale .DXF files and received an acceptable local bid that should be awarded in a few days. The large panel should fit in my vehicle and is estimated to weigh under 30 pounds.

It was standard US&S practice to drill a full pattern of holes then apply hole plugs over empty holes. Anodized aluminum model boards attach over the wide horizontal cutout along the top. I extended the panel 3/4 of an inch along all 4 edges as a mounting flange. Holes along the perimeter will clear 6-32 wood screws. David enjoys finish carpentry and plans to make a rolling wood cabinet of custom dimensions, designed to easily roll out of the dispatcher’s office for access to a mechanical room.

Model board artwork is final and an acceptable bid was received from a sign shop on the east coast.


You guys constantly have me picking my jaw up off the floor with what you are doing. I hope I can see the A&O in the flesh one day.

It’s going to be one of the true great O scale model railroads.

Regards Daryl Blake
Melbourne Australia


Hi Daryl,

Yes, Bob has done some amazing part preparation for the CTC machine. I hope the rest of the A&O measures up.
Next time you’re in our area be sure to stop by. I’ll do the same!



Rick Lull -

It was great to meet you in person during the RockyOp A&O open house. Hope you can make it to RockyOp North in two years and hopefully operate on the A&O!


Things are getting really serious on the CTC build because we can see the light at the end of the tunnel, and it isn’t blowing a horn at us! Unfortunately, I first need to stuff and wire a large pile of control panel boxes that David built, and also finish the design and construction of a custom 10 telephone line PBX machine.

I’m already salivating with with sweet and savory anticipation of serene sirloin steak aromas of celebration rising above the seemingly-endless build-out of the CTC machine! Try to out-do that alliteration, my friends! :laughing:

Sorry. I’ll try to recompose myself. Just a bit.

Anyway, today was an A&O milestone (David’s word, not mine.) The two of us picked up the two large hot-rolled steel lower panels for the CTC machine at Rocky Mountain Waterjet in Greeley. I really like using the services of a local and small supplier! (A+ for their service.)

This large panel has an active width of 60 inches, the same as prototype US&S panels. Mostly out of view, on the far right, is a short 12" wide “wing” panel (prototype machines were usually 30" wide here.)

Fortunately a first prototype CTC Column PC board fit just fine and that was a great relief! David has his hands on a signal lever shaft on that PC board, trial fitted on the back of the panel. The custom-turned bezels fit just fine. They will be held in place from the rear with 1/2 inch diameter snap rings.

After we picked up the panels I countersunk the perimeter mounting holes to accept #6 flat head wood screws. By design there is an extra 3/4 inch mounting flange that runs around the perimeters of both panels, except for the left side of a short 12" wide wing panel that abuts the main steel panel.

The wide cutout at the top is where the model board and associated occupancy lamps will go. I already have an acceptable bid but am holding off because once those arrive, I*** will ***drop everything else and work only on the machine.

Notice that the steel panel rests on a desktop with a drawer… David has been busy applying his carpentry skills to the construction of a “portable” i.e. rolling cabinet. This oversize desk is mounted on 4 large casters, so that it can be easily rolled out of the Dispatcher’s office for periodic access to a mechanical room. Here is a rear view of the desk, minus desktop and upper cabinet frame. The shelf halfway down and along the rear of the modesty panel will serve as mounting locations for the Arduino processor and other associated electronics. Visible along the top and rear is a large desk drawer on smooth gliding ball bearing tracks. This drawer will hold train sheets, pencils and erasers…

Trainsheets? Consider for a moment the steel panel photo. There is a giant horizontal cutout where the model board panels will be surface mounted. These will be photo-reproduced in aluminum. Magnets won’t stick to them, just as magnets would not stick to a prototype US&S model board. I learned while dispatching A&O 1.0 that magnets weren’t really needed, and often got far behind of the action, but keeping the trainsheet current was golden! I know, a lot of model railroads use magnets as a crutch to deal with the accelerated pace of the model compared to prototype. But to slow things down a bit, and help the dispatcher, we plan to have a phone system that lets the DS finish current work and receive stopped-on-red complaints only when he/she is ready!


A little more progress… Sorry about the poor-quality cell phone photo. Here we see the unit placed in the dispatcher’s office.

The steel panels served as helpful full-size templates while David built the upper cabinet with occasional mis-directed “help” from myself. The upper is quite shallow in depth compared to a prototype, but requires a tiny fraction of internal volume since integrated circuits substitute for relays and shorter parts replace the amazing but deep US&S prototype switches and lamp holders. A PC board in each column eliminates or shortens all of the point-to-point wires branching to rotary switches, associated LEDs, and model board lights and MC call toggle/lamp. The loose lumber laying along the lateral lip of the desktop will become a trim strip. (sorry, ran out of L words!) :laughing:

Anyway, I can’t wait for the day when Craig and I start to install the PC boards and lights. :smiley:

For sound effects, one of these Sparkfun “Surface Transducers” or exciters will be attached to the back of the panel, turning the steel plate into a loudspeaker for “various” and “occasionally unanticipated” sound effects. The nominal effect would be clacking of relays mounted in swing-out bays behind the panel of a prototype cabinet. A transducer is fundamentally a speaker with a very strong voice coil mount or spider, but no cone, mounted to a flexible surface that becomes the cone. The white disk is double-sided adhesive to attach the aluminum flange to the vibrating surface.


Do you anticipate placing similar sound effect generators at each location that the CTC Machine controls?

I helped my friend wire up a CTC machine from CP Stony Point on the Erie. We have the entire unit (except one field unit) wired up and operational. We actually got the machine to operate HO scale turnouts and pick up occupancy. Hearing the relays clicking away is a pretty awesome effect. I think it would add that touch of realism as well.

Perhaps you could program your circuits to generate the sound(s) when they pick up occupancy, receive/send code for throwing turnouts, changing signals, etc…

Lots of opportunities here!

I’ll try to post the video later today…

Mike Walsh


Mike -

I don’t plan to install any relay sounds in field locations. The clicking of indication codes might be useful to the dispatcher, if he/she doesn’t turn off that sound altogether. Road crews would not be able to hear a thing coming out of the field relay cabins. Things happen pretty fast on a model railroad so the constant noise might prove irritating after a while. There will be a volume control so the dispatcher can set a personal preference.

That said, Doug Geiger has a working field unit installed in an alcove under his stairway. The office unit sound that ships with JMRI is a recording I made in Doug’s dispatcher office. I have not recorded his field unit. Although a control code goes to the field, and indication code received from it, there are too many errors in the units for Doug to drive anything in the layout. But the sound pattern changes as different columns are coded, so it is a sweet sound to a “geek” dispatcher.

Also I do not plan to insert a long delay between a single control code going out and the return of its corresponding indication code, even though on the prototype it could be 30 seconds or longer. However, I hope to let the dispatcher quickly code several columns so that the control codes go out first, before any indication codes come back. This does, however pose a bit of a puzzler for a nominal model-railroad “friendly” implementation.

On the prototype, the vital logic is implemented in the field. The DS can code a disallowed request and the field will just reject that, not changing state. The control code goes out just the same, and the indication code shows no change. All too many model railroad emulations sound a buzzer when the DS tries to code something that can’t be allowed, and that reflects that the vital logic is in the office machine, not the field. That’s not what happens on the prototype.

If I do implement vital logic in the CTC machine to keep local model railroaders happy, it might just play a few sounds that vary from a simple buzzer. One might be “I’m sorry Dave, but I’m afraid I can’t do that.” Another might be a sound of Pacman being eaten in the classic video game. Not prototypical you say? Neither is a buzzer.