Introduction

Blog & News

About the Model Railroad

RTAC Software

Videos

The Randall Museum in San Francisco hosts a large HO-scale 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 Museum Model Railroad and I maintain a separate tech blog for all my electronics & software not directly related to Randall.

2026-06-10 - Fixing the Speaker on the Bachmann UP #9538

Category Randall

Last year, I changed the mainline automation to use UP #9538, a GE Dash 8-40CW made by Bachmann. These feature a TCS decoder, and I had good success running them in automation, good enough that I then acquired a second one to be able to swap the units easily. Then in January, after running for about 10 months, the sound stopped working on the first unit, so I swapped it for the backup unit whilst I’d investigate the problem.

And that’s what we’re looking into today. My first thought was to do a decoder reset. That’s because I’m used to LokSound decoders that routinely misbehaved on the automation and which were mostly fixed by a reset (thus pointing to a software defect). But that didn’t fix the TCS decoder here. Maybe the audio was totally muted? That’s possible on the TCS decoder, but then the TCS Audio Assist would still work… and it didn’t. Well, it did seem to work, but without the sound -- which makes the feature hard to use ;-) OK fine, let’s admit it: the speaker is likely dead so let’s investigate on the hardware side.

First, we need to open the engine. Kudos to Bachmann here as this is a fairly trivial operation.

This particular engine is catalog number 68514, and its store parts page can be found here. This has an exploded view diagram (PDF link) which is the same as the one provided in the box. Although that doesn’t explicitly tell us how to open the engine, we can infer it from the diagram:

  • Remove the couplers, front and back -- this takes a PH0 screwdriver.
  • Lift the shell. It slightly gets stuck on the front as there are two small snap-fit joints in the front (they hold the snow plow) that prevent the front of the shell from sliding out. Just push the snow plow gently by a quarter of a millimeter to clear it.

OK, that was easy.

Once we open it, we can see the inside. It’s a fairly neat and simple design. There’s a long TCW keep-alive board with 3 generous caps mounted on the bottom, and a TCS 21-pin decoder on the top. The TCS decoder neatly uses a PIC32 processor and a Winbond memory chip on the other side of the board. I just happen to have a fond memory of using PIC12 processors decades ago with their amusing 12-bit instruction set.

Now, in my case, I want to isolate the speaker. As is usual with Bachmann engines, the speaker is in the fuel tank -- a design I don’t like too much because the speaker’s magnet tends to accumulate all the metallic debris from the track, potentially perforating the speaker membrane.

The fuel tank is held to the body by only 3 screws. However the problem is that the speaker wires have no play -- they are tucked inside during assembly between the board and the motor behind some white masking tape. Using pliers, I had to carefully unroll the speaker wires to give it enough play to move the fuel tank on the side.

Inside we find a fairly standard 28 mm round speaker, rated 8 ohms at 0.4 W. That seems an unusually low power wattage.  The fuel tank screws also use a PH0 screwdriver; however the speaker is held in place by two small metal tabs with fine PH00 screws. One of them was loose.

A quick continuity check with a multimeter on the speaker measures an open circuit instead of the expected 8 ohms.

Getting a replacement speaker is easy enough, as 8 ohm 28 mm round speakers are very common from HO scale, although they typically come in 1 W or 2 W variants such as https://amzn.to/3PVyc2Z or https://amzn.to/4vxHnpg.

In the picture above, we can see a little piece of metal at the bottom of the calipers -- it was stuck on the speaker, picked up from the track. Ideally I like to place some kind of fine mesh in front of the speaker, yet right now I have nothing fine enough for the job.

Here’s the speaker replaced by one from the https://amzn.to/4vxHnpg 8-pack I just received:

This one seems to have a tiny bit less sensitivity than the original speaker. I had to boost the master volume CV in JMRI from 70 to 100. On the other hand, it’s allegedly a 2W speaker rather than a 0.4W so it should hold the charge better. It sounded fine and provided a clear sound.

The new speaker seems to be half a millimeter thicker than the previous one, yet there’s enough clearance to put the fuel tank back in place. I’ve also replaced the white masking tape by proper polyimide tape, as it help keeping the wires against the body when placing the shell in place:

Placing the shell back in place took only a couple of minutes. It’s a tight fit yet it’s not a fight.

I also have the second engine to fix. That one went mute merely 3 months after operation. I’d venture it’s the same speaker failure. Since the speaker wires are folded under the engine, I will need to open the shell the first time to pull them in the fuel tank. When re-assembling it, I’ve left the extra speaker wires in the tank. That means next time I need to replace the speaker, I won’t even need to pull the shell off at all.


  Generated on 2026-06-13 by Rig4j 0.1-Exp-907a6e8