This is my first post on OGR, so please be kind. : ) Some brief info about myself. I grew up with a 4x8 HO layout that my father and I built. That layout is long gone, and I gave up the hobby for many years while I pursued a career in systems programming/architecture, started a family, and purchased a home. I am finally in a position with my own 16x23 room in my basement for a permanent layout. We always ran my grandfather's O Gauge set around the tree at Christmas. I grew an appreciation for the level of detail and functional accessories available for O versus HO at an early age.
I have spent the last 2 years refining a three-level layout for my space featuring a switching yard with 2 spurs for incoming breakdown and outgoing staging, turntable, and every aspect of the PA coal business in the 1940s-60s from mining, coking, to distribution. High level objectives are min O-72 on mains and O-54 on yards. Three passenger stations are in the layout.
Given the number of switches in the design it would be extremely difficult for a single person to operate multiple trains concurrently. What is needed is automation. Given my background, the electronics aspect of the hobby really interests me, and I am looking to apply programmatic solutions to this problem. I have researched options and here are my conclusions.
1) DCS and TMCC are prohibitively closed and expensive. Advanced automation does not seem possible on these platforms. Every control plane is proprietary. Every hardware component speaks on a closed protocol and costs $100+. This is not tenable.
2) DCC is open and supported by DCC++ and a wealth of open software written in Java. A wealth of options exists to extend it using Arduino in a cost-effective manner. DCC is the clear winner for my goals. As a bonus, the DCC decoders offer more functionality than what comes stock in most MTH and Lionel models.
3) Block management in DCC++ is there, but it is very rudimentary. As an aside, I see that some folks on here have automated blocks using relays and didn't use a software solution. You folks are gods among men. : ) Designing such a solution would be an intense exercise with no room for mistakes. I am looking to create something more modular whereby blocks are conceptual in the software tier and managed completed in software via DCC. Some challenges as I see them:
- Block presence: Third rail has the unique ability to reserve a rail just for this purpose. I see many others have wired just a side and center rail just to determine if a block is full. I plan to do the same.
- Block location: DCC can issue commands to units anywhere on the layout, but it knows nothing of where the unit is located. I see that HO folks perform tricks using resistance in axels to infer this. This does not seem ideal. I have read a few articles on RFID tags. Before reading them, this was my first thought given some work experience on systems using them. RFID tags cost spare change and the readers can be bulk purchased from Aliexpress for about $5/unit. What I have not seen is an example of anyone building a network of readers feeding into a central DCC controller reporting block data. Armed with this info, many options (including AI driven automation) become possible. Networking the readers is where things could get expensive. Naively one could use 1 Arduino unit per reader within antenna range and then simply network the Arduinos over USB or BT. The Arduino costs would get high doing this when an Arduino could service multiple units outside RFID antenna range. Has anyone tried using a cheap null modem on the RFID antenna to communicate with the Arduino over a longer distance?
- Block management: I don’t want to share all of my engineering efforts, but conceptually I envision a train layout as simply a graph database with nodes representing switches and relations representing tracks. The nodes are connected at run time (when running a train) using directed acyclic graph (DAG) traversal methods with collision detection with other routes. I think this could lead to some portable software routines universally applicable regardless of layout spec. Is there anyone else pursing such a project?
I look forward to hearing everyone’s thoughts. I am excited to be part of this community and learn from the wisdom everyone has to offer. In a world where folks are trapped on screens all day, it brings me joy to combine the physical world, an appreciation of history, and STEM in a way that brings joy to my son and others.