More Turntable Stuff

All Switch-Kats have been programmed (a very, very easy process) and I’ve reprogrammed the turntable as well.

The Switch-Kats worked flawlessly right away, and the turntable worked great… most of the time. However, there were a couple of instances during which the turntable motor simply stopped mid-rotation, as though it forgot what it was supposed to do.

I assumed the issue was one of three things, and I remedied each of them as follows:

Assuming the wall wart that powers the Arduino, shields, and motor was too weak (it is only 0.8A / 3V) I purchased a 5A / 12V wall wart and swapped it. Bad idea. The DCC shield got very hot very quickly, and the turntable had so much torque that it ticked like a clock when it was supposed to be microstepping. I resorted to the original wall wart.

Assuming the CAT5 cable between my controller and the layout needed to be replaced, because the little plastic piece that clips it into the plug broke off a few days ago, I purchased a new one. I’m not sure if this would have affected a command that’s already been sent to the Arduino, but it was broken anyway so it had to be replaced. Here’s the new cable (exciting, right?):

Assuming the motor was getting too hot (all stepper motors get hot when they are drawing power, whether they are at rest or working), I bought an aluminum heatsink. Here you can see it on the top (bottom) of the motor, where it tends to get hottest:

I’m not sure whether it was the controller cable or the heatsink that did the trick. I’m guessing it was the cable. Now, the turntable more stable than it ever was, and is working reliably.

For posterity, here is the Arduino sketch I am using for the NEMA 17:

#include <NmraDcc.h>
#include <Wire.h>
#include <Adafruit_MotorShield.h>

#define DCC_ADDRESS 7 //Change accessory address here.
NmraDcc Dcc ; //Declare DCC Shield.
Adafruit_MotorShield AFMS = Adafruit_MotorShield(); //Declare Motor Shield.
bool firstloop = true;
//Comment: getStepper(steps, stepper#)
//Stepper# is which port the motor is connected to. If using M1 and M2, indicate port 1. If using M3 and M4 indicate port 2.
//NEMA 17 Stepper Motor has 200 steps in 360 degrees.
Adafruit_StepperMotor *myMotor = AFMS.getStepper(200, 2);

