6
Reverse Engineering of the Computer Mouse RKS 100 Mousa Yacoub, Majd Turfa, and Fabian Maurer Abstract— The goal of this project is to reconstruct the Telefunken RKS 100-86, the first commercial computer mouse while using widely available parts and a 3D printer. That way anyone interested with access to a 3d printer can build one themselves. We document our reconstruction process and analyze studies we conducted to compare our reconstruction to the original mouse and evaluate the roll of the shape of computer mice by comparing a modern mouse to the RKS. Index Terms—Computer mice, human input devices, Telefunken RKS 100-86 1 I NTRODUCTION Telefunken was a German radio and television apparatus company, founded in Berlin in 1903, as a joint venture of Siemens and Halske and the Allgemeine ElektricittsGesellschaft(AEG). Telefunken has already since 1965 the Grorechner TR 440 developed, with which realizing the Time-Sharing was wanted. The TR440 was known as Accumulator-Word-Machine, which had a Main-Memory with the size from 256 Kilobyte up to 2 Megabyte and was available in two versions either one- or double-processor and Performance of 0,8 up to 1,4 MIPS (Million Instructions per second) by 16 Megahertz Tact-frequent.[1] Figure 1: using the mouse with the TR 440 ”The track-ball, a related pointing device, was invented in 1941 by Professor Ralph Benjamin. Benjamin’s project used analog comput- ers to calculate the future position of target aircraft based on several initial input points provided by a user with a joystick. The device was patented in 1947, but only a prototype using a metal ball rolling on two rubber-coated wheels was ever built, and the device was kept as a military secret” [2] The idea of the Rollkugel was based on earlier trackball-like device that was embedded into radar flight control desks, which has been developed around 1965 by a team led by Rainer Mallebrein at Mousa Yacoub Majd Turfa Fabian Maurer [email protected] [email protected] [email protected] Telefunken Konstanz for the German Bundesanstalt fr Flugsicherung as a part of their TR 86 process computer system with its SIG 100-86 vector graphics terminal. When the development for the Telefunken main frame TR 440 began in 1965, Mallebrein and his team came up with the idea of reversing the existing Rollkugel into a moveable mouse-like device, so that customers did not have to be bothered with mounting holes for the earlier trackball device. Together with light pens and trackballs, it was offered as optional input device for their system since 1968. That was the born of the German Computer maus. The Telefunken device was, ofcourse, not called mouse but Rollkugel (rolling ball), but it really was a mouse as it was moved over a table and displaced a cursor on a monitor. In a company magazine in October 1968, a mouse device named Rollkugel.[3][4] Figure 2: the original RKS 100-86 A few months after Telefunken started to sell the Rollkugel, Engel- bart released his demo on 9 December 1968. Independently, Douglas Engelbart at the Stanford Research Institute (now SRI International) invented his rst mouse prototype in the 1960s with the assistance of his lead engineer Bill English. They christened the device the mouse as early models had a cord attached to the rear part of the device looking like a tail and generally resembling the common mouse. Engelbart never received any royalties for it, as his employer SRI held the patent, which ran out before it became widely used in personal computers.[3][4] The Xerox Alto was one of the first computers designed for individual use in 1973, and is regarded as the grandfather of computers that utilize the mouse.[2] 1

Reverse Engineering of the Computer Mouse RKS 100 · Reverse Engineering of the Computer Mouse RKS 100 Mousa Yacoub, Majd Turfa, and Fabian Maurer ... [email protected]

  • Upload
    votruc

  • View
    240

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Reverse Engineering of the Computer Mouse RKS 100 · Reverse Engineering of the Computer Mouse RKS 100 Mousa Yacoub, Majd Turfa, and Fabian Maurer ... st106239@stud.uni-stuttgart.de

Reverse Engineeringof the Computer Mouse RKS 100

Mousa Yacoub, Majd Turfa, and Fabian Maurer

Abstract— The goal of this project is to reconstruct the Telefunken RKS 100-86, the first commercial computer mouse whileusing widely available parts and a 3D printer. That way anyone interested with access to a 3d printer can build one themselves.We document our reconstruction process and analyze studies we conducted to compare our reconstruction to the original mouseand evaluate the roll of the shape of computer mice by comparing a modern mouse to the RKS.

Index Terms—Computer mice, human input devices, Telefunken RKS 100-86

1 INTRODUCTION

