Model Train Forum banner
1 - 11 of 11 Posts

205 Posts
Discussion Starter · #1 ·
I'm looking for advice/confirmation that I have my blocks laid out correctly for block detection/automation. I'm getting close to finished with the benchwork and its time lay the track and order the electronics.

I'd like to build the layout so its suitable for JMRI to automate, but also leave the option open to use TrainController if I find I struggle with JMRI. I believe JMRI has stricter requirements for detection.

I've been searching and reading for hours and I seem to have landed on the following conclusions:

  1. Detection sections ideally hold the longest train.
    • TrainController really only cares about places it can stop trains and calls these sections "Blocks". It would be happy to ignore short lengths of track.
    • JMRI seems to want to know about every length of track regardless of length and calls everything "Blocks".
    • I think this is a case of detect everything and sort them out later.
  2. Blocks only need a single detection section.
    • Both train controller and JMRI support the ability to "measure" how far the train moves through a block from the initial detection point by having speed profiles set up for the trains. I imagine this has an error within 10% or so.
    • IR sensors can be added for exact stopping if required.
  3. Turnouts should be detected.
    • This is where the advice seems to differ greatly between the two programs.
    • JMRI wants to know where the train is 100% of the time and prefers (requires?) turnouts be detected. Its not clear if they should be their own block or attached to the block at the throat of the turnout. It seems that attaching them to the throat is reasonable as it you will always need the track beyond the throat reserved if something is using the turnout.
    • Train controller treats turnouts or multiple turnouts as "junction streets" and doesnt care to know about occupation. It just picks up the train on the next detection section. Though you can indicate occupied turnouts but not designate them as blocks.
    • This goes back to the detect everything and sort them out later policy.
    • The track beyond frog to the clearance points should be attached to the turnout detection section.
  4. Turnouts should be grouped in terms of possible routes.
    • For example, a crossover should be two blocks because if you make it a single block then it limits two-way traffic then both switches are closed. A basic yard ladder can be a single block as its unlikely that you would ever operate more than one train on it at a time.

With that said, I've landed on the following block diagram.
  • Red is mainline
  • Green is siding and A/D track
  • Yellow are spurs and industry tack
  • Blue/Pink are turnout and clearance detection sections/blocks.
Slope Gesture Font Parallel Circle

  • I'm considering breaking the long mainline runs along the right side of the table into two blocks each, this would allow trains to follow each other more closely.
  • I realize there are three reversing sections. All three upper left loops would work. If you unfold it its a double crossover dogbone with one lobe being a doubletrack. It could be done with as little as one, but it starts to limit multiple train operation and length.
  • Will the spurs coming off the mainline below the yard be an issue? The same problem exists where the spur comes off the siding on the right side and where the right yard ladder comes off the siding/A/D track. I need the full length of the siding for full sized trains which will foul the switch leading to the spurs.

Let me know if you see any glaring issues with the plan.

Thanks in advance.

205 Posts
Discussion Starter · #2 ·
For electronics.

Left ModuleRight Module
BXPA1 #1Lower Main Reverse LoopBXP88 #3Yard Main East
BXPA1 #2Lower Siding Reverse LoopYard Siding East
BXPA1 #3Upper Main Reverse LoopYard Spur 3
Staging Main Down
Staging Main Up
BXP88 #1Yard 1Upper Siding North
Yard 2Upper Siding South
Yard 3Upper Main
Upper West Spur
Yard Spur 1
Yard Spur 2BXP88 #4South Spur
Yard Main WestSouth Spur Turnout
Yard Siding WestEast Yard Ladder
Yard Spur 3 Turnout Group
Upper Siding South Turnout
BXP88 #2Crossover South Turnout Group
Crossover North Turnout Group
Upper West Siding Turnout Group
West Yard Ladder
Yard Spur 1/2 Turnout Group

I like this count as it gives me the option to add as many as 3 additional industry tracks on each module

205 Posts
Discussion Starter · #5 ·
All good questions,

I really want to be able to run it in point to point mode with automation, so that means having full sized trains utilize the sidings.

I was hoping to keep one full length train in staging (green upper left loop), and two on the mainline using the sidings to pass each other, then trade out with the one in staging for variety. I had envisioned using the spurs and yard tracks for local industries and the trains would be under manual control. Perhaps even classifying and spotting cars while the automation works around me.

