Vintage Computing Telefunken Rollkugel

The first rolling-ball mouse

The RKS 100-86 “Rollkugel-Steuerung” was the first ball-type mouse, designed by Telefunken in 1968. It was probably the first mouse to be sold commercially, a few years ahead of the Xerox Alto. This page shows photos of my Rollkugel, gives details about the encoders and pinout, and describes an interface which connects the RKS 100-86 to a modern computer.

Telefunken’s RKS 100-86

Douglas Engelbart invented the computer mouse during his tenure at Stanford Research Institute (SRI). His “position indicator” used two sharp-edged wheels which were arranged at 90 degrees, and would roll or scrape across the table depending on the direction of movement. It was part of a groundbreaking approach to online computer systems and user interface design. Engelbart published an IEEE Transactions paper on this and other pointing devices in March 1967, applied for a patent in June 1967, and went public with the complete system in the now-famous “mother of all demos” in December 1968.

But in parallel with the SRI developments, engineers at Telefunken in Konstanz, Germany, were also working on user interface devices. The trackball was known from radar workstations: A large, stationary ball that was rotated by hand, and needed to be permanently installed in the operating console. The Telefunken team was looking for a device that could be used with computer terminals, on a regular desk. In 1966, according to this interview, Rainer Mallebrein suggested to invert the trackball: Let a small ball roll across the desk and track its movements via two friction wheels – the invention of the ball mouse.

Operator handling the Rollkugel

The Rollkugel in action. Embarrassingly, I saved this image years ago, with a filename claiming it dates from 1969, but without a reference to the source. If anybody can help to trace and date this photograph, I would be much obliged!

Telefunken did not apply for a patent on this device, which they called the “Rollkugel-Steuerung”, rolling ball controller. But they went public shortly before Engelbart’s “mother of all demos”: A publication in a company journal described CRT terminals in general, and briefly mentioned and depicted the new pointing device for Telefunken’s latest terminal, the SIG 100-86, developed for the new TR440 mainframe computer. (Günter Neubauer, “Sichtgeräte in elektronischen Datenverarbeitungsanlagen”, Technische Mitteilungen AEG-Telefunken, 2. Oktober 1968)

It is not quite clear when the new Rollkugel was first sold. The first TR440 system was installed in Darmstadt in 1968, but may not have included the optional Rollkugel yet. Four Rollkugel units at the Leibniz computing center in Munich are cited as the first installation verifiable today, in 1972. That would still put them a year ahead of the Xerox Alto, the first US computer to comprise a mouse, and makes the Rollkugel the first commercially available mouse.

My Rollkugel

My Rollkugel was part of the Telefunken TR440 mainframe at a German university. They kept their TR440 running until 1985, but I believe the Rollkugel was decommissioned a couple of years earlier. I tinkered with it when it was given to me back then, trying to connect it to my Apple II. (We had no idea of “desktops” with “windows”, but we did know joysticks and games! ;-) But my early attempts to use it failed, due to the already worn contacts inside the electro-mechanical encoders.

The Rollkugel sat in a cupboard for a few decades. I did not realize that it might have historical significance until I came across an article by Ralf Bülow in 2009. Prompted by the 40-year anniversary of Engelbart’s demo, Bülow had re-discovered the “German mouse”, and I was delighted to realize that I actually had one of the few remaining units.

The Rollkugel is not the most ergonomic design. A half-sphere of 12 cm diameter, with the button exactly at the top center, it is slightly awkward to hold and operate. The lettering on the labels suggests that it was meant to be used with the cable pointing towards the operator, although some contemporary images show it oriented the other way.

My Rollkugel had lost its plug by the time I received it, so the plug in the pictures below is not original.

The RKS 100-86 'Rollkugel-Steuerung'

The RKS 100-86 'Rollkugel-Steuerung' from Telefunken. The plug is a modern replacement, but similar to the original model.

Open RKS 100-86 showing two encoders

The mechanical setup is the same as in a 1980's ball mouse -- in industrial strength. Those little castors supporting the ball run on ball bearings.

Internals

Encoders

The encoders are made by MCB in France, „codeur à contacts“ type CC27E08. Apparently not a commodity product back then, since they carry individual serial numbers! Mine are number 407 und 412.

The encoders produce a 4-bit Gray code (only a single bit will change between adjacent states) with 14 states. Also, each individual output maintains its value for at least two successive states; that allows for a somewhat slower time constant on de-bouncing the contacts. With “1” denoting a closed contact:

State 00 01 02 03 04 05 06 07 08 09 10 11 12 13
X0 1 1 1 1 1 1 1 1
X1 1 1 1 1 1 1 1 1
X2 1 1 1 1 1 1 1 1
X3 1 1 1 1 1 1 1