Telefunken was a German radio and television apparatus company,founded in Berlin in 1903, as a joint venture of Siemens and Halskeand the Allgemeine ElektricittsGesellschaft(AEG). Telefunken hasalready since 1965 the Grorechner TR 440 developed, with whichrealizing the Time-Sharing was wanted. The TR440 was knownas Accumulator-Word-Machine, which had a Main-Memory withthe size from 256 Kilobyte up to 2 Megabyte and was available intwo versions either one- or double-processor and Performance of 0,8up to 1,4 MIPS (Million Instructions per second) by 16 MegahertzTact-frequent.[1]

Figure 1: using the mouse with the TR 440

”The track-ball, a related pointing device, was invented in 1941 byProfessor Ralph Benjamin. Benjamin’s project used analog comput-ers to calculate the future position of target aircraft based on severalinitial input points provided by a user with a joystick. The devicewas patented in 1947, but only a prototype using a metal ball rollingon two rubber-coated wheels was ever built, and the device was keptas a military secret” [2]

The idea of the Rollkugel was based on earlier trackball-likedevice that was embedded into radar flight control desks, which hasbeen developed around 1965 by a team led by Rainer Mallebrein at

Mousa Yacoub Majd Turfa Fabian [email protected] [email protected] [email protected]

Telefunken Konstanz for the German Bundesanstalt fr Flugsicherungas a part of their TR 86 process computer system with its SIG 100-86vector graphics terminal.

When the development for the Telefunken main frame TR 440began in 1965, Mallebrein and his team came up with the idea ofreversing the existing Rollkugel into a moveable mouse-like device,so that customers did not have to be bothered with mounting holes forthe earlier trackball device. Together with light pens and trackballs,it was offered as optional input device for their system since 1968.That was the born of the German Computer maus. The Telefunkendevice was, ofcourse, not called mouse but Rollkugel (rolling ball),but it really was a mouse as it was moved over a table and displaceda cursor on a monitor. In a company magazine in October 1968, amouse device named Rollkugel.[3][4]

Figure 2: the original RKS 100-86

A few months after Telefunken started to sell the Rollkugel, Engel-bart released his demo on 9 December 1968. Independently, DouglasEngelbart at the Stanford Research Institute (now SRI International)invented his rst mouse prototype in the 1960s with the assistanceof his lead engineer Bill English. They christened the device themouse as early models had a cord attached to the rear part of thedevice looking like a tail and generally resembling the commonmouse. Engelbart never received any royalties for it, as his employerSRI held the patent, which ran out before it became widely used inpersonal computers.[3][4]

The Xerox Alto was one of the first computers designed forindividual use in 1973, and is regarded as the grandfather ofcomputers that utilize the mouse.[2]

1

Page 2: Reverse Engineering of the Computer Mouse RKS 100 · Reverse Engineering of the Computer Mouse RKS 100 Mousa Yacoub, Majd Turfa, and Fabian Maurer ... st106239@stud.uni-stuttgart.de

2 RECONSTRUCTION

We set ourselves the goal to reconstruct the RKS 100-86 in order tofully understand its functionality

2.1 Measurements and Properties

The RKS 100-86 is roughly shaped like a hemisphere with a diameterof around 60mm and weighs 465g. It has a button attached on top ofthe hemisphere.

On the inside, the RKS uses two rotary encoders arranged orthog-onally to each other. The rotation of the ball is transmitted to themby rubber rings surrounding the encoders providing grip betweenencoder and ball. On the opposite side of the encoders, ball bear-ings keep the mouse ball made of plastic in place. The ball witha diameter of 40mm is slightly off centre in the direction oppositeto the cable. The encoders and the ball bearings are attached to ametal plate located in the upper part of the hull (fixed with screws).This metal plate is grounded (i.e. connected to a cable meant tobe connected to ground) and the button is placed on top of it. Thehousing is completed by another metal plate on the bottom of thehull with the hull sticking out by 12mm. This lower plate has a holewith location and size such that the ball is kept inside but can stilltouch the ground. This plate is also screwed to the hull.

Figure 3: an Encoder used in RKS 100-86blue: input (e.g. ground), others: data output

The Encoders made by MCB transmit rotation through a 4-bitGray code alternating between 14 possible configurations while onlychanging one bit each (Figure 3). The commitment to a Gray codewith only 14 possible configurations instead of one with 16 config-urations may be caused by limitations on the part of the encoders.Within a full rotation, the encoders cycle through the Gray code forfour times, resulting in 56 signals per turn.

To rotate the encoders by 90°(14 signals), the RKS needs to bemoved by around 10mm.

