Fischertechnik Interface / Documentation?

Gary Sparkes mokuba at
Thu Feb 23 23:14:10 CST 2006

On 2/23/06 5:53 PM, "Tony Duell" <ard at> wrote:

>> I'm assisting in the construction and control of a robot for a competition
>> with my highschool based around a "fischertechnik interface". I don't have
>> any documentation or information on this interface, besides the fact that
>> it's parallel port controlled and most of the control was done through
>> various BASICS (C64, Apple 2, etc)
> I have the BBC micro version of this interface, along with the
> documentation and the original program disk. It is clear that the
> programs were translated from another micro's BASIC, for example there's
> a program to make a robot arm move the disks for a Tower of Hanoi, the
> program srts up arrays to handle the parameter stack for a recursive
> subroutine call, even though BBC BASIC has named procedures with formal
> paramterrs.

We've got the IBM PC/Paraport version, of course :)
Though there's a nifty adapter board to plug it into an Apple 2's joystick

> Anyway, I've traced out schematics for the BBC version, the others may be
> similar. Here are some general comments :
> It plugs into the BBC user port, and used the 8 data lines only.
> There are 8 switch inputs. These feed buffers (a 4050 + half a 4071) and
> drive LEDs so yo can see the state of the inputs. They also go into a
> shift register. This links to 3 lines on the user port -- clock,
> load-enable, and data out. The first 2 are outputs from the computer, the
> last is an input to the comuter.

I don't think the interface itself actually had any LEDs, and there's a
diagram showing pinout for the motor control lines on the top of the case.
There's also several lines that you can attatch switches to, we've gota
paddle with paperclips on it :)

> Another shift register (4094 I think) is used for motor output. It uses the
> same line on the user port for the clock signal, and 2 more outputs One
> is the seiral data input to the shift register. The other latches the
> shift register contents (the 4094 includes a latch with 3-state outputs).
> Oh yes, the clock line also triggers a 555 timer (OK, half a 556, but it's
> the same thing). This controls the OE line of the 4094, and disables all
> the motors if the interface gets no clock pulses for a certain time (half
> a second or so). This prevents the motors from running if the program
> crashes.
> The outputs of that 4094 go to some full-H driver ICs -- TLE4201
> according to my notebook. These drive some bi-colour LEDs (so you can see
> what the motors are supposed to be doing) and also the motor outputs to
> the model. 

That seems familiar, but I don't recall right now :)

> There are 2 variable resistor inputs, and they're strange. Each variable
> resistor forms the timing resistor of a 555 monostable. These are
> separately triggered by 2 more lines from the user port. The outputs of
> those monostables are ORed together, and the output of that controls a
> 555 astable. The output of that astable, therefore, consists of a pulse
> train, the number of pulses depends on the value of the variable resistor
> connected to the monostable that was triggered. And that signal is fed
> into the last line of the user port, where it's counted by one of the
> counters in the 6522 VIA used for the user port.

I have no idea about the variable inputs.

> The external connections to this interface consist of :
> A 20 pin ribbon cable and socket to plug into the BBC user port
> A 20 pin header accessible through a hole in the case. This takes a
> ribbon cable to the model. It carries the 8 motor lines (2 lines each for
> each of 4 motors), 8 switch inputs, 2 variable resistor inputs, and 2 5V
> lines (common for the variable resistors, common for the swtiches).
> A 20 pin hgeader hidden away inside. Only a few pins are used, this
> carries the clock, input SR load, Output SR latch, the serial-in to the
> input SR and the last data bit from the output SR. It can be used to
> extend the interface to more than 8 switches and 4 motors, but the driver
> software would need rewriting, and AFAIK this was never used
> 5 fischertechnik sockets. One is logic ground (marked with an upside-down
> T). The otehr 2 are 2 pairs for power supply inputs. They were designed
> to link to a fishcertechnik transformer, you need a DC supply of 7-10V.
> It's used directly to power the motors, rgulated down to 5V for the
> logic. You only need to use one set (particularly if you have a nice
> bench supply...), and there are internal protection diodes if you connect
> the supply backwards.

So I won't blow it if I make a mistake?

> FWIW it took me under an afternoon to trace out schematics and sort the
> whole thing out...
> Let me know if you want me to look further. I can give pinouts for the
> connectors on the BBC interface, for example (the 'model' connector seems
> to be the same on all such interfaces).

We've got all that, I'm looking more for programming guidelines, as we've
got next to nothing in documentation (Perhaps one apple 2 doc for
interfacing with it, and I'd like to use my portfolio to control it,

I've got several tons of GWBASIC files from a four floppy disk set, and I'm
going to tear those apart soon.

I was told that some code was needed to be edited and someone who knew older
BASICs was wanted ... Turns out, they don't know how to power the damn thing
anymore, everyone who knew it is gone...
> -tony

More information about the cctech mailing list