I don't really see myself running short trains using the yard tracks for visible staging, the 30" really just doesn't make for much of a prototypical train. Probably more of just a place to showcase extra rolling stock than anything.

I plan on using Cobalt Digital point motors, so everything would be thrown via DCC. No push buttons or manual throws. This should keep the computer accurate with the state of the layout. Am I right to assume that JMRI knows the state of switches if thrown with a throttle command? Or does it only know switches thrown with the computer?

As far as signaling goes the prototype has a dwarf signal at the end of the A/D track, and then full size signals at sidings, but none at spurs or classification tracks. I'd hope to match this. This seemed fairly easy in the JMRI documentation. As for all the "extra" signals, they can be left as virtual and just not added to the layout.

I appreciate there could be a lot of savings made by removing detection from the spurs and reporting the thrown status of the switch as occupied. It might let me drop a BXP88. My only issue is I really want to keep the layout in two modules. Limiting the wiring from one to the other is critical, even to the point of underutilizing two BXP88s. Ideally the only thing crossing the modules is the track feeds to the BXP88s and the loconet cable. The BXP88s would then have a power district on their side of the table only. So while I have the BXP88s I might as well use them to do the detection, they also have other nice power management features that really benefit everywhere.

205 Posts
Discussion Starter · #7 ·
Perhaps a different route would be to go with SE8Cs and analog slow motion switch machines instead of Cobalt Digitals.

I think the SE8C could provide turnout feedback via the detection input run through the SPDT auxiliary switch on the switch machine? The sensors are just looking for at least 5V. This would then be over LocoNet rather than DCC, which JMRI can poll for certain. It would also not rely on last known position and could report the actual current state. The sensor seems to be intended for block detection so can JMRI assign it to turnout feedback? Does it need to have this feedback or does the board do that already since it knows the direction of the slow motion machine?

The SE8C would also be needed for signals anyhow, so might as well use its turnout decoding ability and feedback.

This also gives local push button control of turnouts that gets recorded to Loconet.

Do I have this right?

205 Posts
Discussion Starter · #8 ·
Did some more research today. If you read enough pages on the same thing you're bound to find clues! Bits and pieces of information here and there.

I'm now fairly certain the SE8Cs don't require additional turnout feedback, though its still unclear if they report the status on system boot or only after a turnout has been thrown. There are way around this if its true. I can either throw ALL the turnouts with a script before starting operations, or wire the SPDT switch from a Tortoise into the detector inputs. Either way it seems solvable.

205 Posts
Discussion Starter · #9 ·
I found this video that really cleanly lays out what should be detected, where the blocks start/end, and even touches on crossovers. He has a really nice demonstration layout with blocks color coded on the layout showing clear zones and boundaries.

Pretty much confirms what I had found elsewhere, hopefully this isn't just confirmation bias on my part though!

32. Block Detection on McKinley Railway. - YouTube

Hopefully useful to anyone else looking for more direction.

205 Posts
Discussion Starter · #11 ·
Hi Ron,

I've done quite a bit of studying and learning since my last post here. I ended up buying a number of books including Digitrax Big Book of DCC as well as a number of the MR books. I'm waiting on the Signals and Interlockings book, but I think I have a good grasp on it. I'm also testing as I build. I considered TC over JMRI, but really the construction of the layout is the same. TC lets you get away with a few things since it can infer some information, but I wouldn't say its best practice. Once I have the layout up and running on JMRI I will consider TC, though I think I really would need silver or gold to accomplish what I want so there's obviously a large price gap over bronze.

To answer your questions:
  1. I'm using BXP88s, they require that each BXP88 be its own power district (Insulated at both ends), but each block can be a sub-district (insulated on one rail). It important to keep the rails the same. So break the B rails at the end of each block, and both A and B at the ends of the district. I suppose you could break both everywhere, but it would just result in more wires and having a single rail be continuous helps keep flex track aligned. The nice thing about the BXP88 is that it can be directly connected to the booster so there's no need for a power manager since they have their own breakers. Just keep adding BXP88s to the main bus from the booster. BXPA1s get isolated at both ends since they are auto-reversing units. Again, hook straight up to the main bus.
  2. I'm not testing JMRI or TC as I go, but I can see the occupancy sensors working with the test lead that comes with the BXP88.
  3. From what I understand yes this is very possible. I do recommend having detection on ALL rolling stock, and also detecting the track at turnouts. This keeps the software from throwing switches under trains that may be spanning interlockings.