//This function is called whenever a normal DCC Turnout Packet is received.
void notifyDccAccTurnoutOutput( uint16_t Addr, uint8_t Direction, uint8_t OutputPower )
Serial.print(“DCC Turnout Packet Received\n”);
if ((Addr == DCC_ADDRESS) && OutputPower){
Serial.print(“Move 180 degrees\n”);
myMotor->step(100, Direction, MICROSTEP); //Move 180 degrees in the specified direction.
} else if ( (Addr == (DCC_ADDRESS + 1)) && OutputPower){
Serial.print(“Nudge 1 step\n”);
myMotor->step(1, Direction, MICROSTEP); //Move 1 step in the specified direction.
delay(200); //Wait 200 ms for debounce.

//setup(): This is executed first and only one time.
void setup()

while(!Serial); //Wait for the USB device to enumerate.
Serial.print(“Start Setup\n”);
AFMS.begin(); //Create with the default frequency 1.6KHz.
myMotor->setSpeed(0.025); //Set speed for 1/2 rotation per 1/2 minute., 2, 1); //Setup external interrupt, the pin it’s associated with that we’re using, and enable the pull-up.
Dcc.init( MAN_ID_DIY, 10, CV29_ACCESSORY_DECODER, 0 );//Call the main DCC init function to enable the DCC receiver.

Serial.print(“Setup Over\n”);

//loop(): If the DCC function detects a signal, it will call notifyDccAccTurnoutOutput on its own.
void loop()
if (firstloop) { Serial.print(“First Loop\n”); firstloop = false;}
Dcc.process(); //Calling this method makes the DCC shield check for new communications. It must be frequent or a message may be missed.
//myMotor->step(100, FORWARD, DOUBLE); //Move 180 degrees in the specified direction.

Oh, and I also added a holster for the controller, which I’ve put off for a long time:

In the background of the heatsink photo (earlier in this post) you can see that I added adhesive cable clips to some of the longer feeders and to the bus wires. So, I’ve really finished just about all of the wiring projects I had planned, and now I think I’m ready to start working on the terrain a bit more before adding a fascia and backscene. Pretty exciting. I’m already past the stage I was at with the former module, and I’ve only been working on this module for a few weeks. I anticipate that things will decelerate a bit now, as I’m moving into new territory.

Six Switch-Kats in Situ (Say That Ten Times Fast)

Tonight I repaired the single dead rail by soldering its feeder wire. I had unknowingly severed the wire with a quick-splice clip when attaching it to the bus wire yesterday. Here’s the repair:

I had already severed another feeder with a quick-splice clip, but I realized I had done it right away, so I was able to repair that as I was wiring the rest of the module.

Because I already had the module tipped up, I figured it would be a good evening to start wiring the Switch-Kats. These are simple decoders that connect to the bus and give each turnout a DCC address. This will allow me to select each turnout with the controller and it will translate my inputs into “switch left” or “switch right.”

I mounted the Switch-Kats using plastic standoffs, as I had done with the Arduino, and situated each one a few inches from the wire leading up to each respective turnout. I angled most of them, as I will need to access the “top” end to insert a jumper wire when putting them into “program” mode.

Here they are before wiring them to the turnouts:

And here they are, wired to the turnouts:

And here they are connected to the bus wires:

I still need to add some anchors to keep wires secure, but otherwise I think I’m done with all “under the table” wiring. I will be adding a couple of holes on the back to run power cables through; this will allow me to anchor them a bit more securely. I’ll also be adding a hole on the right side to connect the bus to the next module. I will wait to tackle this project until the fascia has been added to the back.

Now it’s time to program the Switch-Kats and reprogram the Arduino, and LSR will be back in full operation.

Running Again

I spent four or five hours this weekend wiring up the track, sans the turnouts and turntable, which I will likely get around to later this week.

Engines are running without any significant issues except for a dead rail on the far side of the turntable where the engine shed will be; so I need to re-wire the feeder to that rail. I will post pics of the underside of the module when I’m repairing that.

For now, let this picture of my super helpful cat suffice (she fell asleep on my screw-gun case while watching me test the engines):

Tables Have Turned (Almost!)

I don’t have many photos to show for it, but I spent five or six hours yesterday mounting the motor and truing up the alignment. I mostly figured it out, but it wasn’t as simple to install as I expected!

I also mounted the Arduino/motor shield/DCC shield tower and wired it up. There’s no power yet, but that should be coming soon! I left plenty of space to reach my hand between the motor and the tower. One of the most frustrating issues with LSR’s first iteration was that some under-the-table components were too close together, making it difficult and uncomfortable to make adjustments.

Additionally, I am altering the track plan a bit to make better use of the left-hand side of the module. In the following track plan you can see that I’ve pushed the goods shed access track further back. This opened up a larger yard around the station platform and adds a bit of “flow” and balance to the overall design.

LSR and extension


Turntable Well

Well that was less than easy. I realized too late that the circumference of the hole was too small, so I had to freehand it. As a result, I over-carved the hole and had to go back and fill it in with Dap Plastic Wood. This extended the project by a couple of days, but the well is now fitted. Not as slick as it could have been, but still pretty slick!

More of the Same, Part II

Spent a few minutes roughing out the track. Kato is insanely easy to work with. Runaround is long enough for two-car passenger operations, which is exactly what I was hoping for, as I will be mostly running mixed trains. They will be split upon arrival, with the 0-6-0 Bellwether handling the goods while the 2-8-0 (which will be christened soon) runs around, pushes the coach to the platform, and then turns around on the turntable before topping off with water and coal for the return trip.

Then I started on the recess for the turntable, using a hole-cutting attachment on a Dremel. I will have to “scrape” the recess out using another Dremel attachment. I started before realizing how much dust it makes. This will be an outside job.

More of the Same, and Some New Toys

Continuing the LSR rebuild, I was wondering how to “end” the rails leading to the second module in such a way that they could simply butt up against the corresponding rails without worrying about fishplate connectors, extension track, etc.

While I was sanding splinters from the new module this evening, it dawned on me that I could cut the roadbed out from under the ends of the rails, and then have the rail-ends jut out over the fascia (which I already plan on doing for track leading onto the turntable).

Here is the underside of a short piece of test track, after I cut the roadbed back with a razor saw:

And here’s how the rails might look jutting out over the fascia, after a few hills have been carved at the corners:

I think this is a good solution. It might look a bit odd, as there will be about an inch of rail without ties, but once it is all painted it shouldn’t be too obvious.

In addition to adding that one short fascia, I put some adjustable feet on the bottom of the module, 1′ from each corner:

Most importantly, I received this today: a DCC-equipped Dapol 38XX Class 2-8-0 steam engine, and a couple of 3rd class Collett coaches. Good incentive to keep moving along with this project!

A funny side note:

These would have arrived yesterday, but the postman who was delivering the parcel read the contents list and saw that it contained chocolate and cream. He didn’t want to leave it on the warm porch, so he left a note and asked if I would rather pick it up at the post office. I called and let him know that “chocolate and cream” is the livery scheme on the passenger cars. I don’t think he understood, but he said he’d deliver the parcel anyway, as long I wouldn’t hold him accountable for any spoilage.

And Now For Something Completely Different… But Almost the Same

It has been a while since I’ve posted anything, and here’s why: I made several “mechanical” decisions long ago that are now compromising the operational integrity of LSR.

I had been spending too much time fiddling with the Tortoise (SMAIL) under-table turnout switches because they weren’t working consistently. The remote Tortoise mounting system was complicated and required constant adjustments, and the SPDT switches weren’t powering the frogs reliably. As a result, my engine often got hung up on turnouts and I could only get it going again by turning the power off and then on again. Over time, these turnout issues would only get worse. In retrospect, I should have simply used solenoid switch machines from the start.

Also, the stepper motor that drives LSR’s turntable continually fell out of alignment and caused the deck to lean. This was probably due to the slight warping of my poorly planned mounting block. Unfortunately, I couldn’t simply re-mount the motor due to the spatial needs of track wiring. Had I planned to mount the motor separately from the turntable I would have wired the entire layout differently (you may recall that my initial plan was to use Peco’s long-promised but never-delivered DCC turntable motor, which would have mounted directly to the underside of the turntable).

So, for the past couple of months, rather than flipping the module over every time I wanted to run my engine, I decided to spend my time assessing these issues. If you know me at all, you’ll know what that means. I don’t accept change right away and I sit with new ideas for a good long time before acting on them. After much deliberation I’ve finally come to the conclusion that I need to replace all of my turnouts, which means that I also need to replace the rest of my track. In turn, this means that I also need to replace the baseboard. Essentially, I am starting over, but I intend for this rebuild to move along very quickly.

I’ve purchased nearly all of the necessary materials already. I will be using Kato Unitrack, which snaps together easily and makes the grueling act of soldering feeders obsolete. I’ve used Unitrack in the past, and  having now experienced Peco  I prefer the reliability of Kato’s turnouts despite the snappy action of solenoid switches. The most difficult part will be making Kato turnouts DCC-friendly. For that, I will rely on six NMC Switch-Kat decoders. I sold my Tortoise (SMAIL) machines on eBay and purchased the Switch-Kats with the proceeds.

The only drawback of using Unitrack is that it isn’t just rails mounted across ties   the ties are built into a rigid roadbed which is molded to look like ballast. This is what makes Kato so reliable and easy to install, and for a mainline it looks pretty good out of the box. For stations and yards, though, there’s the cosmetic problem of roadbed height. In a real railway station you won’t usually find the tracks sitting high up on a layer of ballast; rather, the ties will be level (or nearly level) with the ground. To counteract Unitrack’s roadbed height, I will use 3/16″ foam core board to raise the surrounding terrain. I will then fill the gaps between the foam and track with Woodland Scenics’ Foam Putty.

In the idle hours a couple of weeks ago, I also decided to redesign the layout a bit to cut some wasted space and add operational interest. Here is the track plan that I’ve come up with, along with a proposed extension:

LSR and extension

This module will be 12″ x 66,” so is 4″ thinner than its predecessor. You will also notice that I removed the siding in front of the station and added a siding behind it for the cattle dock and (more importantly) goods shunting.

As for the turntable: I am reusing the Arduino, motor shield, and DCC shield, but I am changing the mounting system for the motor. This time, instead of using a 14″ length of dimensional lumber with a hole drilled into it, I have 3-D printed a mount to keep the motor flush with the well of the turntable:

Nema Mount

This is designed to fit my Nema 17 motor, and it will be attached directly to the underside of the baseboard. The hole that I cut for the turntable will only be recessed halfway through the baseboard above it, except for a “through” hole for the shaft and another for the feeder wires.

Additionally, I used TinkerCAD to design a 3-D printed turntable “mounting ring” that specifically fits the Peco turntable and lifts it 1.59mm   just enough to reach the bottom of Kato’s rails. I considered using cardboard or balsa wood for this, but I was afraid that it would warp and cause alignment issues later on.

Peco Turntable Riser for Kato Unitrack

Now it’s time to get building!

I picked up a slab of 3/4″ birch plywood and asked the clerk at the shop to make a few rough cuts. Rather than purchasing dimensional lumber for the frame, I simply asked if he could rip some 3″ strips from the excess ply. The cuts aren’t perfect, but with some sanding they will suit their purpose.


I cut a rectangular notch from of one of the 3″ boards to fit the plug for the DCC throttle. Then, I used wood glue to tack the longer sides to the baseboard. After that, I cut a couple of shorter sides of 3″ board and glued them to each end. Finally, I countersunk some 1½” construction screws every ~6″ around the perimeter. Pretty simple, and the whole operation took an hour.



Here you can see it in place, with the motor mount and the turntable ring ready for service:

Tomorrow, I will sand down some edges and then add fascia, feet, etc. In 3-4 days I should already be wiring and laying track. Stay tuned!