You're reading ...
Hardware, Project Progress, Software, Traincontroller

Traincontroller 33: Physical Signals on the Layout

It can be nice to enhance a layout with physical signals, just for some ‘eye candy’, or maybe to get closer to the possible ideal to create an as prototypical as possible model railway.

The blocks in Traincontroller have ‘internal’ signals by default. These are used by TC to control train traffic. Physical signals on the layout do not have any function with regard to train control, they are merely there for the nice visuals.

The signals on the layout require some hardware. The lights, in my case, are red and green LED’s. They are switched by a DCC accessory decoder. Via a DCC address the signal is switched form red to green, and back, by Traincontroller.

I use Arduino microcomputers as DCC decoders. One Arduino (which can be had for as little as $4,-) can control 8 signals, a very money efficient solution. Every LED has a resitor, the value of which depends on the type of LED’s you use and on how bright you want them to light up.

The Arduino DCC function decoder software that is used can be downloaded here.

The schematics for the opto coupler circuit can be found on the Software page.

Two things are needed to get a signal working:
1: We need to tell TC to what DCC address the signal is connected on the physical layout.
2: The signal needs to be coupled to the internal TC block signal.

The video shows how this is achieved.


About RudyB



23 thoughts on “Traincontroller 33: Physical Signals on the Layout

  1. Hi Rudy
    Thanks for this video, I will be adding physical signals soon.
    Is it possible to create a time delay so that the train moves off shortly after the block signal (and therefore the physical signal) have changed to green ?


    Posted by Alan Overton | March 23, 2020, 17:12
  2. Hi, I setup my panel before watching this episode. Instead of adding signals to the switchboard, I setup the DCC connections in the block ends themselves. It seemed intuitive and want to know if this is an acceptable way of doing this.

    Another question is, when I go into simulator mode, and I will assume live mode, some of my signals are red, some green. I would like to run as CTC, so all signals should be red.

    Maybe this is the better question:

    I would like to use Train Controller as a dispatching tool. I would like to:

    1) Set all signals to Red at the beginning of the session.
    2) Assign Trains to Locations and follow them around the layout (manually run by crews).
    3) Allow the dispatcher to clear a route for any train (set signals to green up to a certain point).

    I’ve been reading the documentation but haven’t figured out the best way to do this. Please advise.



    Posted by Larry Landes | May 11, 2019, 13:32
    • Hello Larry,

      If I understood well, you connected your signals as in video 34. That is a perfectly acceptable way. In fact it is the easiest way. The drawback is that TC now fully determines green and red.

      1) Set all signals to Red at the beginning of the session.
      This is possible using the method of video 32. Some logic using flagmen and conditions to accomplish this will have to be added. It will probably be a lot of work.

      2) Assign Trains to Locations and follow them around the layout (manually run by crews).
      This is possible by switching the engine to manual control and either select some Routes or start a Schedule. TC will reserve the needed routes and will switch the signals, the operator has to drive the train, watching the signals.

      3) Allow the dispatcher to clear a route for any train (set signals to green up to a certain point).
      Select the routes needed and they will be reserved … which sets the signals to green. Selecting a Schedule does the same, but the amount of reserved blocks is limited according to the ‘Look Ahead’ rule setting in the Schedule.

      Greetings, Rudy.


      Posted by RudyB | May 13, 2019, 08:42
      • Thanks for the info. Regarding setting all signals to red. I added a button on the switchboard, then added all signals to the Operations. The dropdown at the bottom has the red signal selected. When I go out of edit mode and click the button, I would assume all signals would go to red. There is something I am missing. Please advise.


        Posted by Larry Landes | June 6, 2019, 23:10
      • It is impossible to me to advise without knowing exactly what you have done so far, what you try to accomplish and how your signal logic is programmed. I’ll send you an email then you can send me your TC file and we can have a look together.


        Posted by RudyB | June 7, 2019, 09:37
      • Ooooo,, not good. I followed your video to hide all of the internal signals, make the blocks one square shorter, then added real signals to each block end. Now when I go to Dispatcher, it shows that none of the blocks are connected to the switches.

        Help, what did I do wrong? How can i fix this?


        Posted by Larry Landes | June 6, 2019, 23:30
  3. Hi Rudy,

    How could this be made to work on Train Controller with a DCC system such as digitrax that does not have the capability in the command station to define a signal icon/function? Or does it not make any difference which DCC system is used?



    Posted by John | January 20, 2019, 13:49
    • It does not matter what DCC Command Station is used, as long as it sends its DCC commands on the rails, the decoder reads the data from the rails and if it recognizes an address then it switches the signal, a light, a servo on that address.


      Posted by RudyB | January 20, 2019, 15:16
  4. Hi Ruud.

    Over the last few days, I have created my own Website (

    I have put a link to this YouTube Video on:

    You get mentioned on a number of pages. You can find them all with this search:

    If you would rather I removed any or all of these, please let me know.

    Sorry, I should probably have asked for Permission FIRST. I was just so enthused by what you have done for the rest of the world here, I didn’t think first.


    Posted by Warren | April 25, 2017, 05:12
  5. Dear Rudy,
    Thank you for the video. However I would like to learn what kind of code that Audriuno using with this setup.


    Posted by Ahmet Cenk Gultekin | April 17, 2017, 11:26
  6. Hi Rudy, many thanks for the great videos. I’am trying to build a signal decoder myself, inspired from your webpage. Unfortunately I am having some trouble to do so. I’m stuck in line 20 and 43, can you give an example what to put in those lines? (I only want to shift between green/red)


    Posted by Brian Ottens | April 17, 2016, 19:11
  7. Hi, Rudy,

    Manu thanks for all the video’s about TC, but also about arduino.
    I have a question about using the arduino to switch signals.
    I have downloaded the last version of the Arduino_DCC.
    Then I change the several input for signals: address 101 of pin 10, address 102 on pin 11, and so on.
    Only one signal works, all the other don’t function. It is only the one, last on in a row.
    So if I disable pin 12, than pin 11 works, not 10, If I disable pin 12 and 11, then pin 10 works.
    How can I use 16 signals with one arduino.
    I hope you can give me some answers. You can also answer in dutch.
    Thank you,



    Posted by Jos Govaarts | October 24, 2015, 17:29
  8. First of all, thanks for a great hustler time of Train Controller. This is just as well the best there is here on the net, easy to understand with a good explanation.
    When the signals are mounted, it is possible to replace them with shortcuts on both the computer keyboard and handheld. But nothing happens with the train. This should be done with switches that you have described, the train starts when sinalet change, but how

    Bjarne – Denmark


    Posted by Bjarne Pedersen | September 30, 2015, 07:38
    • Bjarne,mthanks for your kind feedback, it’s appreciated. I’m afraid I don’t understand your question well. A trains starts when you activate a Schedule or an Autotrain move and if the first part of the route is free and can be reserved, or if you tick in the Rules ‘train may stay in block’, it will stat as soon as the route comes feee.


      Posted by RudyB | September 30, 2015, 09:54
      • I understand that very good,
        What I mean you can not start a Schedule by switching signal manually with hot key ect. But it is probably not possible to start one shedules the way, I found out.
        But you can switch signals with a keyboard hot key and handheld, in the same way as switch tracks, but nothing happens!
        Can there be created a system that makes this.


        Posted by Bjarne Pedersen | October 1, 2015, 07:59
      • Indeed nothing happens, unless you couple switching of the signal together with oter operations, use the signal as a trigger for a flagman and let it start a Schedule for instance. But thne I’d rather switch the flagman and let the Schedule switch the Signal. Physical signals are only meant for ‘eye candy’, not to control train traffic.


        Posted by RudyB | October 1, 2015, 11:19
  9. Thanks Rudy, Are you looking interlocking points and signals as a video?

    cheers Darren JOHNS of Australia..


    Posted by Darren JOHNS | September 29, 2015, 11:35
    • Hi Darren. I had not yet planned such video, but if you think it could be useful to a broader audience, it can be done of course. Could you maybe ‘sketch’ a specific situation that you had in mind. If it is as straightforward as ‘point is straight > signal should be green’, that can be done by placing this point position in the trigger of the signal.


      Posted by RudyB | September 29, 2015, 13:25
  10. Hi

    Just a comment, i have used the signal setting under the block, if you select the signal type, dubbe click on the signal you are able to specify address here, defaults etc. Then up to 4 aspect type of signal is under block control and yellow works also.


    Posted by Erik loet | September 28, 2015, 15:16

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Archive of all posts


%d bloggers like this: