DCC++ vs Commercial DCC - Model Train Forum - the complete model train resource
Model Train Forum - the complete model train resource

Go Back   Model Train Forum - the complete model train resource > Model Train Workshop > DCC Forum (Digital Command Control)
Forgotten your password?

Thread Tools Display Modes
Old 03-05-2019, 11:19 AM   #1
Join Date: Mar 2019
Location: PA
Posts: 3
DCC++ vs Commercial DCC

I'm planning a G Scale layout that could best be described as a fun and unique, specific purpose. Assuming that I can pull it all together, I'll share the full details and pictures during the build, and when it is actually installed and running.

I have plenty of experience with HO and G scale equipment, and I develop manufacturing control system software (SCADA/PLC) for a living. Now I want to do a fun DCC type of project. I've been reading up on hardware options, and before I dive in at the next level, get some opinions from the gang here.

Specific Use Case:
- A single G Scale Loco and 2 or 3 pieces of rolling stock, nothing more than that. Ever.
- A single linear rail section about 40 feet long. It will never be expanded. Ever.
- Need to somewhat accurately (+/- a few inches) stop the loco at "Stations" spaced 2 feet apart, so at least conceptually, there could be 20 track segments/blocks to define the stations.
- "Home" is at one end of the track. When the train is at home, give it a command to move to a particular station. It would accel, travel, decel and stop. A separate command would be issued to return home.
- The ability to support a physical and/or PC display based panel to show the status.

I have used Arduino and Raspberry Pi for other home projects. I can program in multiple languages (Basic, C, C++, Javascript, PHP, PLC ladder logic, fluent in Cisco IOS, etc.) so this is not a challenge on the configuration and programming side.

I've done research, but here are some "sanity check" questions. I'm also looking for "Here's how I did it" or "Don't do THAT!" feedback:

I can do *all* of the software control/automation using JMRI?
I can use an Arduino or Raspberry PI with a Digitrax PR4 or Locobuffer USB interface? Would a PC be better?
I can use a monitor attached to an RPI running JMRI to display the panel status?
I can use a Digitrax BLD168 via the JMRI Reporter to get block status?

Assuming no drive train slippage, can you think of any reason that I couldn't use 10 track segments (instead of 20) and program 2 different decel rates to stop at two different locations in a single segment? This would reduce wiring/sensors.

Going a step further (assuming no slippage or load variations) is it realistic to program the stations strictly by speed and run time with no blocks/sensors other than Home?

Is there any reason that I should use ALL commercial hardware & software such as Digitrax instead RPI/JMRI?

Mallet is offline   Reply With Quote
Sponsored Links
Old 03-05-2019, 12:42 PM   #2
Station Master
mopac's Avatar
Join Date: Feb 2011
Location: Missouri
Posts: 4,419
Scales Modeled: HO mainly, N, S, O, G
Welcome to the forum. Sounds like a cool G scale project. Your questions are way above my pay grade. Good luck.
mopac is online now   Reply With Quote
Old 03-05-2019, 01:04 PM   #3
Train Master
Join Date: Oct 2012
Location: Jacksonville, Fl
Posts: 8,019
There seems to be commercially available electronics
designed to slowly start a loco, pace it to the next
stop, slow, stop, slowly restart and so on.

It's discussed here:


DonR is offline   Reply With Quote
Old 03-05-2019, 01:37 PM   #4
Join Date: Dec 2014
Location: Longmont, Colorado
Posts: 1,784
I don't think I can answer most of your questions directly, but you might want to look into DCC++ESP32 (an offshoot of the original, but the main DCC code is synced between the two projects). The ESP32 branch adds wifi control, and also includes S88 and LocoNet functions (which I don't know if the plain DCC++ has?). Because of the networking features, it becomes possible from the raspberry pi to write a script that opens up a port that sends/receives DCC commands. So if you tie some track sensors to S88 or LocoNet, when a sensor is tripped that information will also appear on the network port, allowing your script to respond. For example, if sensor 1 is tripped you can send a DCC command to speed up the train, then start slowing down when you hit sensor 2, and stop for 60 seconds when you hit sensor 3.