This sequence is repeated 5 times for a full revolution of the encoder. Since the rubber O-ring on the encoder wheel has a diameter of 13 mm, that makes for a resolution of 5*14 counts / (π*13 mm) = 1.7 counts/mm = 43.5 counts/inch. Not exactly impressive compared to today’s 400 dpi and up…

Plug

As mentioned above, my Rollkugel came without a plug. When I set about restoring it, I thought I should at least get a replacement that looks similar – pictures of units with the original plug were available online. Turns out I ended up with a fully compatible plug! The old “Kleintuchel” connectors, originally released as a proprietary compact plug series by German manufacturer Tuchel, were standardized as DIN 45 321 and IEC 60130-9 connectors. They are still available from Binder (581 series), Lumberg (SV series), and Amphenol Tuchel (T 3635). A 12-pin plug is used in the Rollkugel, and the modern versions are fully compatible, in terms of mechanical and thread dimensions as well as pin arrangement.

I used some random pin assignment in my first attempt. But thanks to Klemens Krause from Stuttgart University’s computer museum, who measured his original Rollkugel plug, here’s the correct wiring now. Reassuringly, the wire colors were the same in the Stuttgart mouse and mine.

Pin arrangements and designations for 12-pin plug

The pin arrangement and designations for the 12-pin plug. Many thanks to Klemens Krause, Stuttgart computer museum, for documenting the original Rollkugel pinout!

Function Wire Color Plug Pin
GND yellow/green A
Button brown/white B
Y0 Encoder gray C
Y1 white D
Y2 pink/gray E
Y3 red/violet F
X0 Encoder green G
X1 yellow H
X2 red J
X3 brown K
GND blue L
Case GND pink M

While my replacement plug is technically compatible with the original, it does not look quite right. The machining on the new plugs is actually better, with much finer knurling. So I started to scan ebay and other potential sources for original ‘Kleintuchel’ plugs, and did indeed find a few offers. These plugs are getting expensive, since they are also sought after by collectors of old audio equipment…

Since a 12-pin version was nowhere to be found anyway, I bought two 2-pin plugs: not much used in audio, it seems, and hence not in high demand. And presto – the insert from a modern 12-pin Amphenol/Tuchel plug fits exactly into that old Tuchel housing! I have not installed the new plug yet, but here it is, waiting to be connected.

Vintage and modern plug for the Rollkugel

Two vintage 'Kleintuchel' connectors, as used on the Rollkugel, and a modern Lumberg SV120. The Kleintuchel plug in the center had its pin insert replaced with a modern one, and is ready to be attached to my Rollkugel.

USB adapter

I wanted to try the Rollkugel on a modern computer. So it needed a USB interface… It was clear from earlier tests that the electro-mechanical contacts inside the encoders were quite worn and produced a lot of drop-outs; decent filtering and plausibility checks for the codes would be needed. And I wanted right-button functionality to use the mouse with a Windows PC. I borrowed the approach from “One Finger Snap”, an old Mac software utility: Hold the mouse button down a bit longer and release it without having dragged the mouse – then this action will be converted to a right-click.

Rollkugel with USB adapter

The homemade interface connects the RKS 100-86 to a modern computer via USB.

When I built this interface in 2011, I was not aware of simple microcontrollers with a USB interface and HID (Human Interface Device) software stack – although they probably existed. So I used the innards of a USB ball-type mouse to handle the complete USB interface. I added a simple microcontroller which handles the code conversion and the “one finger snap”-style decoding of long button presses into right clicks.

To deal with the bad contacts in the Rollkugel encoders, passive RC filters are provided at each of the microcontroller inputs. These are chosen for a 1ms time constant (R = 22 kOhm, C = 10 nF; disable the internal pullups in the microcontroller!). That should let the valid encoder transitions pass, provided that the mouse is not moved faster than 300 mm/s (500 steps/s), but will filter out faster glitches. In addition, the microcontroller software looks for valid phase transitions which follow the expected Gray code pattern, and suppresses invalid states even if they last longer than 1ms.

The microcontroller code is here, if you are really curious. But today I would use an Arduino Pro Micro or similar to do the complete job – encoder code conversion and USB HID interface.

Opened USB adapter

A microcontroller filters the encoder's Gray code and converts it to quadrature code. It also converts long presses of the single button to a right-click. The converted signals are fed to the innards of a ball-type USB mouse, which provides the USB interface.

Schematic of the adapter.

The simple schematic of the microcontroller board. The same passive RC filtering as shown on the button input is also provided at each encoder input.

Links and files

The TR440 mainframe, and hence the RKS 100-86 Rollkugel, were sold largely in Germany. Hence, it is no surprise that the surviving Rollkugel specimens are mostly found in Germany. Most of the pages below are therefore in German, only the last two are in English.