Additional thoughts...
  • I switched from using the SE8Cs for turnout control to DS74s. This is additional cost since the SE8Cs actually can do the turnout control and I won't be using that feature. However the DS74s support routes that can be entered from the new Digitrax throttle. Furthermore, it lets me break the layout into more discrete systems: Power/Train control (BXP88/BXPA1), Turnout Control (DS74) and finally Signaling (SE8C).
  • I also combined the interlockings along the west end of the yard.
  • After much reading you should certainly plan on detecting your interlockings. At the very least they will need a power source on some sort of power management device, why not make it a BXP88 section and be done with it. If each discrete route through an interlocking is a block on a BXP88 they get individual breakers so derailing and shorting one switch will not shut down other routes. This means that crossovers are actually 2 blocks.
  • The same argument goes for your sidings, they need power management, might as well make them detectable too.

Just to further my argument lets look at cost per block (all prices in CAD, I was able to find these online, and in stock).

BXP88 = $180/8 blocks = $22.50 per block
BDL168 + Breakout board + PM42 + breakout board = $170 + $36 + $90 + $36 = $332/16 block = $20.75 per block

Keep in mind that the wiring for the BDL route is going to be way messier, the board is going to be further from the blocks since its 16 blocks all in one place, you only get 4 breakers, and no transponding. Also remember that the device cost is only a portion of the block cost, there's all sorts of forgotten hardware costs such as terminal strips, wire connectors and the wire itself.

205 Posts
Discussion Starter · #13 ·
Power districts are necessary for how the BXP88 wants to be set up. It wants the A rail to be broken into 8 pieces, and the B rail to span all 8. The adjacent BXP88 wants the same thing, they shouldnt share the B rail between BXP88s or you potentially get a lot of current flowing down the common ground. Just don't do it.

The beauty of the BXP88 is that they ARE their own power district. No other devices are required.

The only reason I could think for breaking the B rail within a BXP88's district is if you want to add expansion gaps, or potentially have polarity issues like a crossover and want to use the same BXP88 for both tracks.

This is a snip from the Big Book of DCC showing typical breakdown of the classic timesaver shelf layout. You can see how they combine the switches into control points (switches in the same block). They have used 4 unit detectors and have not shown double vs single gaps, but it gives you an idea of what switches to include in each control point. You can see the "I" block actually contains 3 separate switches.
Slope Rectangle Line Font Parallel