While modern encoders use a 2-bit (i.e. 4 configurations) Graycode, the advantage of this 4-bit encoder lies in the detection ofmissed bit changes. If up to 6 bit changes would pass undetected, itwould still be possible to find out the direction the encoder rotatedin and then interpolate the movement of the mouse cursor.

The Encoders work completely passive and simply connect ordisconnect the four data cables from an input cable that can beconnected to either ground or a power supply. The button of theRKS works in a similar way using one cable for input and one foroutput and connecting those while pressed.

Figure 4: Gray code used for the Encoders

In total, 12 cables are used to connect the RKS to the TR-440 -four data cables for each encoder, one input cable for both encoders,one ground for the upper metal plate, one input for the button andone output for the button.

Here are again some more detailed Measurements:The RKS: is around 70 mm height. the baseplate: in diameter 188mm and weights 110 g. the ball: in diameter 40 mm abd weights 40g. Ball-bearings: in diameter each 10 mm. Encoder: in diameter 13mm and 35 mm long. the button: in diameter about 28 mm and 20mm long The hole on the baseplate for the ball: from the inside 26mm and the outside 24 mm. the hole for the cabels: 10 mm

2.2 Reconstruction Process

After we have measured all the parts that we needed in our 3-DModel and getting our 3-D design done (see Figure 5). We startedto search for spare Parts for the original Parts. We looked onlinefor several Encoders that could take place of the old ones that dontexist anymore. After trying some of them regarding to the technicalInformation that cover our needs, we found the best Encoders thatwould fit our Design and have the functions that we are lookingfor. The Encoders are from the type ”ALPS STEC11B02 1”[5] andare easily online available. After the Encoders arrived, as we weretesting them by rolling the cylinder to see how easy can they getmoved, we realized one last small problem that we need to get rid of.The problem was that the Encoders were built with latching in it,which affect the cylinder from moving freely, so we could open itand take the part out which was impairing the movement.We had already an Arduino that we could plug it with the encodersand the PC, that is to read the signals coming from the encodersand deliver it to the computer. Our mission is now to program theArduino to do what is mentioned, for that we searched for a suitablelibrary that covers our purpose and finally we found such one whichwas recommended from the Arduino, then we modified the codeand loaded it on the Arduino so that it can translate the encoderssignals and transform it to numbers that the processor can read andunderstand. By turning the encoders cylinders we got the signals weneed, so it is fully working.Now that we found the best Encoders for our purpose, we formedthough 3-D Printing covers for the cylinders that is going to hold therubber rings to ensure the smooth contact between Encoders and theBall.

The next step is now to find a suitable Ball. Three main require-ments were playing the Role in choosing the best Ball for our Mouse,which are the size, the material and the weight. The same ball as inthe original mouse is not easily to find anymore or get it constructedagain so we thought about different balls that are used in sports like

2

Page 3: Reverse Engineering of the Computer Mouse RKS 100 · Reverse Engineering of the Computer Mouse RKS 100 Mousa Yacoub, Majd Turfa, and Fabian Maurer ... st106239@stud.uni-stuttgart.de

Figure 5: 3-D Modell

Golf, Table Tennis and Billiard. It wasnt that easy to find a suitableball, that could move the encoders and move smoothly on the sur-face. We took some Ping-Pong balls and filled them water and otherliquids, but the balls had bad contact with the table surface, as wellas they couldnt get the cylinders of the encoders moved. So we hadto think about other balls materials. We tried wooden, plastic andrubber balls but none of them was moving the encoders correctly.We last decided to try metal ball and we found one that has the sizeand weight we need. After trying it we were sure it is the best option.So now we have the encoders and ball beside our 3-D Model.For the mouse, we needed as well ball-bearings, thats going to pushthe ball against the encoders, and we could find such those easily onthe Internet. We formed for those ball-bearings holders in our 3-Ddesign. (see Figure 6)Its time now to use the button as well that we are going to plug to

Figure 6: Shows the interior in the 3-D Form

the Arduino to get its signals. We expanded our program with thecode for the button and by pressing it we could test if everythingwas right, and it was fully working. It is now time to integrate theseparated parts to the 3-D design so we get the right functionality.Well it was not that easy as we thought; we printed more than one3-D printing to find the best with no failures, sometimes were theparts either too close or too far from each other and some other timesthey were easily breakable. after we found it, we had to find theright positions for the encoders so that they have the contact we needfrom the ball, at the same time its not going to work if they are tooclose because the ball will get stuck in between, for that we madebigger holes for them, so we could change their postiones easily andfind out the accurate place for them. We finally could find the right

