Model Train-related Notes (a.k.a. “blog”) -- these are personal notes and musings on the subject of model train control, automation, electronics, or whatever I find interesting.

2018-05-20 - Signal quality in Advanced Tomato

Category Misc

I’ll just leave this here for those who use Advanced Tomato on their wifi routers: the “Quality (%)” column in the Device List is not a percentage at all. It’s just a delta from the client’s RSSI to the interface floor noise in dBm.

From, line 248:

2018-04-21 - Mobius Action Cam vs Runcam 2

Category Video

The latest video I did was an update of the full “cab ride” layout tour of the Randall Museum layout.

In the past I’ve used the same camera as for all my previous cab rides, a Mobius Action Cam. When I tried to use it after a year of inactivity, I realized the battery is dead and won’t hold a charge for more than 10 minutes. I can order a new battery, but maybe it was worth looking at what had changed in the domain in between. Let’s look at the Runcam 2.

Click here to continue reading...

2017-10-31 - NCE AIU and short trigger events

Category NCE

This is for Randall but I might just enjoy it myself too… The NCE AIU suffers from an obvious polling refresh rate issue: if an input doesn't trigger long enough, it will be easily missed.

Question is what would be the simplest circuitry possible to make an input trigger longer?

From the NCE AIU pdf:

Click here to continue reading...

2017-04-12 - Powering a LED off DCC

Category DCC

Very interesting discussion here:

Summary, TL/DR: We can power a LED directly from DCC, just add a resistor to limit to about 10 mA (or less if too bright).

Suggestion is "nice to have" a reverse parallel diode to limit the reverse voltage on the LED:

However another comment indicates it's enough to compute R to be within the specs of the reverse voltage of the LED (assuming I have the specs).

Click here to continue reading...

2017-04-10 - Layout #3 “Test Track”

Category Train

I tore down my previous layout #2 since it didn’t have a purpose anymore -- originally it was for the kids to play with and for me to play with cameras recognition of trains and automation. I’ve done my part, and the kids didn’t show interest anymore. Being a 4x9”, it was still taking valuable space in my small room. Time to update.

What I cared for is having a workbench and a simple test track on top of it. I came up with a very simple L-shaped workbench design. The workbench is designed to not have any legs in the way and lots of storage space underneath. For the test track, I have a bunch of EZ-Track around so I just used that. It’s suitable for minor switching. I won’t add any scenery, it does not look like a shelf layout since it’s a workbench.

Click here to continue reading...

2016-12-01 - IR Sensors

Category Train

The IR reflective TCRT5000 sensors (specs) are being somewhat obnoxious. Original planning was to mount them under track, pointing upwards, in reflective mode.


  • As planned, they are easily hidden between ties.
  • Current usage is reasonable enough to tap it from the NCE AIU01's 5V supply.
  • Data sheet indicates that in reflective mode, distance is ideally up to 2-15 mm. That does not seem to be a problem when the reflective surface is a truck or tank, assuming the surface is reflective to IR.

In practice, I found the following issues:

Click here to continue reading...

2016-10-11 - JMRI Logix

Category Train

Looking at JMRI Logix, this is a non-script click-o-drome if-this-then-that.

Conditions range from block, sensors. Actions are signals, turnouts, scripts or warrants.

Conditions can act when set or on change.

No direct throttle control, maybe indirectly via warrant scripts to run "auto trains".

One possibility is starting a script when some condition happen.

Seems interesting for people who don't want to write scripts. Tons of clicking to get things done.

Seems ideally suited for simple linear decision trees, not for free-form scripting.

Examples would be signals or turnouts set depending on block usage.

For my automation purposes, it seems fairly weak and I’ll design my own software that uses a text file for configuration. Somehow it makes non-tech people very nervous and Windows users especially seem to enjoy clicking ad nauseum in poorly designed modal dialog boxes instead of having a single text file script they can look at quickly.

2016-10-08 - NCE Limitations

Category NCE 

  • The PowerCab / Twin can only use cab bus addresses up to 10.
    • 0-1 are the internal twin cabs.
    • 2-7 are for throttles.
    • 8-9-10 are for cab devices.
  • The AIU-01 can use only cab bus address 4 or 48-63. That means effectively on a PowerCab bus it can only use address 4, there can't be more than one on the whole bus. Quite disappointing but OK enough for home since I had no plan to have more.

Click here to continue reading...

2016-10-07 - NCE Switch-8

Category NCE

I got an NCE Switch-8 to learn what I can (and cannot) do with it for Randall.

Looking at the electronics on the board… If there’s one thing I like about the NCE electronics, it is that they are not fancy. This is the tech I grew up with and I can look at the board and recognize the components and understand what they do. I hope it will stay like that.

Microproc: PIC16F1936

Pin 1 = Vpp (programing voltage)

Pin 8 = Vss (-)

Pin 20 = Vdd (+)

Power: MCC 7805CT

Front Left to Right : Pin 1 / 2 / 3

Pin 1 = Input / Left

Pin 2 = GND

Pin 3 = Output / Right

On the Switch-8, the large programming header can be used to get the +5 from the 7805.

From top, #2 is the +5 and #3 is the Gnd from 7805 (shared with the GND headers).

NCE AIU-01: there's a similar 7805. A +5V can be soldered on the little through-hole just on top of the 7805 on the board. Measures 5V. For a single IR sensor, use a 220 Ω resistor.

2016-09-26 - Direct Access to NCE QSnap Mk2

Category NCE

From both the NCE USB v7 doc (see NCE web site) or from

Example: 0xAD is for switching an Accy/Signal. There is no provision to read the state.

  • E.g. 0xAD 0x00 0x03 0x03 0x00 ⇒ throw 0x0003 in normal direction
  • E.g. 0xAD 0x00 0x03 0x04 0x00 ⇒ throw 0x0003 in reverse direction
  • 0 is an invalid address.
  • Max address is 2044 (0x7FC) which is a broadcast address for Accy.

Note: when trying in JMRI > NCE Command, "Binary" means hex without x, seriously \o/ ?

Lockout CV 556:

  • Use on Address of input #1, which is 4 for my home one.
  • 556 = 0x022C
  • 0xAF is Ops ACCY programming.
    • AF 00 04 02 2C [0=unlocked | 1=locked]
  • This works. It locks buttons out.
  • ACCY on controller can still be used to throw turnouts.

That means I can trivially command that from an Arduino and bypass JMRI if needed.

 Generated on 2018-05-21 by Rig4j 0.1-Exp-40204e8