South Africa
Login / Register

Turntable / Fiddle yard controller

GCA145 Turntable / Fiddle yard controller


Using a stepper motor seems to be the most simple way of moving a turntable or fiddle yard to the desired position.
And because mostly all of us will have one or more stepmotors available from any old printer/scanner/ disk-drive, we have to deal with a wide variety.
And if there are no motors available, still a wide variety of these motors are available from Conrad, Reichelt, Pollin, Rapid, etc.
The needed power for a turntable can be rather low, but a fiddle yard needs a more powerful engine to be able to move it.
This unit provides enough energy for most common kind of motors.
The best suitable motor is the one with four wires (two coils).
The output voltage is adjustable over a wide range, to adapt to the chosen motor.
The position setting can be done by an incrimental switch , as known from many train speed controllers,
or by means of the input connector J5.
This connector can be straight connected to a GCA50 (LNet), CAN-GC2(mergCan) I/O module or GCA_PI02 for Raspberrry PI or SPL Led controller or from other controls systems.
With this last option, feed-back is not possible, so that should be established in other ways.
Also a fairly simple DCC- or Motorola Decoder GCA174 can be used, to be able to control straight from digital rails.
You are free to create your own solution to fix motor to the TT/fiddle-yard.
The bottom of these pages show a few examples, about how satisfied users have been constructing their solutions.
48 positions are available and each position is set by a number of steps counted from 1 to 48.
Each step can be programmed, using a simple menu and the addional GCA146 control and display board.
The total control unit is rather complicated, yet, through the use of a good worked out pcboard, it is rather simple to construct.
Boards and /or complete parts sets are available.. Ask

The rails on the TT will be polarised according to the position. This position is also programmable.
The maximum amount of positions and all other settings are accessable by means of GCA146.
In this case, also in manual control, you do not have to worry about polarisation, it is always correct.
For fiddle yard, no change in polarity is necessary, but it is nice that power of rails will be switched off during movement.
If you have any ready made turntable like Fleischmann, Maerklin, Roco or anything else, this unit is also useable but:
like in selfmade turntables, you wil have to make a connection between stepper motor and turning part of your item.
Further in these pages you will find some examples how a mechanical solution can be made.
You made your own nice design? we are happy to publish it here for the benefit of other TT lovers.
Also an extra setting is available to enable a correct position when there is still some free-space movement in the driving set.
The software runs a previous amount of steps further (only in forward direction), and then runs this amount of steps backwards.
These steps can be set fom 0 to max 99.
The program also is able to ‘ramp-up’and ‘ramp-down’.
This will give a rather real movement.
Both speeds, maximum and minimum, have their own set-point, as well as the incremental speed.
Please refer to manual for more info.

The final result

Previous version MGV145

Many enthousistic users made it necessary to start a new charge of MGV145, resulting in GC145.
Though firmware is full 100% compatible between two boards, the GCA145 has all the extra changes, as stated in MGV145 all on-board now.
* MGV145 The previous board description


All info about connections and use of the GCA145 will be found in this manual page

How I made my own Fiddle Yard

This page explains several issues as installled in my own fiddle yard: phg-new_fiddle_yard