Detecting rolling stock is as simple as adding a resistors to the outer wheels of the rolling stock. Either:
  • Glue a surface mount resistor to the wheels and use conductive paint to connect it to the metal wheels. (DON'T ATTEMPT TO SOLDER YOU WILL MELT THE WHEELS)
  • Use a set of wipers and a truck mounted resistor.
  • Use resistive paint to join the wheel halves together. This will require an ohm meter and patience to get the right resistance.
  • Buy premade resistive wheelsets.

Ron I'm going to point you to the build thread of Mark VerMurlen

Mark did an excellent job documenting his TC layout. The meat and potatoes are really on page 3 or so. Mark used a single block for each stopping section and his trains apparently stop within an inch or so once calibrated.

A warning. This layout WILL make you envious.

(1) Modified Peace River HO Layout | Model Train Forum

There's also some good discussion and pointers from Mark in my first layout design thread.

This layout was not built, but most of it was used for the design of my current one.
(1) L Shaped 8'x8' Layout | Model Train Forum

205 Posts
Discussion Starter · #17 · (Edited)
In my testing of my N scale track thus far I haven't had issues with power or communication with the exception of the time I just flooded the tracks with glue and forgot to clean it. Talk about a moment of panic, "OMG nothing is going to work". Turns out dried, watered down white glue is invisible on top of rail...but makes for one hell of an insulator. I'm not sure what age your O-gauge stuff is but the between the new nickel silver rail and all wheel pickup on my Kato diesels they really don't have any issues beyond my own ineptitude.

I would suggest continuing to design with the one occupancy section per block and then adding either undertrack or trackside IR detectors if you find you need it. Both the SE8C and the DS74 accept additional detection inputs should you require them. The IR detectors are really going to be the best option for exact stopping. TC and JMRI can impose speed limits in blocks where you want the train to stop, so they can crawl to the IR detector and then quickly come to a complete stop.

I bought a couple of these to play with, but I haven't got around to it yet. These are really neat because they are modulated so they actually only respond to their own reflection and don't false trigger with other sources.
CKT-IRSENSE-RA: TrainSpotter with Right-Angle Sensor (

I'm not sure why slow speed would interrupt the communication, or why the interruption is a factor. Coasting over bad sections of track isn't really the solution, but I also don't think its capable of causing the coasting engine to overshoot anything. I know the DCC literature reads that it only sends commands when changes are required (turn lights on etc.) otherwise it fills the space with null commands; except that there's a caveat, "Any engine that is moving needs a regular stream of REDUNDANT DCC commands that tell it to move."

Try this, take your engine and set it to 10% throttle, now lift it off the layout. Set the throttle back to zero then set it back on the track. It won't even attempt to move. Try it the other way, set the throttle to zero, lift the loco off the track, set it to 10% and put it back. It will almost instantly try to move. Point being that if there is a power interruption the loco attempts to stop until issued a new throttle command, not carry on at the last known throttle position as soon as it sees voltage. Furthermore those throttle commands are constantly updated for any loco that the command station has above 0% throttle.

I'm not sure how well versed you are on signaling so I'll give you a real simple rundown on what the Digitrax signaling system is trying to mimic. Keep in mind that every railroad has their own signaling system...

In a real simple world you have 3 aspects. The SE8C can display an optional 4th.
  • Solid Green = Proceed at normal speed for the block (this might not be top speed if it has curves or other features, but you have no direction to stop in the upcoming block).
  • Yellow Flashing = Proceed, but you are stopping at the signal two past this one. (they use flashing in the real world because if the flasher circuit fails it fails into a solid). This might be considered optional, especially if you don't have many blocks between towns.
  • Solid Yellow = Proceed at reduced speed, you are stopping at the next signal.
  • Solid Red = Stop at this signal.
What I'm getting at is as soon as the train pulls power from the block following the yellow signal the timer starts. TC or JMRI know the speed of the train since you speed profiled it, and they know the length of the block. If you use 4 aspect signaling it can even be at that reduced speed as it enters the stopping block which further reduces error since it will be at a constant speed within the stopping block. That loco is either going to make the stopping position or come short if it had some sort of power interruption. If its short enough the tail end of the train will foul the previous block or control point and since you have detection on it JMRI or TC will still consider it occupied and won't throw a switch under it or allow another train to enter it.

Provided you have correctly speed profiled your engines I don't see a situation where the train overshoots due to a bad connection. The failure mode will always be coming up short.

Very cool that you I have the similar goals regarding automation. I really want the layout to treat me as just another agent (can I use computer science jargon here?), setting routes and signals for me all while running its own agents around me. I think this will help the layout look busy, but avoids just having 2 or 3 loops set up that don't interact.

205 Posts
Discussion Starter · #18 ·
As soon as I get my DS74's and 50' Loconet cable I'll start having some better JMRI testing information available. I'm hoping maybe by this time next week.

A hard wired LocoNet backbone boosts your house's resale value right?

205 Posts
Discussion Starter · #20 ·
You are probably not missing much not having the book. The book while considerably out of date (published in 1999) still has some useful stuff in it. But the best parts were the case studies that Digitrax put out on their website anyhow.

Case Studies (

The Norcross Southern is a good case study to read.

I guess there is an edge case where the locomotive enters a block at speed while also not making connection, maybe coasts a few inches before being detected. In theory this could put you out the far end of a block. I guess it depends how tight you want your block length compared to your train size. Myself I am planning 72" long trains in minimum 90" long blocks. My hidden staging blocks are even larger. If the computer cant hit it with 18 inches of grace I give up!

I had the same question for Mark.

"TrainController can profile the speed of locomotives so it can fairly accurately stop a train at a certain spot, plus or minus and inch or so. " - Mark

My bus wire showed up in the mail today, hoping for my Loconet cables tomorrow. Should let me get some sections actually hooked up properly, thus far I've only been feeding the track through a single set of feeders.

As a side note I ended up spending all afternoon tinkering with some new Digitrax sound decoders. Interesting fact: they still run after you blow up the capacitor, so long as you cut it off so its not a short circuit! I blame the capacitors, cheap aluminum oxide ones. I already have the much smaller and more resilient replacement tantalum ones on hand. Trains with sound, very cool. My one year old loves it!
1 - 11 of 11 Posts