Maker manufactures his own pinball with Arduino

Belonging to a relatively close past, pinballs are parts of our collective unconscious. Although they have mostly disappeared from public spaces, pinball machines remain mythical objects.
Today it is still possible to own one of these machines through the «second hand market» or by buying a new model (with a relatively large budget). A third solution is to play to virtual pinball on your computer.
After playing long hours on such virtual pinball, a maker decided to manufacture his own pinball machine from scratch. After studying this topic and many discussion with several real pinball players, the author initially preferred to recover a very old pinball playfield close to being scrapped in order to give it life again and to make a new operational pinball machine. 
The old playfield that he used came from a “BENHUR” pinball machine that was manufactured during the years 1977 to 1979 by a French company “STALL”. This pinball was manufactured at only 467 units!
The first task was to clean the play field, to deoxidize the many metallic elements and electrical contacts used to detect the passage of the ball. 


The second step consisted of replacing the lamps used to illuminate the playfield by white LEDs which are brighter and consume much less energy.
At that time, the author had to choose a microcontrolled solution to manage the pinball machine. He naturally chose Arduino because of the simplicity of use and low cost.

The maker had to replace the lamps present under the inserts of the pinball with addressable RGB strip. He cut off all segments of the strip before disseminating them on the playfield and connecting them again to each other. This strip use LEDs with an integrated APPA102 controller. By exploiting a library on Arduino, the author easily developed a program to independently control each LED of the flipper in order to be able to choose its color and its type of display (fixed, extinguished or blinking). 

The next step was to retrieve information from the various sensors and targets of the playfield, in order to know what the ball does during the games. To do this the author actually used a second Arduino board dedicated to this task. This technical solution has been chosen so that he did not have to develop a multitasking program. The concern in managing a pinball is that it is necessary that the microcontroller is always able to detect what the ball does (even when the microcontroller sends information to drive the LEDs, play a sound or display the scores ). So it is necessary to be able to detect several contacts simultaneously (which can be the case when the ball touch two close drop targets or during the multiball phases). In this case, it is important that the microcontroler doesn’t loose any information.  

In order to be certain of this, the author actually used 3 Arduinos. The first board (an Arduino mega-2560) deals almost exclusively with the management of the ball and the rules of the game. In case of detection it is monopolized a very short time during which it sends (via serial links) orders to the two other boards (UNO328 and mega-2560), which will take care of displaying the scores and manage the display of the LEDs under the inserts. 
The maker admits that it would have been possible to use only two Arduino boards. But he was looking to realize a second pinball much more complex, in which it will be necessary to use three Arduino boards (that's why he wanted to directly use this configuration).
The third Arduino board has been allocated to the management of 2 LED matrix, which makes it possible to obtain a surface of display of 48 x 16 LEDs, where the pinball displays scores as well as various animations. 
The animations on the matrix were realized on a program developed on PC that is able to compact several JPEG pictures and to store them. These files were then recorded on a microSD card that the Arduino mega-2560 is able to read in order to play animations on the matrix. Once again, the availability of the many libraries dedicated to the management of the led matrix and microSD cards has greatly simplified the task of the maker.
The next step consisted of being able to control the solenoid of the flippers, of the bumper, kickers and drop targets. For this task, the maker used some triac and optocoupler to avoid any interference between the +5 V of the Arduino and the 37 VAC used for the solenoid.
The last step was to reproduce the rules of the game of the original pinball (adding some additional possibilities such as animations on the led matrix or even sound effects and music via a small board that reproduce MP3 files). 
Right now this pinball is totally finished (the only thing that is missing is the cabinet). In fact, the maker considers this pinball as a prototype to gain enough experience to make a second pinball machine from scratch.

This web site also details all stages of manufacturing:

The web site isin French ... but as pinball and Arduino are universal ... This should not be a problem for you!



About us



Contact us