As many of you saw last week on the forum, my team and I at Hikel Layouts & Trains have introduced the first PC interface for DCS, which includes the capability to run trains or control your layout from mobile devices such as iPads and smartphones. There has been a fair amount of speculation and some partial explanations shared on the forum already, so I wanted to take the time and start a new thread that explains our system. Please post any questions or suggestions here.
Over the last few years we have been constructing a 3200 sq. ft. 3-rail Scale layout known as the NorthWest Trunk Lines. The layouts owner, Peter Hambling, insisted on having the option of running the layout from a computer. Peter wanted to be able to put on a good display for visitors even when he’s the only one operating the trains. As you’ll see, the computer interface has the ability to put on a pretty good show.
We approached the problem of layout automation as a third party with no specific loyalty to one brand or even scale of trains. We wanted to integrate the best products we could find for each task. Full layout automation requires three elements. First, you must have a system to control the trains, switches and accessories. Peter already owned numerous locomotives with Protosound 2, TMCC, and Legacy. That made the first element simple. The NorthWest Trunk Lines uses both DCS and Legacy to operate the locomotives. Switches and Accessories are routed through DCS. The second element for automation is detection. No automation system can reliably operate a layout unless it knows where the trains are located. Neither DCS nor Legacy currently offers any form of detection that can translate the position of a train into a digital command. However, this capability does exist in several DCC control systems. After researching and testing our options we selected NCE’s detection hardware to generate occupancy data. The third element of layout automation is the software that translates the detection data into a meaningful representation of your layout and issues appropriate commands to the train control system. There are many software programs on the market that offer widely varying degrees of automation. The Java Model Railroad Interface (JMRI) is one such program that is free and open source, but has limited automation capabilities. RocRail is also free and open source with more automation capabilities, but is not easily integrated with TMCC. The most capable program, and the one we ultimately chose for the NorthWest Trunk Lines, is RR&Co. Train Controller. Our task was to link all three elements. Each manufacturer uses its own unique codes that must be translated to a form the other can understand. We created out own custom software that performs the translation in real time, which we call ProtoNet. ProtoNet intercepts the communications from each system while they are on your homes local area network (LAN). With ProtoNet, elements of all major command control systems can be used together for the first time.
All the technical jargon doesn't matter unless the combination of systems offers improved operations and features beyond the excellent capabilities of each system when used independently. Folks are generally aware of the capabilities of DCS and Legacy, so I want to share with you a bit about the new features that go beyond normal command control.
RR&Co. Train Controller allows you to create a schematic graphic of your layout with very simple drawing tools. In a matter of minutes you can represent even the most complex track plans, including less common features such as 3-way switches, turntables, transfer tables, and over/under crossings. The top software package even allows you to create multiple control panels that cover portions of your layout. This is especially useful if you have a multi level layout where overlapping tracks could get confusing. In the case of the NorthWest Trunk Lines we've spread the track plan across four control panels. You don't need a monitor for each panel, but it works well for us when we have a large operating session.
Clicking on a turnout toggles it's position back and forth. You can also place buttons anywhere on the control panel to turn on track power, active an accessory, throw all the switches in a route, or even a combination of functions. In this photo you can see I used a round push button for track power and a diamond shaped push button for a route that throws all the switches between the yard track and the mainline.
Once you've drawn the basic lines of your layout, you can add occupancy blocks. Most of the time, a block is defined as the track between turnouts. Each block is associated with one or more (3 for best control) detectors. For 3-rail, each detector can be a simple section of insulated outside rail. If you prefer, you can use IR or other detectors in lieu of insulated sections.
Adding detection opens a whole new world of possibilities for you layout. It enables the computer to know which tracks are occupied and which are open for running trains.
The next step is to add your locomotives to the roster. You can enter any Protosound 2, Protosound 3, or TMCC equipped locomotive into the roster. You can give each locomotive the name you like, select the softkey and function features from a library of available buttons, and even enter helpful tips to remind you of each function. Ever wonder which idle sound sequence to use when pulling up to a water tank? Enter a tip for desired softkeys and they'll get a pop up reminder when the mouse floats over each button. You can even enter a photo for each engine that will appear in the roster next to the name.
With your layout and roster created the real fun begins. You can drag and drop the image of your engines from the roster to their location on the layout. Now the computer knows not only that a block is occupied, it also knows what is occupying the block. As you drive the trains around the layout the image of the locomotive will move as successive blocks become occupied. You can even click on a locomotive in one block, drag it to another block, and the computer will take care of all routing and speed commands to safely get the train from point A to point B. Here you can see the software reserving a route in yellow.
You can even create a schedule for a train to run making one or more stops along the way. At recent operating sessions and displays on the NorthWest Trunk Lines we have has a couple passenger trains running pre defined routes and making stations stops. Unlike the record/playback systems in DCS and Legacy today, these schedules are base on the train arriving at an actual location, not just time and speed commands. Maybe something goes wrong with a coupler and your train running on a schedule breaks in two. You intercede with your remote and stop the engine, recouple the cars, and get the train moving again. With the current systems you would have drive the train back to it's starting point and star over. With this new system the computer will pickup right where you left off and proceed to the next station.
Another great feature is the ability to trigger an event when a train passes a particular location. On the NWTL we have set up several locations where any passing locomotive will blow it's horn or whistle just as would be required on a real railroad. Have an early PS2 engine without the SXS grade crossing sequence softkey? That's OK. You can add it as a macro that operates the standard horn or whistle button pressing the correct sequence.
Have you ever wished you could have a steam engine enter labored chuff as it starts climbing a hill and have it stay in labored chuff without holding down the button on the remote? You can do that too. On the NWTL any steam engine climbing the Kicking Horse Loop will engage labored chuff when it starts climbing the hill and return to normal chuff when it reaches the top. Conversely, steamers running down hill will automatically engage and disengage drifting chuff. Diesels passing the same points will rev up or down appropriately. Like blowing the whistle or horn, these are simply events that can be triggered wherever you like on the layout.
Most people want be able to get up away from the dispatcher's desk and follow the trains as the computer runs them. Or better yet, run another train manually at the same time. You can still use your DCS, TMCC, or Legacy remotes at the same time. However, you now have another option. A software extension for RR&Co. Train Controller, called SmartHand+, supports any mobile device that has wi-fi and a web browser. Up to 32 devices can connect to a built in web server. The server sends a locomotive control window or control panel view as an interactive web page. Simply enter the URL for the server into the address bar of your web browser and the panel appears. You can access lists of your control panels or locomotive roster and quickly swap back and forth between different views.
On the NWTL we use iPads around the layout as our local control panels. We didn't have to make hard wired panels for each section of the layout. Different devices work well for different purposes. My own phone is an HTC Thunderbolt running Android. It works very well for locomotive control, but is a bit small to use as a control panel. Tablets or a laptop are more user friendly as control panels. However, if all I have in my hand is the phone it will still throw the switches just fine.
This was the interface that we demonstrated at the MTH booth at York. I brought along a wi-fi router and my laptop from home and set it up so anyone could use their own phone to connect and run an engine on the layout. We also set up detection so people could watch the images of the locomotives moving around the layout. The layout MTH had on display not their normal York layout. Sadly, that layout had been stolen while in route home from the I-Hobby show in Cleveland. If we had had the normal layout you would have been able to throw the switches as well as run the trains.
I first demoed our layout control package to Mike Wolf at the April, 2011, York. After a while it became obvious to all of us that this system was too cool to not let other folks have a chance to put it on their own layouts. However, Mike Wolf wanted to give people a chance to use at least parts of what we developed without committing to full layout automation. So, we have begun the work to offer locomotive and DCS system control capabilities that can run as a stand-alone app on iOS and Android devices.
Our goal is to offer the first iOS app this spring. This will be a free app that gives basic locomotive control similar to the DCS Remote Commander. In the months that follow we will release a paid version of the iOS app that duplicates all the current capabilities of the current DCS remote as well as free and paid versions for Android. Here's a look at our preliminary artwork for the iOS app.
We received a lot of useful feedback from folks coming up and using the system at York. I hope all of you who are interested in the apps and our full automation package will post your ideas here. We've come a long way already but I know we can make the system better with your help.
You can look for more on the apps and our full automation package in upcoming MTH catalogs, in the pages of OGR, and here on the forum. MTH will be handling the distribution of the apps through iTunes and Google Play. The full automation package is tailored for each layout depending on the number of detectors required and the software package you prefer. While the apps are a little ways off, we're ready to start putting together automation packages right now. For those interested, you can send us your track plans and we can quote you a price for your layout.
On a personal note, I want to thank Mike Wolf and the folks at MTH for allowing us be the first to bring computer and mobile interfaces for DCS to the hobby. We hope these efforts will draw new people to the world's greatest hobby.