JMRI: How to set up Signaling in JMRI
Author: Bob Jacobsen

# JMRI: Signaling Quickstart

The following step by step instructions describe in detail how to set up Signaling in JMRI.

- JMRI Signaling in 7 steps
- Magic SignalMan Set Up

## Start to use JMRI Signaling in 7 steps

Thanks to Suzie Tall.

### Steps

1. Launch PanelPro and from the Tools > Tables > Turnouts menu add the turnouts on your layout to the Turnout Table.
2. Next add the physical signals you installed on the layout to the Signal Mast Table:
   1. The easiest way: if you are using an accessory decoder that can drive the Signal Masts natively and supports the NMRA Standard 9.2.1 Extended Accessory Protocol (PDF) just add the Signal Mast using the 'DCC Signal Mast Decoder driver' and when prompted, input the Aspect numbers configured in your decoder against each Aspect. Decoders like the Signalist SC1 have different Signal Mast types preconfigured and you just select the correct table with a CV and get the Aspect numbers from the manual. Other decoders will need some setting up to define the Aspects to be displayed to an Aspect number. See your decoder manual for what to do here.
   2. If you have more basic signal decoders (the Digitrax SE8c for example) or a command station that does not support the Extended Accessory Protocol (Lenz for example) you will first have to configure the individual Signal Heads that make up each Signal Mast in the Signal Head Table and then go to the Signal Mast Table, add the appropriate Signal Mast Type (eg. AAR-2 Triple Head Searchlight) and configure it using the Signal Head Controlled Mast driver, adding in the Signal Heads that you have previously defined.
   Pick one of the available Signaling Systems, such as AAR-2 in our example, and stick with that. It is a bit of a faff but not too much work. (For more information on the individual signaling systems distributed with JMRI, see this page; for more info on how this works, see the page on aspect signaling)
3. Go back to the front screen of PanelPro and from the Panel > New... menu create a new panel with Layout Editor and draw your track plan.
4. Right click on the Turnouts and anchor points on the panel where you want signals and choose 'Set SignalMasts'. You can then choose from the list of Signal Masts that you entered in the Signal Mast Table for each possible location. Not all anchorpoints or turnouts will have a full complement of signals.
   You will probably have some locations (e.g. in a hidden section) where you do not have a physical signal but in the real prototype there would be one - in these cases just add a Virtual signal of the appropriate type by using a Virtual connection type in the Signal Mast Table.
5. Right click on each signal and click 'Signal Mast Logic > Discover'. JMRI will then magically create all the required logic to set the aspect of that signal, based on the turnouts and aspects of the next signals on all possible routes.
6. Add your sensors to the Sensor Table to any Blocks that have physical block detector feedback on the layout and assign each Sensor to its layout Block. Skip this bit if you are not using block detection and just setting the signals manually to hold behind the train.
7. Run the trains and watch the signals change following your chosen rules. Note that there has been no need to refer to the rulebook and no need to create Logix or anything like that. It is just a case of inputting your layout configuration, Signaling System (AAR-2 in our example) and hardware.

### Notes

- The nitty-gritty of using the Layout Editor is not explained here, but you will soon get the hang of it and that is the hardest bit. It takes less time to create a working layout panel for the average layout than it took to type this up so that shows how easy it is to start with Signaling with JMRI.
- You might start with software signals on a panel only, gradually adding signal decoders and model signals on the layout. When you have decided on the hardware solution and signal System to adopt, you can build the full definitions from the start. Otherwise use the Virtual signal type and replace them with a new Signal Masts later.
- Watch out when disabling Aspects. Not all Signaling Systems are able to deal with key Aspects being disabled because it is not always possible to include an alternative in the aspect mapping for some masts (e.g. when the alternative aspect has the same speed and divergence settings). Don't be surprised if when disabling an aspect the alternative that is displayed is "Stop". So, disabling should be done with care. If you want to disable aspects it is usually best to configure the Layout Editor so that the offending aspects will not appear because the track conditions will not allow it by using speeds on blocks and so on.
- If you prefer the flexibility of the Control Panel Editor for duplicating specific prototype panels you can still use Aspect Signaling and its Signal Mast Logic. You will just need to add some items manually.

## Magic SignalMan Set Up

Thanks to Jim Duncan.

With Dick Bronson's new SignalMan hardware all you need to do is:

1. Choose the signal system (searchlight, color light, PRR, B&O, etc.).
2. Create a new Signal Mast by clicking the "Add" button at the bottom of the Signal Mast Table.
   Do NOT try to define individual Signal Heads. You do this when you assign which ports are lit as you setup the programming on the boards in the field!
3. Define what aspects the mast is allowed to display.
4. Set up the signal connections:
   - Choose the Block the signal protects
   - Select the next signal down the line:
     - If there is one route only:
       - Select the next Signal down the line that each signal protects
     - If there is more than one route past signal:
       - Select the Turnout and Thrown/Closed state
       - Select block protected for given route
       - Select signal protected on this route
       - Repeat for all possible routes past this signal
5. Program your board to respond to the signal number sent on the control line:
   - Define the ports lit for each Signal Aspect:
     - Select Signal Aspect to display from pull down list in the decoder file
     - Select Port (head and lamp, e.g. H1R, H2G, etc.)
     - Repeat for all aspects that the Signal is allowed to display
6. Load the programming to the SignalMan board.
7. Connect your hardware signals.
8. Open the Tools > Tables > SignalMasts menu, go through each Signal Aspect and observe signal behavior to check your programming and connections
   Hint: It's easier to reprogram the board than it is to change the wiring connections!

### Notes

- That's about as basic as it gets! This will work for all of the Panel Editor types.
- Do NOT try to use the auto-block feature with a panel created in Panel Editor. It'll just sit there and make you wait forever and not do anything so it's actually easier to do all the route logic yourself!

Back to the Signaling main help page.