Considering DCC++ with PC Power Supply vs Digitrax

Rob Emenaker Jan 26, 2023

  1. Rob Emenaker

    Rob Emenaker New Member

    4
    5
    1
    I'm new to the hobby and just purchased my first Kato locomotive and working on a layout design and pretty soon I'll have to make a decision as to whether I'm rolling my own DCC system, or buying a Digitrax setup. Price isn't an issue for me so Digitrax seems like an attractive no frills way to get going, but I'm also an IT guy who has extensive experience with linux systems, pc building, coding, etc. so I'm intrigued by the prospect of building my own DCC system using DCC-EX. I plan to use JMRI, but that works with either setup. Is there anything I may not be aware of in making this decision since I'm new to the hobby? Pros and cons that I haven't expressed already?

    Also I have a 850W Corsair Modular Power Supply lying around that has no home. I assume if I go the DCC-EX route I can use this to power my entire setup? My first layout is 4' x 10' with a small L bumping out another 3' at the end. I can foresee running several locomotives, servo switches, lights, signals, etc. Is this feasible? Too dangerous? Silly? Reading the documentation on dcc-ex.com it mentions using wall warts, and cage power supplies from mean well, but not PC power supplies so I'm not entirely sure about this, but it seems like a good fit with plenty of amperage for whatever I could possibly need. There are inexpensive 24pin ATX connectors that provide terminal poles for the individual voltages so I wouldn't even have to cut wires from the power supply. It feels pretty feasible. Any issues with using this with Arduino command center?
     
    in2tech, Sumner and Mark Ricci like this.
  2. Sumner

    Sumner TrainBoard Member

    2,845
    5,999
    63
    Welcome to TrainBoard and a big vote for DCC++EX.

    I use it and it has worked well with my test layout and I can't see why I'll need to change down the road but that is always an option. Not much to setting it up anymore and not much cost so down the road if one wants to get into a commercial DCC setup they won't have put much into it. In fact I'll bet you could sell if for about what you would have into it.

    Personally I'd nix the computer power supply and I have a few of them myself. You really don't want that power (amps) The main reason I didn't use mine is that I've wanted to have the layout powered in districts. One reason is so that if is easy trouble shooting a short or any other electrical issues. My layout is 6' x 24" and will have 4 main power districts with a couple more sub-districts under each of those. I don't want anymore than 5 amps available for a district. Just don't need more and don't want any more amps than that. One can get a new 5 amp 12-16 volt (I'm using 12v) power supply for $12-$15 and you might even already have some so going to something smaller than a PC power supply isn't going to cost a fortune. They are as cheap as or cheaper than a single car.

    The DCC++EX command station in my case is there only for the DCC signal (also using JMRI on a Pi). The signal will go to one of four boosters, each connected to an individual power supply. Off the booster will be a couple circuit breakers (both Tam Valley) for a couple sub-power districts. This gives me a setup with multiple power districts making it easier to trouble shoot and circuit protection with a power supply that doesn't have a lot of amps. I'll have enough power for as many trains as I could ever run and they will be running in the same or different districts and not on the same huge power supply.

    I think at 4 X 10 you might want at least 2 power districts although if you are N a DCC++EX command station with a 2 amp power supply is going to probably run 4-6 locos at a time and will have circuit protection built in. Go with the DCC++EX, have some fun, gain some knowledge and make a final decision down the road a bit. The guys are adding features to it all the time and also being able to use JMRI you have a ton more there.

    Have fun and keep us up with what you are doing,

    Sumner
     
    Rob Emenaker and Mark Ricci like this.
  3. Mark Ricci

    Mark Ricci TrainBoard Member

    481
    652
    13
    I too come from an IT background so DCC EX was of high interest and key in getting back into MRR a little over 2 years ago. It probably was the main catalyst. Currently running JMRI on a Pi but now, with EX Rail and how much DCC EX has progressed, planning on eliminating JMRI and have already installed Arduino IDE on the Pi to code from VNC on a desktop. Unsure whether you need JMRI outside loco decoder programming. Based on your background, I would highly recommend exploring DCC EX before buying anything since an EX system can be built fairly inexpensively.

    From what I've worked on as well as reading different threads on Discord, pretty certain DCC EX can meet your needs; run the locos, servos, lights and signals. Controlling servo turnouts is pretty well documented on the DCC EX website. Also suggest getting on their Discord site. Alot of great and talented people plus will see some amazing things being worked on. Take a look at the JMRI thread too.

    While I don't recall the exact thread, there was some discussion regarding the use of PC supplies but you should review the power supplies thread on their Discord site. Familiar with those ATX connectors to use ATX but much too big. Can run, with no issue, 3 locos (N Scale), lighting, throw turnouts all on a 12V 5A brick.

    IMHO, the pros of using DCC EX
    -Use of Generic Hardware
    -DCC EX the ultimate in customization.
    -An incredibly active development effort and group
    -Commercial level product support on Discord.
    -Enabled creation of a totally "mechanical" switch free layout
    -EX Rail offers a wide range of programming-- MRR objects and includes event handling. A real plus in setting up signaling when using track connected accessory turnout decoders (the main reason I'm in process of going pure DCC EX). One can also throw solenoid turnouts with a L293, a couple of resistors and few wires connected to a few Mega pins, without need for accessory decoder.
    -Space, weight and power efficiency.

    negatives
    -Somewhat cumbersome to source parts
    -Unknown future
    -Requires some level of tech competence to go beyond just running locos

    Can probably come up with a few more +s and -s..... A background in C programming would be helpful.

    The Digitrax system is very good however since running a panel free layout (all layout operations run from a tablet) it would not work. Like the Pi Sprog and NCE too... Very good systems as well.
     
    Rob Emenaker likes this.
  4. sidney

    sidney TrainBoard Member

    1,247
    2,116
    38
    i vote DCC++EX ...and yes to the power supply too...........sumner has a great write up for this....check his site out.
     
    Rob Emenaker and Mark Ricci like this.
  5. Rob Emenaker

    Rob Emenaker New Member

    4
    5
    1
    My word! Such great detailed responses…thank you! Sumner, what you say about too many amps in play is one of the reasons I was a little hesitant. Working with some poorly made PCBs in the past, I’ve seen what too much power can do to poorly made PCBs. Last thing I want is something bad happening. What you said about your DCC command station being there just to create the signal for the boosters tells me I have more reading to do. I was under the impression all of your power went through the command station. The concept of boosting the signal from individual power supplies isn’t something I was aware of (again I’m really new to this). So I was under the impression oversizing my power up front was the move to make, but it sounds more prudent to follow your approach.

    Mark, thanks for the pros/cons as well as the confidence boost to do this based on our similar backgrounds. My C is a little rusty, I mainly code in Python (yeah I know it’s not a REAL language :p) and SQL, but I can get back up to speed :)
     
    in2tech and Mark Ricci like this.
  6. Mark Ricci

    Mark Ricci TrainBoard Member

    481
    652
    13
    The Arduino essentially runs on a "subset" of C - structure and syntax. The fact you have Python exp and understand programming concepts should definitely help. I have very little programming experience and most of the code I use is pieced together from the Discord and EX sites. Honestly, could not have accomplished the goal of DCC EX do more than what JMRI was controlling on the layout, without the help of the EX team to finish code. Learned BASIC on a mainframe, dabbled a little with AppleII Basic, dBase II, SQL, and some PowerShell, but that's it. Though have some electronics..

    eg, what I'm most recently excited about.... This little code.. and LED, resistor to a couple of pins on the Arduino. Enables turnout control and signaling when using a track connected decoder. The Onclose and Onthrow event handlers makes it all happen.

    TURNOUT(1, 1, 0, "Double Crossover MAIN-Service Line")
    ONCLOSE(1)
    GREEN(22)
    DONE
    ONTHROW(1)
    RED(22)
    DONE

    Before, guess the only 2 ways for signals in MRR is use of a bidirectional bus like Loconet or modify-cut-mill the turnout and add some circuitry. oh my...

    Running MRR on DCC EX and open hardware like Arduino is so cool!

    Have fun with it!
     
    Rob Emenaker likes this.
  7. Rob Emenaker

    Rob Emenaker New Member

    4
    5
    1
    Sumner, could you clarify what this means? I’m
    Making an assumption based on my limited knowledge that each of your four boosters and power supplies are have their own isolated areas of track. You said the signal goes to one of four of your boosters. Do all four get the same signal and amplify it for their section of track, or does it somehow know which section the locomotive is on and only the booster for that section gets the signal? It’s probably a silly question. Those Tam Valley boosters look great, but they don’t seem to have any and their site just says this year. Are there others you would recommend? Getting parts seems to be the biggest challenge for DCC++. I’m hoping I can find alternative reliable parts.


    Sent from my iPhone using Tapatalk
     
  8. mramsey

    mramsey TrainBoard Member

    13
    73
    16
    The Arduino IDE uses the GNU C++ compiler to support full "classic" C++ syntax including classes and templates. It is only missing the full set of standard libraries, replacing some with simpler and less memory intensive versions. The INO files are pre-processed to hide some of the complexity of C++, but the complexity can be used if one so chooses.

    Strangely enough, Arduino relates to C++ in much the same way as MicroPython relates to Python3. I had two $4 Raspberry Pi Picos on my desk and flashed one with MicroPython. It ended up being quite easy to use Python to parse DCC EX protocol, buffer commands, generate DCC packets, then send the resulting bit stream to a 12 instruction program running in one of the Programmable IO processors (PIOs) to accurately pulse pins for two motor drivers. So easy, I went ahead and implemented the rest of a basic command station in MicroPython. If only the DCC locomotive I pre-ordered two years ago would show up on my doorstep. Meanwhile, I added PWM support (with momentum and braking, of course) for my existing locos.
     
    Mark Ricci and Sumner like this.
  9. dotzen

    dotzen New Member

    4
    3
    5
    If you enjoy making stuff yourself then you can easily build current limiting circuits to reduce the possibility of a PC power supply turning your loco into a molten blob if something shorts out.
    DCC-EX runs a Command Station on an Arduino (or similar) that creates the dcc waveforms, and this is fed to a Motor Shield (H-Bridge motor driver with current sensing) to actually power the tracks. The motor shield is effectively a booster in a traditional dcc environment.
    You don't need to know how to write C to use DCC-EX, it can be used as a plug and play kit. Of course if you want to get in deeper you can.
    If you want to use EX-Rail for automation you will need to create scripts as shown in the reply above, but the documentation explains this in detail with working examples.
     
  10. dotzen

    dotzen New Member

    4
    3
    5
    If you enjoy making stuff yourself then you can easily build current limiting circuits to reduce the possibility of a PC power supply turning your loco into a molten blob if something shorts out.
    DCC-EX runs a Command Station on an Arduino (or similar) that creates the dcc waveforms, and this is fed to a Motor Shield (H-Bridge motor driver with current sensing) to actually power the tracks. The motor shield is effectively a booster in a traditional dcc environment.
    You don't need to know how to write C to use DCC-EX, it can be used as a plug and play kit. Of course if you want to get in deeper you can.
    If you want to use EX-Rail for automation you will need to create scripts as shown in the reply above, but the documentation explains this in detail with working examples.
    Please excuse the double post, I can't find a way to delete it.
     
    Last edited: Jan 27, 2023
  11. Sumner

    Sumner TrainBoard Member

    2,845
    5,999
    63
    Any boosters you are running are connected to the command station. The CS sends the same signal to all of them and they pass that signal on to the district they are powering. The loco moves across insulated joiners from one district to the next and continues to get any DCC commands in that district since the command station's signal was received and passed on by the booster in the new district. You can see some of the combinations one can have with the command station, circuit breakers, frog juicers, other items and they show one booster but there could be more past that ( HERE ). In addition to boosters for track districts there can be boosters for accessories if you want them like for signaling, stationary decoders to control something or DCC controlled switch machines. Make it as simple or as complex as you want it.

    I want to be involved so my switch machines are either mechanical or servo controlled and I'll operate them as I run a train. Now saying that at some point I might want some automation to throw turnouts and such running another train or two. DCC++EX can do that with either the built in EX-Rail that was mentioned above or with JMRI. Lots of options.

    I'll send you a PM with where I get my Tam Valley stuff as unfortunately they don't advertise here. Looks like they might still have some in stock but call them. Also I would suggest starting with only a DCC++EX Command Station as it will run a number of engines at the same time. Are you N, HO or something else. It is good to put your scale in your signature to get help. Besides commercial boosters I believe the guys on the Discord Channel ( HERE ) or also working on boosters so by the time you need one that might also be a possibility for you.

    Sumner
     
  12. Rob Emenaker

    Rob Emenaker New Member

    4
    5
    1
    I didn’t even think of the signature. I’ll update that later today after work. I’m doing N-Scale, so I think you’re right I can probably get away with just a DCC++EX Command Station and a 5amp laptop power supply like they recommend on the site. I’ll probably go ahead and run feeders from the single DCC++EX Command Station every so often to get good even power all along the rail, then I can easily insulate around those points later to add boosters with more power districts as I grow. I should be able to get some PCA9685 boards to control servos for any switches I’ll have and see how it does. I assume I’ll know when I need more power and I can add in more boosters with their own power fairly easily at that point. Does that sound like a decent way to start?
     
  13. Sumner

    Sumner TrainBoard Member

    2,845
    5,999
    63
    Yep, and you could put in the track insulators as you build now and just jumper past them for the time being.

    One thing to consider is that they recommend a 5 amp supply and that is a good idea as you could run cheap buck converts for the Arduino and about anything else off of it. You won't have 5 amps at the track available if they haven't changed things though in the command station. I believe that the DCC++EX command station cuts power for shorts over about 1.8-2 amps at the track. Still you can run a number of N scale locos at the same time on that current.

    Sid are you reading this? If so I think you have said you have run 5 or more at the same time?? Anyone else?

    I've read about those but since I'm looking for local control I'm running servos with a switch box and servo controller that can be put together for under $10 a turnout ( HERE ). It won't run off of EX-Rail or JMRI but that is fine for me as I'm not looking for automation at this point and could change a servo easily to one controlled that way later if needed.

    Sumner
     
    Rob Emenaker likes this.
  14. sidney

    sidney TrainBoard Member

    1,247
    2,116
    38
    Sumner yes im reading . lol. i have run 6 locos at the same time on my system and i was still under 1 amp. im sure i could run 8 no problem (except i cant keep up with that many) I run N scale with DCC++EX and 3 amp power supply. you wont need 5 amps. also note i do not any consist yet but will at later date , But this should pose no problem at all.....Like Sumner said buck converters are cheap and easy way to lower volts/amps... so a pc power suply would work fine. I my self have had 12 volt 12 amp hooked up at some point in time with out issue.
     
    Rob Emenaker likes this.
  15. lyncher

    lyncher TrainBoard Member

    16
    11
    14
    Very interesting. I've been working with upython on ESP32s and PICOs. Haven't done anything yet with the PICO's PIO. My primary effort right now is developing a mqtt-based layout bus to handle turnouts, signals, block occupancy, etc., but I'm also looking to build a DCC-EX command station. Being able to do everything in python/upython is very appealing and the idea of replacing the arduino/avr/C environment with PICO/upython is very intriguing. (Though I'm comfortable with C/C++, and have probably more years experience with C than python, I much prefer python. I was a professional software engineer - been retired now for 10 years.)

    Would you be willing to share your upython code? I'm guessing you've no interest in taking on any sort of support role, and I'd not expect any. But to bootstrap my own efforts (and learn from a working PIO example!), to work with your code base would be awesome.
     
  16. DCESharkman

    DCESharkman TrainBoard Member

    4,424
    3,176
    87
    Well being in this situation before myself, it really depends on a few factors.

    How many locomotives you have, and how many you might be running at the same time on the layout.

    Then there is the track complexity and perhaps the number of sidings etc that may be in motion at the same time

    And then there is the number of people running at the same time. And the trains they are running.

    The more the complications, the more horsepower is needed from the command system.

    Are you running LCC or are you sampling occupancy etc from current draw on the active tracks?

    Last but not least, how much time you have to implement your layout with the features you want or need to have.....

    If you want to tinker and write code, that is fine. If you want to get up and running then you may want a system to start.
     
    BigJake likes this.
  17. CSX Robert

    CSX Robert TrainBoard Member

    1,503
    640
    41
    Being an IT guy with experience with PC building, I suspect you already know this, but in case you don't: many PC power supplies need a minimum load to accurately regulate their outputs. It used to be that pretty much all of them did, and often that load had to be on the 5v output, so even if you were only using the 12 volt output you needed a load on the 5 volt line (people often just used a power resistor). I haven't really looked into PC power supplies for several years, but my understanding is some of them now do not need a minimum load, though it's definitely something to be aware of.

    For what it's worth, on my 2.5 amp Zephyr I ran 7 trains with 9 locomotives, including one with sound (an Athearn Challenger), a dual motored Bachmann DD40X, and several lighted passenger cars, and it still seemed to have power to spare.
     
  18. Todd Hackett

    Todd Hackett TrainBoard Member

    93
    201
    8
    I modified PC supplies a few years back and found that those did need a small load on the +5V supply. Did not amount to much, think that when I tested this it was 250mA ( ish ). One of the power supply outputs is 'Power Good' which gives a +5V level when the thing is up and operational. Note that at first I just hooked up an old hard drive. Keep in mind that if you do choose to use those supplies, be careful as you can weld with them. +5VDC at 25A to 35A depending, +12VDC at 20A - it can be shocking! -12VDC isn't much - something like 5A if I remember correctly. Note that there is enough head room to use the +5V supply and boost it to 12V if needed. Sure, more component glue but doable.

    Later
     
    Sumner likes this.
  19. BigJake

    BigJake TrainBoard Member

    3,310
    6,382
    70
    Yeah, watching and smelling your locomotive melt when it runs against a switch, shorting out the track, is diSTINKtly unpleasant!

    For N scale, <5 amps per track district strongly advised, for the above reason. Keep in mind, well planned track districts tend to self-limit the number of trains per district automatically. Unless you're hauling borax with 40-mule-team lash-ups.
     
  20. DCESharkman

    DCESharkman TrainBoard Member

    4,424
    3,176
    87
    It gets even trickier when you are running two long trains in opposite directions, east bound & west bound, with hundreds of cars and distributed power on each train then add the passenger trains to the mix.
     

Share This Page