positions for the encoders, so we stabilized them. Then we stabilizedthe ball-bearings and placed the ball in between. After we got themin the right place, we soldered the cables on the encoders as well ason the button ports, and plugged them to the Arduinos pins.The next step was, to find the best position of the Arduino. We hadtwo Options, either outside or inside the main part of the mouse. Wefound place for it on the mouse and seemed better than let it outside,because it would affect the movement of the mouse when the useruses it, so we stabilized it inside with hot glue. Using the hot gluewe stabilized the button too on its place before covering it with thebutton from our 3-D design. At this stage, we had barely the wholework done, we needed last to get the cover on it and push the lowerpart right inside the cover and stabilize it with screws.

Figure 7: Upper view of the technical parts with Measurements

2.3 Result

As we plugged then the USB-cable to the computer and afterinstalling the software from the Arduino, our Mouse worked prettymuch good in all directions and we were satisfied with what we builtso far.

3 COMPARISONS

3.1 Study A

To try and measure the similarity of our reconstruction to the originalRKS, we decided to conduct a study on the perceived and actualeffectiveness of the two mice on different tasks. While we have noinformation on the actual tasks the RKS performed, we decided totest them in situations related to the modern use of computer micemeasuring time and counting errors. To achieve that, we connectedan original RKS through USB to a computer using a microcontroller,which converts encoder signals to mouse movement.

We came across several problems, one being that the mouse ballwas repeatedly pushed towards the inside of the RKS, resulting in itnot touching the ground anymore. We were able to attribute this errorto a missing smaller metal ball that is supposed to be in a cylindricalindentation above the mouse ball pushing it down to maintain contactto the ground. However, there is another RKS 100-86 in Stuttgartthat still contains this part, so we put the metal ball into the RKS wewere given for this project.

Another problem was the button of the RKS as its signal was fluc-tuating during one click. This resulted in the button performing fromone to three clicks per actual click. This made Error measurement interms of missing the object to be clicked difficult so we decided tonot measure errors in this study.

In order to make the RKS and our reconstruction work in a rea-sonable fashion on a high resolution display, we configured the

3

Page 4: Reverse Engineering of the Computer Mouse RKS 100 · Reverse Engineering of the Computer Mouse RKS 100 Mousa Yacoub, Majd Turfa, and Fabian Maurer ... st106239@stud.uni-stuttgart.de

respective Microcontrollers to multiply all mouse movement by afactor of 15.

We used a generic mousepad as a proper surface for both mice asa table doesn’t provide enough grip.

3.1.1 Setup

We used Processing 3 to create a test program in which three differentmouse typical tasks had to be performed. The first part is pointing ona square on a screen (without clicking at it). In addition, the squaresget gradually smaller. The second part is similar to the first partexcept it additionally requires clicking the square and the squaresdon’t decrease in size. The third part consists of dragging a squareand dropping it into a square shaped target area. Each part of the testis to be repeated 10 times. Time is measured after each successfulattempt.

Measuring time is a good metric to compare the mice in termsof effectiveness, but when comparing human input devices, the sub-jective perception such as the degree of frustration and physical ormental demand plays an important role. Therefore, we had plartici-pants fill out a NASA-TLX form for each mouse after all 3 tests. Forthe sake of time efficiency, we did not include weighting options.

We invited 20 people to participate in the study. They were exclu-sively students of Informatik and Softwaretechnik, so the computeraffinity of the participants can be assumed to be fairly high.

3.1.2 Results

Figure 8: average time needed for each test using the reconstructionand the RKS

The average time needed for the tests is consistently higher whileusing our reconstruction compared to the original RKS. Participantsneeded on average 25% more time for test 1, 32% more time for test2 and 33% more time for test 3 using our reconstruction.

While this difference is not extraordinary, we assume it is mainlycaused by the steel ball used in our reconstruction as it does notprovide high amounts of grip to the pad.

Figure 9: average NASA-TLX score of the reconstruction and theRKS

While mental, physical and temporal demand barely show anydifference (2-8% higher), performance (lower means better), effortand frustration are notably higher when using the reconstruction(18-27% higher).

3.2 Study B

