User Tools

Site Tools


Fiddle Yard Controller


This Selection Table Controller is based on a steppermotor.

This pictures shows the version with a dual 7-segment display.


  • Full Rocrail compatible
  • Setup/operate panel (P2)
  • Controlled with standard, opto-isolated in and outputs
  • 4 inputs for setting one of the 15 track numbers (P1)
  • 1 input for enabling the new setting (P1)
  • 1 output and 1 LED to signal the reached 'track position'
  • Positions are stored in the PIC's eeprom
  • Dual 7-segment LED or two lines LCD display to show the position and some other information
  • Very easy and accurate positioning

Basic Firmware

The firmware is developed in the program language Basic. The application used is: PIC simulator IDE with an integrated simulator (emulator), Basic compiler, assembler, disassembler and debugger it is a Windows application ; for an evaluationcopy see:


  • Switch to the setup mode
  • 2 push buttons control the FY to the left or to the right
  • A third push button saves the position in the PIC's memory
  • the 4th 'Next' push button to select the next track number
  • with a combination of two pushbuttons choose for permanent power on the stepper
  • with a combination of two pushbuttons choose the best stepper-speed


When powered on, the software moves the Selection Table to the start position and acivates the begin microswitch.

C Firmware

  • Displays for 1 second the version number at powerup: 88 is a snapshot. The first release starts with 41; version 4.1.
  • The setup procedure is the same as with the BASIC version, but does not calibrate the table.
  • No calibration: the middle position is expected been set at powerup and setup. (The display shows the middle position 1 second after powerup.)
  • Compilation and linking is done with open source tools:
    • sdcc Small Device C Compiler
    • gputils GNU PIC Utilities
    • gpsim Full-featured software simulator for Microchip PIC microcontrollers
    • picprog Microcontroller programmer
    • PikLab IDE for PIC microcontrollers
  • The number of tracks must be set in the source code to meet your FY setup.
  • The middle position is calculated as follows: (nrtracks / 2) + 1


Firmware source, schedule and board (KiCad):

Selection Table-Stepper Connection

Selection Table-P3 Stepper-P1 Signal
1 3 cl_pulse
2 2 cw_ccw
3 1 enable
4 4 ground
5 5 +5V dc

Decoder connection

P3 Signal Decoder Remark
1 ground ground Common
2 position ok input Active after reaching the wanted position.
3 new position available output Position nibble is used for new position if +5V
4 bit 1 output position nibble
5 bit 2 output position nibble
6 bit 3 output position nibble
7 bit 4 output position nibble


All buttons for manual operation and setup are to be connected to P2 of the controller board.

Screw Name Operation Setup
P2.1 Next nop Next track without saving current.
P2.2 Save nop Save current position and jump to next track.
P2.3 Left Previous track. Move to left.
P2.4 Right Next track. Move to right.
P2.5 Setup Select mode between operate and setup.

Power supply

The power for the step motor driver, P2, should be DC, 1A and between 5 and 10V. Try which give the best result in power end smoothness.
For the FY controller, P4, a simple 9V AC trafo can be used. Use a cooler for the 7805 in case of higher voltage.

LCD Version

The 7-segment display can be replaced with a LCD display:
No automatic calibration, the middle position is the calibration position.
This needs other firmware.


fj/fy-controller.txt · Last modified: 2018/11/12 08:56 (external edit)