For the right choive of transformer, please refer to this table.
This board has the possibility to control stepmotors up to 24V, 2 Amp.
The demand of the maximum current is mostly depending of the type of steppermotor which is used.
The maximum current is adjustable.
Entering the power Through J1(1+2), a multifuse will limit short circuit problems, if any.
A 6A rectifier bridge is capable of handling up to the maximum current given by VR1.
VR1 is a switching mode power supply, which means that there is much less energy generated in VR1, compared to normal linear regulators.
Many types of steppermotors will require a variety of different voltage to supply to the motor.
VR1 is adjustable by means of P1, in a range from 5.2 to 24Volt (if sufficient Power is supplied to the board.
This will cover mostly all of the available motors.
For more info about adaption to the used motor, please refer to the manual.
VR2 is regulating 5V for the logic on board ,and the relays K1 and K2.
The two regulators and U3 (the power output), are mounted to a cooling device.
The picture shows a cooling , suitable for allmost all situations.
However, if it comes to a situation where a stronger motor is used in a more constant movement, the cooling can be replaced by a larger type. (see parts list), or a little fan will also be suitable.

The logic control

When write line goes high, the processor will make ´pos match´ high, shut off both relays, reads PortA and starts running to the position given.
After the postion has been reached, ´Pos match´will be forced low, to signal the LocoNet, that TT/FY is stable in position.
Also depending on the position, the correct relay will be switched on, to give power to the rail on the bridge.
Reverse or not of the railpower is depending on the chosen control type (see settings).
The amount of steps of the required position is read from EEprom, and then calculated in respect to actual position.
For the TT with connected wires counts, that there should be a balance of the amount of turns right and left, to avoid that cable to the bridge will be too far twisted.
Controller will normally calculate and take the shortest way, unless this ´twist´ is telling otherwise.
The control of stepper-motor is done by U2 and U3.
This combination of stepper control chips is making life easier for the microprocessor, which only have to give direction and clock.
All control of the motor, including an adjustable maximum load, is made by these control chips.
The diodes at the output of U3 are made to suppress distorsion of the motor. Diodes are special high frequency types, to give best performance.
The eep jumper is no longer of any use.

Position feed-back

The actual feed-back of positions to Rocrail or any other applicable program, has not been a very important issue.
Due to the fact that another 6 lines should have been available, to connect to LocoNet or else, it was skipped.
But it still is possible.
A small I2C printed circuit between GCA145 and GCA50 would do the trick.
It is not available at present, but if anyone feels the need to have it, please let me know at

Rail power

Rail power from booster/central unit/trafo is needed to power the rails on the bridge and is connected to J1(3+4).

The hardware

The firmware

All firmware versions 6.x and 7.x are no longer used.
GCA145 and MGV145 boards remain full compatible with latest firmware.
Hex and Basic files VN_1.1
Hex and Basic files VN_1.3
Hex and Basic files VN_1.5
Hex and Basic files VN_1.6
Hex and Basic files VN_1.7

Remarks on Versions

The firmware for GCA145(or MGV145) has been evaluated in practice by many users.
This made it necessary to change to a different processor PIC16F886, due to higher demands on calculation oiptions and steps.

list of versions:

GCA145N V1.1 March 1, 2014:
– Steps increased to 1,000,000.
– Motor power will continue to be switched on for 0,25 sec after position reached.

GCA145N V1.2 Nov 2, 2014:
– Two extra menues added for delay settings
– menu 8 setting control type
– menu 9 delay before motor starts after sending new position
– menu 10 delay after motor stop before rails on bridge are powered up (if switched off)
– menu 11 delay after rail power on, before signal is send that GCA145 is ready.

GCA145N V1.3 Nov 3, 2014:
– Menu identification changed to 0.1, 0.2 , etc.
– added menu 1.2 for selecting control input

GCA145N V1.5 Nov 19, 2014:
– Program switch on GCA146 no longer in function.
– program mode is reached and released by pressing incremental knob for more than 3 seconds.
– some invisible improvements.

GCA145N V1.6 Nov 25, 2014:
– The max-limit switch is now used in all control options and also before motor starts.
– Menue 1.3 added to select active 0 or 1 for max-limit switch. Default is set to 1

GCA145N V1.7 Dec 2, 2014:
– New ramp-up and -down calculation using interrupts, making it better linear.

English manual N-V1.7

Motorola or DCC-Control

Basicly, GCA145 is made to be used with GCA50(LocoIo), CAN-GC2(CanBus) or GCA_PI02 (RocNet), when computer control is to be used.
There is also a small interface available to enable digital postion control by DCC or Motorola, straight from the rails.
Please look at\\.

Controlling with Rocrail

GCA145 is controlled by Rocrail as Multiport-Decoder.

Connections to GCA50 / CAN-GC2 / GCA_PI02

IMPORTANT NOTE !!!!!! Some users seem to know better, and solder wires directly to the pins or the pc-board.!
That is totally unacceptable !!
Wires will easily break off, and cause a lot of damage in many cases.
So use connectors !!!!!
In order to ease making these cables, it is also possible to buy the necessary tool, to create the PSK cables.
This special plier will be sold for net price of € 18,25 if ordered together with complete kits. crimpzange.jpg
Just ask peter.

Cable to GCA50 / CAN-GC2 / GCA_PI02

refer to: **Connection interfaces**

It is possible to use MGV145 / GCA145 without any further connections.
However, the first idea was to use it inside the GCA-LocoNet system, later extended in the same way to CBUS and RocNet
Therefore two connectors are available to interact with a decoder.
Here follows the list of connections, when a GCA50 or CAN-GC2 is used to control.
The cable between the two units is a standard 1 to 1 PSK cable, NO TWISTING !

connector GCA145 connector GCA50 Setting GCA50 Function
J5(2) J5(2) GND GND
J5(3) J5(3) Output switch (no pulse) position command bit 0
J5(4) J5(4) Output switch (no pulse) position command bit 1
J5(5) J5(5) Output switch (no pulse) position command bit 2
J5(6) J5(6) Output switch (no pulse) position command bit 3
J5(7) J5(7) Output switch (no pulse) position command bit 4
J5(8) J5(8) Output switch (no pulse) position command bit 5
J5(9) J5(9) Output switch (no pulse) New position flag
J5(10) J5(10) input Position match


connector GCA145 connector GCA50 Setting GCA50 Function
J6(2) J6(2) GND GND
J6(3) J6(3) Block Feed-back 1st section
J6(4) J6(4) Block Feed-back 2nd section
J6(5) J6(5) Block Feed-back 3rd section
J6(6) J6(6) Block Feed-back 4th section
J6(7) J6(7) Output switch Forward sign
J6(8) J6(8) Output switch Reverse sign
J6(9) J6(9) XXX Not used
J6(10) J6(10) XXX Not used


connector GCA145 connector CAN-GC2 Setting CAN-GC2 Function
J5(2) J4(2) GND GND
J5(3) J4(3) Output switch (no pulse) position command bit 0
J5(4) J4(4) Output switch (no pulse) position command bit 1
J5(5) J4(5) Output switch (no pulse) position command bit 2
J5(6) J4(6) Output switch (no pulse) position command bit 3
J5(7) J4(7) Output switch (no pulse) position command bit 4
J5(8) J4(8) Output switch (no pulse) position command bit 5
J5(9) J4(9) Output switch (no pulse) New position flag
J5(10) J4(10) input Position match


connector GCA145 connector CAN-GC2 Setting CAN-GC2 Function
J6(2) J3(2) GND GND
J6(3) J3(3) Block Feed-back 1st section
J6(4) J3(4) Block Feed-back 2nd section
J6(5) J3(5) Block Feed-back 3rd section
J6(6) J3(6) Block Feed-back 4th section
J6(7) J3(7) Output switch Forward sign
J6(8) J3(8) Output switch Reverse sign
J6(9) J3(9) XXX Not used
J6(10) J3(10) XXX Not used


The position command byte are 6 bits, giving the desired position for the TT/FY to run to.
The write enable is used to tell GCA145 to start.
First the 6 bits are set according position.
To activate the GCA145, write enable should go high.

Configuration of GCA50 Turntable or Fiddle yard

Example for a LocoIO/GCA50 “15-3” with port adresses “51..66”

Configuration of Rocrail for Turntable

Turntable Dialog

To report the arrival at destination track, a sensor object must added into the track plan.
This sensor need the address from GCA50/CAN-GC2 port 8. (Address 58 in example above)
In Tab “Interface” the ID of this sensor (example “POS”) must be set in “Position Sensor”.
Also the “Type” must choose as multiport and if necessary, be set the IID of the LocoNet CS into “Interface ID”.
The sensors of the turntable bridge be set in “Sensor 1..3”.

The settings in Tab “Multiport” comply with the GCA50/CAN-GC2 settings for port 1..7 above.

:!: Important Remark:
It’s necessary to set the upper Invert option, common for Position Address 0..5.
Otherwise the position command is wrong coded. (GCA145 expect “activ low” signals).
The New Position Flag is default “activ low” and so the Invert option there remains unset.
In Tab “Tracks” the GCA145 stored physical positions of the turntable bridge be mapped to the logical tracks of the turntable object of the track plan.

The turntable object of the example
use 6 of 48 possible positions.

The three tracks 45, 0, 3 have
the tracks 21, 24, 27 in opposite.

The zero-limit switch should be somewhere between positions 45 and 27, which equal position 1 and 6 in the GCA145 firmware
In the example the positions of the tracks are configured as No. 1..6 in the GCA145.
NOTE: GCA145 does not recognise Position 0, positions are possible between 1 and 48.
The mapping must be set, so Rocrail is able to generate the appropriate command to the GCA145 from the logical track number.

In the example:

Mapping of track numbers
Rocrail 45 0 3 21 24 27
GCA145 1 2 3 4 5 6

In the dialog, the mapping looks like this:

Because the GCA145 uses only one “Position Sensor” to report the arrival for all bridge positions (see New Position Flag’ at tab “Interface”’), the individual sensors of the tracks are unnecessary.

My design for tt-scale turntable

This a smaller example of what is shown below on this page
Used stepping motor type: 14HR05-0504S (Search this type with Google)
This design is used for an N-Scale Turntable
with a 0,9° step , the motor needs 400 steps for one circle
The two gearings are both 1:7 so the total gearing = 1:49
Motor needs to make 49 x 400 = 19600 steps for a full circle of the tt.
The used turntable of Peco has a bridge length of 150 mm.
The circle will then be 150 x 3,14 = 471 mm.
so each step of the motor is only 471/19600 = 0,024 mm !! which equals to appox 41 steps per millimeter
The practice (picture will follow) will proove this is a satisfying accuracy
Specifications Motor :
Voltage 8,5 Volt
Current /phase : 0,5 Amp

My test equipment


My test set for developing the GCA145 firmware

Test-setup for GCA145 controller.
The example of the picture above is a simple motor equipped with an extra gear wheel and a matching tooth-belt.
These were just taken out of an old scanner from a neighbour, who thought it had no value at all !!
Tooth-belt is fixed inside-out to a circular triplex disc, which is cut exactly to the right diameter to fit the belt.
What I did is to cut the disc first approximately to the right diameter, and afterwards put it in the drilling machine and use a file to get the exact right size.

The fiddle yard drive

Follow this link

Input from satisfied users

If you have designed your own solution for connection stepper motor to bridge, please send pictures.

Realized two-step toothed belts drive

From motor …
… over a toothed belt …
… to transmission …
… over a 2nd toothed belt …
… to the bridge axle
Zero point switch
Click on pictures to get a large view


Documents of mechanics
Complete documentation (german)
Parts procurement


Video with the setup menue of GCA145/146 and two-step toothed belts drive.
The video shows an obsolete firmware version, but an impression of the features.


LGB turntable

turntable.jpg Conversion of a manually operated LGB turntable
(from Modellbau-Werkstatt Heyn).

The turntable is internally fitted with a toothed belt between the bridge and the manual handwheel, with a 1:12 gear ratio.
The top part (shown on the picture next to the tape measure) of the housing of the handwheel axle has been cut away and a brass gear wheel is fitted to the axle beneath the handwheel.
The counterpart worm wheel (giving a ratio of 1:20) is fitted onto an axle, which is held in place by two grooved ball bearings plus holders (capable of taking axial and radial loads).
The steppermotor (100 steps/revolution) is connected to the axle via an aluminium flexible coupling.
The coupling also adjust for the difference in axle diameters (5 mm for the steppermotor and 4 mm for the worm wheel).
For one revolution of the bridge 12 * 20 * 100 = 24000 steps are needed.

In the edge of the turntable a zero position detector is fitted (cover removed for the picture).
The detector consists of an infra-red led/photo-transistor combination with a focal point between 3 and 4 mm and a very narrow vertical stripe
of aluminium foil (showing as white on the picture) glued to the side of the black bridge cover.

New idea

Constructors keep on coming with new ideas
We sure hope more pictures will come from this object


Phytron beauty

Another satisfied user of GCA145 has sent me this solution:
Phytron solution
This stepper motor has a gear box of 206:1 making 41200 steps for one full rotation!
Motor type : Phytron ZSS 14/206
Through eBay he managed to buy this top product for a reasonable price.
There is no slack in the movement of this motor, so it is EXTREMELY right for the TT job.!
Full specs of the motor:

Recordplayer sacrifice

In Austria, Peter&Basti have been busy.
Unfortunately, they had to sell their record collection…
There is also a detailed explanation how this all is done.

Black and White Premium WordPress Theme