My own current setup uses the raspberry pi to set up a private wifi access point. The esp32 runs DCC++ESP32 as a base station and connects to the wifi automatically, and will soon be running S88 to detect track sensors. I also have an arduino set up as a DCC decoder to run servo motors controlling the turnouts. And the esp32 also provides a web interface, so I can connect to the wifi with my cell phone and run the train and turnouts from there. There is maybe $100 in equipment here, not counting the Digitraxx decoders in my three locos, but it sure does provide a lot of possibilities.
Shdwdrgn is offline   Reply With Quote
Old 03-06-2019, 07:04 AM   #5
Join Date: Mar 2019
Location: PA
Posts: 3
Originally Posted by DonR View Post
There seems to be commercially available electronics
designed to slowly start a loco, pace it to the next
stop, slow, stop, slowly restart and so on.

It's discussed here:


Thanks! I'll take a look at that device.
Mallet is offline   Reply With Quote
Old 03-14-2019, 06:37 AM   #6
Rabman's Avatar
Join Date: May 2018
Location: Toronto
Posts: 218
Scales Modeled: HO
Take a look at some of my posts on using DCC++ and controlling turnouts with arduinos and motor shields.

The one thing I would be concerned with is the power draw of G scale locomotives. I imagine the draw is considerable. You would need a booster. The standard DCC++ without any boaster is about 1.5A if u recall. I regularly run four HO locomotives on my layout at the same time with no issues. There is a setting in DCC ++ to bump the short current threshold up.

Other than that I would see little of concern. I would personally make everything from scratch with no DCC off the shelf products as it would be a learning experience. I would use a magnet on the bottom of the loco with a reed switch in the track, IR sensor and LED or something similar.

Also as mentioned you could open a serial communication with the DCC++ base station and send a script. Not sure how difficult that would be from a Pi or JMRI. From a computer it would be quite easy. The tutorial on DCC++ on YouTube shows you how to do it during the testing. Turning track power on/off, etc.

There is also a YouTube video where someone has automated a layout with DCC++ if you search for it.

Hope that helps.
Rabman is offline   Reply With Quote
Old 06-13-2019, 07:28 AM   #7
Join Date: May 2016
Location: Annapolis, Maryland
Posts: 376
Who knew, a DCC specific forum topic area!

So this is a few months old thread and in the HO forum I put this new thread out on making the DCC++ and being happy that it "just worked" (more or less) -- and so it should have gone here.

Anyway on the topic of more amperage -- well I'm a little familiar with Pololus motor shield offerings. I have several of them. [limited use yet some...]

One would imagine the current code base of DCC++ could be ported to either of these other two higher current boards "with ease"... [VNH5019, TB9051FTG ]


I have the VNH5019 already for other reasons... which doesn't mean I'm volunteering really but it seems like it could work instead of the MC33926.

In the HO and one imagines the other smaller scales the amperage needed is probably no more than 1 amp continuous at most [motors stalled out, sound on say and LEDs].

I'm a little familiar with O -- which is in fact why I have these things. The motors are bigger although I don't quite think anyone can state with absolute certainty except from the lionel/mth's mouths directly and they are mum on the topic -- what their amps neds are -- yet we can estimate.

For example I had an MTH SD70ACE apart the other day -- and I happened to notice its bridge rectifier part number and looked it up -- it's an 8 amp part.

Now I don't think MTH thinks that engine draws 8 amps continuously, but maybe with the engine stalled [it has 2 cheap chinese can motors] and the smoke blowing full bore and the sound cranked up and all the LEDs on and the couplers being fired ... maybe its something like that.

So one imagines that indeed for the larger gauges a higher amp rating board would be a good thing for DCC++.
Severn is offline   Reply With Quote
Old 06-13-2019, 02:38 PM   #8
Join Date: Dec 2014
Location: Longmont, Colorado
Posts: 1,784
The 1.5A board usually mentioned with DCC++ is only for testing a couple of locos or running a programming track. You wouldn't use that board for anything larger, however the BTS7960 board is commonly available, really cheap (less than $10 usually), provides up to 43 amps with proper cooling, and is already well supported by the DCC++ group. I can't imagine even G scale needing more power than that.

The caveat here is that the BTS7960 board is not an arduino shield... you have to wire it up yourself, but there's only 8 wires for the interface plus screw connectors for the incoming and outgoing power, and connecting it for DCC++ is pretty well documented.
Shdwdrgn is offline   Reply With Quote

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

» Visit These Sites:
LGB World

Or Our European Train Website ModelRailForum

All times are GMT -5. The time now is 08:57 PM.

Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
vBulletin Security provided by vBSecurity v2.2.2 (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.