The following is a brief description of the prcess of converting an early Bachmann G Scale (Large Scale) Climax to use a DCC-EX EX-CommandStation to provide an inexpensive battery and WiFi solution for controlling the loco.
(Click on the image to the left to see a video of the climax)
The history of this project is that a good friend of mine purchased two second-hand Bachmann Large Scale Climax Locos and a Shay very cheaply, and he gave me one of the Climax locos. Neither of us being into G scale I suspect a slight ulterior motive 🙂 in that he knew that I would be sufficiently intrigued to want to figure out how to rig it for WiFi and battery use that I would be able to help him with his.
And of course I was intrigued.
I know there are systems out there that would allow me to modify it for DCC, WiFi and battery, but they looked expensive and complicated. I was looking for something simple and cheap.
I already had a fair amount of experience with DCC-EX and was aware that other people had successfully gone down that path. So I was not going to be doing anything 'new', but it was new to me.
In essence, what I was going to do was:
Install a DCC-EX EX-CommandStation inside the Loco.
Have the Command Station output DC (PWM) directly to the existing circuitry in the loco.
Have an inexpensive battery in a following carriage.
Use the Engine Driver app on my phone to talk directly to EX-CommandStation in the loco, which would in turn control the loco.
Effectively I was going to have relatively unmodified DC loco, with its own DC/DCC Command Station in it, providing its own WiFi Network, which I was going to talk to directly from my phone.
I have now completed both my own Climax with a sound decoder, and the one for my friend without sound. (But if he can source a sound decoder it will take only minutes to install.)
As a basic capability, an EX-CommandStation can output either DC (PWM) or DCC, on either or both of its two outputs. So I could drive the loco, with its original circuitry unchanged, on DC. And at the same time drive an inexpensive DCC Sound Decoder off the second output.
An ESP32 based EX-CommandStation has decent WiFi built in, and can easily work with Engine Driver.
An EX-CommandStation with a high quality motor shield (an EX-8874) is only about AU$75 total, delivered.
I had reasonable experience with them, and there is a great support team available on Discord to answer my silly questions. 🙂
Note:
I could have just as easily used an EX-CSB1, ready-to-run EX-CommandStation to do the job of the ESP32 plus separate motor shield. It would have been less work, less risk and taken up less space. I chose not to primarily due to cost.
An EX-CSB1 is ~AU$205. The ESP32 + EX-8874 is ~AU$75.
The cables and battery are the same price either way.
They are AUD$18 on AliExpress from the official Keyestudio store. But I have seen them for a lot less on AliExpress.
The advantages of the ESP32 over the more common Arduino Mega approach include:
Smaller
Wifi Built- in
Cheaper. More powerful
Still plug compatible with standard UNO shields
The disadvantages include:
Some modifications to the EX-8874 are needed.
Note: Compared to some of the other ESP32 options, the Keyestudio IOT ESP32 PLUS Development Board requires only minimal tinkering with the Motor Shield.
An EX-8874 motor shield
I already had several spare ones. But to purchase new is ~AU$55
Note:
The standard, ommon, cheap, motor shields that are available are limited to about 1.3 amps. The DCC-EX EX-8874 can output 5 amps per channel.
I had already done some basic testing and concluded that the Climax would draw over 1.5 amps under load, so the EX-8874 was the only practical choice.
Also, the standard motor shield would have required more modifications to use on an ESP32 than does the EX-8874.
inexpensive 20,000mah USB-C powerbank
My existing one I purchased from Aldi some years ago, but I just purchased a new one from Big-W, on special, for AUD$22. In the local bricks and mortar stores they normally sell for ~AU$40. Temu and AliExpress sell them for as little AU$13.
I already had one but they are around AU$11.
Some wire and plugs
I already had what I needed, but a few dollars would cover it if you don't.
A old, inexpensive, MRC sound only decoder
I don't think I paid more than AU$20 for mine many years ago. I don't believe they are made anymore buy they still pop up for sale around AU$50.
Any HO sound decoder will work.
An old Android phone to run Engine Driver
I have a collection of them. You can use your own phone or probably find used/ hand-me-down one for nothing, but you can pick up new ones for as little as AU$50.
P.S. you can run them from an Apple iOS phone just as easily, but you may have to pay for one of the apps. ThrottleCard is the app that I have seen most recommended for iOS, and it fully supports DCC-EX.
Total Cost
So my actual outlay was just AU$18 for the ESP32. (Ignoring the cost of the items I had on hand.)
But to do one from scratch is about AU$95 without sound, assuming you have a USB power bank. ~AU$110 - $130 if you have to find a battery.
I deliberately did not want to convert the loco to DCC, but I did do a couple of things to reduce the load on the circuitry. I also went to some lengths to make the changes easily reversable.
In mine (the original) I removed the smoke unit entirely and used the freed wires to connect to the EX-CommandStation.
I hate oil based smoke units. I would never want to use the original smoke unit as it would draw too much current.
In hindsight I came to think that perhaps, in the future, I might like to use a modern vapor based smoke unit, and having the wires there could be useful. So for my friend's version I left the smoke unit intact. (There is a pre-existing switch to turn it off.)
I removed the rail power pickups to the wheels. There was no point me trying to power the rails from my little battery. Also, removing them would make it safe to run on powered rails.
Next, I had to run wires up from the LED flicker board (in the ash pan) back up to the fuel bunker where I planned to put the EX-CommandStation.
In the first version, this was the re-use of the smoke unit wires that I had cut free. In the second version, it was a matter of new wires, and splicing in connections on the LED flicker unit.
Next, was a simple wire and plugs out of the back of the loco to allow me to put the battery in the trailing carriage.
In the case of my one with the sound decoder, the decoder was plugged directly into output B of the motor shield. It was pre-configured on address 3.
The Motor Shield required some simple modifications to be used on the ESP32.
With the invaluable assistance of the DCC-EX development team on the DCC-EX Discord server, we worked out what was needed for the board combination I was using, and I helped them document it here. Turns out that there are only a couple of simple modes needed for the boards I used.
Finally, it was a matter of mounting the EX-CommandStation in the fuel bunker.
I designed and 3D printed a simple mount to let it sit above the factory sound board in the fuel bunker. This also allows for some airflow around the board, and underneath the ESP32 is were I placed the Sound Decoder.
This was the really easy bit.
I only had to install the default EX-CommandStation firmware with a couple of config changes:
Tell it that I was using an ESP32
Tell it that I had a custom Motor Shield config
The A output would be DC at address 3
The B output would be DCC MAIN
Subsequently, after some testing in the wild, I found that the Climax's DC motors worked best at PWM frequency of 62500Hz. So I set that as the default in the config.
As I have kept the original circuitry intact, the lights come on as the voltage is applied to the motor. There is no independant control of them.
Because the loco is still effectively DC, the motor does not start to turn until the throttle is about a quarter of the way up the throttle. Unlike DCC, you can't control the start voltage.
This site was invaluable in helping me understand the electrical side of the loco: https://www.girr.org/girr/tips/tips5/climax_tips.html
The LED Flicker board does not start to flicker until it is at full voltage. The site linked above has a possible workaround for this that I have not tried yet. I also want to try a 15v USB-C cable to see if that helps.
I may eventally move some of the light controls to a decoder.
Removing the smoke unit (if desired) is just a matter of removing the front of the boiler, undoing the two screws
Then, pull the light bracket out of the way...
and slide it out.
To get to the LED Flicker board out, lever the bottom plate down at the back, then wiggle it out of the way.
LED Flicker board exposed
There is plenty of extra cable to pull the flicker board out.
Extra power cables added to go back up to the fuel bunker.
It was easier to slide the new cables down from the fuel bunker, than up from the ash pan.
Extra power cables added to go back up to the fuel bunker, prior to the heat shrink being put in place.
Factory sound board. (Unused)
Double sided taped down out of the way.
Removal of the wheel power pickups.
Undo the 6 screws
Removal of the wheel power pickups.
Cover removed.
Removal of the wheel power pickups.
Carefully lever out the pickups.
Removal of the wheel power pickups.
The consists of a brass sleave, a brass insert, a spring and a ball bearing.
Removal of the wheel power pickups.
All four pickups removed. Repeat for the other truck.
Power feed to the trailing carriage.
The wires need to drop at ~90 degrees from the shaft of the plug, as there is no space to have them stick straight out.
Factory Sound connection board. (Not used)
Thicker wires are the newly added ones from the LED Flicker board.
The wires nearer the bottom are for power from the trailing carriage.
Mounting the EX-CommandStation
(version without the sound decoder)
Mounting the EX-CommandStation (Without sound decoder)
Wires from the LED Flicker board.
Wires for power from the trailing carriage. The wires need to drop at ~90 degrees from the shaft of the plug, as there is no space to have them stick straight out
Note the white plastic plug in the Power socket of the ESP32 (the lower one). This is to prevent accidently inserting the power here.
First loco with the DCC Sound Decoder attached to output B.
DCC Sound Decoder sitting below the ESP32.
Speaker in the Cabin.