For our second Study, we used two cheap mice of the same model(Basetech BN-S11), which we assumed to be representative ofthe average mouse. We integrated one of them into a 3D print ofour reconstruction’s housing by cutting a hole into the lower plate.We also connected the button on top of our reconstruction to thecircuit board of the integrated mouse. The purpose of this study iscomparing the old-fashioned shape of the RKS to a modern shape ofa computer mouse and see which role the big form of the old RKSin the use of the mouse has and how much effects it.

3.2.1 Setup

We used the same test program we used for Study A, except wewere also able to measure errors. In the second part of the test,errors are counted when missing the square while clicking. In thethird part, errors are equivalent to either clicking outside the squaresupposed to be picked up or dropping the square outside of the targetarea. the results are the erorrs from both studies are documentedautomatically in a separated file, so we can read them and do ourresults and analysis

Analogous to study A, we had participants fill out a NASA-TLXform for each mouse after performing the tests.

The same people that were involved in study A also participatedin study B, so the level of computer affinity is fairly high.

3.2.2 Results

Figure 10: average time needed for each test using a modern mouseand the RKS-shaped mouse

In Figure 10 we see the differences between the integreated andthe modern mouse in respect to the time in the three tests. It isobvious that the integreated mouse (orange) more time needed toaccomplish the tasks. the result is actually as expected, because ofthe big form, the useres couldn’t use the mouse appropriately andthats why they needed more time.

In the above diagram (Figure 11) are the results of the study inrespect of the errors made in the both tests 2 and 3. We can see thatthe differences are between the both mice barely small in the secondtest, where they were much bigger in the third test as the integratedgenerated more faults.

Now we see in Figure 12 the average perception between bothmice. Generally the integrated mouse received negative judgementscompared to the modern one. Overall it is mostly the same, exceptfor the physical demand and the effort, where the differences werewider and it was clear that the integrated mouse was worse. This canbe attributed to the shape of the integrated mouse. Placing the button

4

Page 5: Reverse Engineering of the Computer Mouse RKS 100 · Reverse Engineering of the Computer Mouse RKS 100 Mousa Yacoub, Majd Turfa, and Fabian Maurer ... st106239@stud.uni-stuttgart.de

Figure 11: average errors for test 2 and 3 using a modern mouse andthe RKS-shaped mouse

Figure 12: average perception of a modern mouse and the RKS-shaped mouse

right in the middle of the mouse often requires repositioning of thehand depending on how the mouse is grabbed in the first place.

It is also worth noting that participants accidentally rotated themouse on multiple occasions without noticing, which caused them tocorrect mouse movement on-the-fly, resulting in curved paths fromthe starting location to the destination and therefore increased theamount of frustration and also time taken to a smaller degree.

3.3 Conclusions

Figure 13: average time taken per test for each mouse tested

Out of all the mice tested, the modern one performed by far thebest. We identified the center button and the completely symmetricdesign as possible design flaws causing this discrepancy.

Furthermore, using a mouse ball and mechanical encoders posesa disadvantage against mice using frictionless techniques to detectmovement as the RKS performs 18.5% worse that the integratedmouse.

The mice’s average perception differs from the measured timesin this sense, that the three designs using similar shapes are a lotcloser to each other. While the interior composition has made aconsiderable impact on time taken to operate a mouse, a subjective

Figure 14: average perceived score for each mouse tested

rating of a mouse is more dependant on shape than functionality.

ACKNOWLEDGMENTS

At the end, after the successful work, we would like to thank Mr.Valentin Schwind (our supervisor) and Mr. Norman Pohl for theirvaluable technical support on this project and to give thier time sogenerously has been very much appreciated. We would also like tothank Mr. Klemens Krause from the Department of ProgrammingLanguages at the University of Stuttgart for giving us the chance tokeep the original RKS over the period of the projekt and learn moreabout it.

5

Page 6: Reverse Engineering of the Computer Mouse RKS 100 · Reverse Engineering of the Computer Mouse RKS 100 Mousa Yacoub, Majd Turfa, and Fabian Maurer ... st106239@stud.uni-stuttgart.de

REFERENCES

[1] http://www.online.uni-marburg.de/hrz/chronik/quellen/zeit-erinnert-an-tr440-961108.pdf

[2] htt ps : //en.wikipedia.org/wiki/Computermouse[3] http://www.heise.de/newsticker/meldung/Auf-den-Spuren-der-

deutschen-Computermaus-216255.html[4] http://www.oldmouse.com/mouse/misc telefunken.shtml[5] http://www.produktinfo.conrad.com/datenblaetter/700000 −

724999/700696−da−01− en−ENCODERST EC11B02.pd f

6