A Raspberry-Pi 3B is used to control the routes for the layout. It is mounted inside the control panel. This is an amazing little computer, designed and built in the UK, which uses an ARM 4 core processor and costing just £30. It has numerous interfaces, especially the I2C data bus through which a very large number of remote digital I/O can be controlled.The view of the inside of the control panel, at right, shows the R-Pi near the centre. It is partly masked by a prototyping board fitted with a 5v-3.3v level shifter, a booster for the remote I2C interfaces out on the layout and various connectors. At the top left is the display panel with keypad connector. The push-buttons are wired as an X-Y matrix driven directly from I/O on the Raspberry Pi.To the right of the R-Pi is a 16 channel I2C interface which drives the LEDs on the control panel. Several small I2C digital boards (costing just a few pounds) connect 8 digital I/O to the I2C data bus out on the layout. All the remote I2C interfaces are wired in daisy chain fashion with just four wires, clock, data & two for DC power.
The only direct connection between the control panel and the layout points servos and track sensors, is a single 6 way cable, two for power in to the Control panel and four for the I2C data bus ( 5v, 0v, data & clock ), thus saving an enormous amount of wiring. If other sensors or relays, etc. are required on the layout then all that is required is to add another cheap I2C interface board and connect its four wires to the daisy chain of the other interfaces. There is no need for a monitor, keypad or mouse once the Raspberry-Pi has been programmed. Even if program changes are required to the Rapberry-Pi Route Setting control software, a keyboard & monitor are still not needed, as full control of the Raspberry-Pi can be done via a desktop computer running a Virtual Network Server on your domestic Wi-Fi network. Free versions of VNC are available.
The Pololu Servo Controller still implements the actual route settings, getting a digital track number from the Raspberry-Pi, via the I2C data bus. The sensors for the loco indicators on the control panel are tiny opto-reflective devices fitted between sleepers in the track; reflective tape on the underside of the locos is seen by the sensors. As well as relaying the status of the loco sensors to the control panel LEDs the R-Pi controller is programmed so that it can, if required by the operator, automatically hold a train in the hidden sidings, and later release it, by switching the points.
Control of the speed of the locos is using the free open-source software JMRI DeCoder-Pro.The interface to the track is via a USB connection to a SPROG 3, which in turn generates the DCC signals for the track.Decoder-Pro is available for both Desktop PCs, or laptops, and also for Linux - which of course will run on a Raspberry-Pi. This software allows the DCC parameters for the loco decoders to be adjusted very easily, with full in-line help for the various settings. Initially I ran the Decoder_Pro software on a Windows laptop but now use a second Raspberry-Pi 3B. I did try using the R-Pi in the control panel to run both my Route Setting software and DeCoder-Pro, but there was sometimes a slight delay in response to commands, as my Route Setting software does quite a lot apart from setting the routes.
If you already have a laptop, or desktop PC, on which to run the DeCoder-Pro software then you only need to buy the SPROG 3. This costs £60, with 3 Amp drive capacity, plus £20 if you don’t have a suitable 12V dc power supply. This is much cheaper than buying a standard DCC control system, and gives you easier control of the CVs settings. I decided to use a Raspberry-Pi 3B instead, as I found it more convenient, and at £35 still much cheaper than a dedicated DCC system.The DeCoder-Pro software does have throttles you can use on the R-Pi; however this would require a monitor, keyboard & mouse to be used with the R-Pi, or Wi-Fi connection to a desktop or laptop computer. I use a Wi-Fi connection to an Android mobile phone and a tablet. The free software Engine Driver can be downloaded to phones and tablets for extremely convenient wireless throttle control of the locos.
The Raspberry Pi Organisation also produce a minimal version,the Raspberry Pi-Zero; see photo at right.On Rowandale, one is used to drive a stepper motor to operate the turntable. Programmed with the sequences for energising the stepper motor coils ( via a driver interface ), a single push on the control panel button, causes the stepper motor to turn the table exactly one half revolution; with acceleration & deceleration.
The control & mimic panel is shown below. It is a shallow wooden box with a rigid plastic front. The overlay is printed onto gloss photo paper; A3 size.Route selection push buttons are mounted on the mimic, together with tiny LEDs which indicated the position of locos in the hidden holding bays. To set a route, pressing just the one push-button which lies on the desired route, will set all the points that are required to establish that complete route.
There is also a four line by 20 character display screen which indicates the previous routes that have been set. The associated keypad, can be used to perform a number of functions, such as setting the default routes, initiating train lap timing functions, and train holding features.It is also used to perform various system tests, such as checking all the LEDs on the control panel.
The Route Setting softwareis described and listed here:The page also lists the Pololu Servo Control softwareand the Turntable software.
The sensors for the loco indicators on the control panel are small surface-mount opto-reflective ICs, which fit between adjacent sleepers in the track. They are the same depth as the sleepers and just need a small shaving taken off the edges of the sleepers so that they are snug fit. A very fine tip on the soldering iron, and a steady hand, is needed to solder the fine wires to the small pads on the underside of the sensors.The four wires are terminated in a small 4 pin header, which plugs into a circuit board which limits the current though the sensor and uses a transistor to boost the switching capability of the sensor. The output can then be used to either directly light an LED on a control panel or, as in Rowandale, connect to an input on an I2C interface for onward transmission to the control panel via the I2C data bus.
The sensors are fitted on each hidden track as a pair, separated by 50mm, just before the associated exit points. The first sets a yellow LED on the control panel, and the second a red LED. A section of self adhesive reflective tape is fitted on the underside of the locos, as far forward as possible. The operating principal is that a loco is stopped when the yellow LED is lit; if the red LED is lit then the loco is too close to the points and could be hit be a train exiting the adjacent merging track.
The opto-reflective sensor used is the Kingbright KRC011. Available from RS Components and other electronic suppliers, costing about 32p.Note that the sensors will respond to bright sunlight and to very bright overhead lights; not a problem with hidden covered tracks, or normal room light levels, but it is best to perform tests with your layout. Adjusting the values of R1 & RS may be necessary.