Saturday, November 5, 2022

DCC-EX

I've debated for a while whether I should convert my layout to DCC. My venerable MRC Tech 4 power pack has done the job up to this point, but some sort of walkaround control will be necessary once I finally do build my planned shelf extension to the current tabletop layout. I've been hesitant to make the switch to DCC primarily for 2 reasons: cost and increased complexity. I priced out the DCC starter systems from Digitrax, NCE, and MRC and concluded that it would cost $200-$300 just to get a walkaround DCC system, not including the cost of decoders. Being a somewhat miserly individual, it was difficult for me to justify spending this much money on a control system for my small, one-train layout. On the complexity front, I've been reading about DCC technical issues for years in hobby magazines and online forums. I deal with software gremlins enough at work, and the thought of introducing debugging into my hobby was not appealing. 

If I had been in this situation 20 years ago, I probably would have just purchased a DC walkaround throttle. Today, however, a DC walkaround throttle wasn't a great option. There are very few options for new ones, and I was surprised that even the prices for used ones on eBay weren't that much less than a starter DCC system with far more capabilities. Plenty of circuits for DC throttles have been published over the years, and while such a setup could be built for relatively low cost, I'm not well-versed in electronics and I knew it would take me a lot of time to pick a design, find and purchase the correct parts, and assemble it. It therefore seemed inevitable that I would eventually convert my layout to DCC, but I continued to be hung up on the cost. 

The game-changer came last year when I learned about DCC-EX (formerly DCC++EX), an open-source DCC project based around the Arduino microcontroller. DCC-EX is billed as a do-it-yourself DCC system for less than $100, which appealed to both the tinkerer and cheapskate in me. I acquired the necessary parts over the summer and built the system this fall. The combined cost of the system components was indeed less than $100, but there are a few caveats:

  1. DCC-EX requires a computer, and for convenience it kind of needs to be close to the layout. I was fortunate to already have a surplus laptop that could become my layout computer, but the system would cost more if you had to purchase a computer to use with it. 
  2. The only way to control trains in the most basic DCC-EX setup is to do so through the EX-WebThrottle on the computer. To get my desired walkaround control, I use the Engine Driver app on my smartphone. As with the computer, I already had a smartphone that would work but the system would cost more if you had to acquire a suitable wireless device for walkaround control.
  3. The system developers have volunteered substantial time and effort to write the code, test the system, and provide comprehensive instructions. The code may be a free download, but I also made a donation to support the project.


From left to right, the Arduino Mega, the Arduino Motor Shield, and the MakerFabs WiFi board. The Mega is the brains of the system, the Motor Shield provides the power to the track, and the wifi board allows me to use a smartphone as a throttle. I purchased both Arduino boards from Amazon. I had to order the wifi board directly from MakerFabs in Hong Kong, and it took a while to arrive.

Assembly is pretty simple; just stack the boards and run two jumper wires from the Mega to the wifi board. The Motor Shield only has screw terminals for power inputs, so the thing sticking out to the left is a barrel plug adaptor for connecting the power supply.

I used an adjustable "wall wart" power supply for the Motor Shield. As shown, I set the output voltage to 15V. I used a separate 9V wall wart (not shown) to power the Mega.

I rearranged the shelves underneath my layout to make room for the computer, and I mounted the DCC-EX system nearby on the layout frame. I used some old Code 100 sectional track from a previous layout to make a programming track on the shelf.

My TP&W GP35 was the first locomotive in my fleet to get a decoder. Because it has a 9-pin plug, I used the TCS T1A. It was a very simple, plug-and-play installation.

I thought the instructions on the DCC-EX website were very good. I had no issues assembling the components, loading the code, and running my GP35 with the computer-based throttle. The only thing in this process that wasn't super clear to me was when to connect the Mega and Motor Shield to their power supplies. I probably connected the Mega power supply sooner than I was supposed to, but that didn't seem to cause a problem. I think you're supposed to wait until after the code is loaded onto the Mega to connect the power supplies.

The only place where I had trouble was getting the Engine Driver app on my phone to connect to the DCC-EX system. With my phone connected to the DCC-EX Wifi network instead of my home wifi network, the instructions made it sound like Engine Driver would automatically discover the DCC-EX network but for some reason this was not the case for me. I had to manually enter the IP address and port number, and I had a hard time figuring out what the port number should be. There is some conflicting information in the videos on the DCC-EX website, but eventually I figured out that the correct port number is 2560, as shown on the screen shot below. 


I've been using DCC-EX for about a month now, and so far I like it. Having wireless control has been great, and though I'm still adjusting to the slider bar on my phone, I don't really miss having a knob for speed control. I haven't done any programming beyond changing the address, but at some point in the near future I will probably mess around with the speed tables and momentum. This might sound a little silly, but what I probably like the most about DCC so far is bright headlights. I've been so used to dim or dark headlights when running at very slow speeds on DC that it's a very noticeable and welcome change to now have the headlights be at full brightness all the time. 

I'm almost done with my second decoder installation, and that will be part of my next post.