Everyone knows the boring, old, ever-the-same pinball machines. We're here to let you customize (almost) every piece of it - on the fly.
With our modular pinball concept that also lets you customize the way you control it, you are challenged to come up with new way to play the machine. And you can change it however you like, just one new module or the entire table. We have built ours using a FabLab. If you know one near you, you're pretty much ready to go!
Step 1: Learn to Know the Concept
The basic concept is this: The machine consists of autonomous modules that you swap out for new ones. Some modules might need input such as power or control signals. The latter are provided through a PINboard, basically a breadboard. This is the interface between the modules and the controllers. You can use many different controllers such as simple buttons, gamepads or shakers. But the fun part is: You decide what output controls which input. So instead of controlling the left flipper with the left button and vice versa for the right one, you could switch them up by simple plugging the pins on the PINboard in a different order. As you can see in the image above, you can even control two different modules by the same controller, as is the case with the shaker. Or you could use two controllers for two people and let each of them only control one flipper.
To accomplish this, the modules need to fit certain criterea. They must fit onto the grid that consists of squares with 5cmx5cm. They must comply to a fixed height of 15cm (from the ground to their top surface), which is chosen to accomodate the space needed for technology of complex modules, which has to be attached under the surface. The in- and outputs are fed through the bottom of the module and through holes in the grid and can be led to the power outlet and the PINboard.
The controllers might give continuous or discrete input, but the range must be between 0V and 5V. Modules can accept those input signals. For safety reasons, modules should be able to handle continuous input. You can insert a small microcontroller that converts it to a discrete signal, if necessary. With continuous signals, for example, you could control a stepper motor that acts as a seesaw on which the ball has to be balanced.
This is the basic concept you need to understand in order for everything to work together. Now let's start building!
A few notes
- We will be using mostly 5mm thick MDF sheets to be cut in a FabLab laser cutter.
Step 2: Build a Table
The table was planned to be build out of precut wooden boards, however it was easier and cheaper to use scrap from the lab, which resulted in the table being altered a bit to accommodate the various dimensions of the scrap wood.
Where able we fixed the boards with screws and angles, where the wood was to thin to fit a screw we used nails. It is important to note, that the table itself is level with the ground. Only the grid holding the modules is slanted at an angle of 10%. To calculate the heights of the multiple supporting boards, as well as the walls is only a matter of simple trigonometry.
The dimensions of the playing field were largely determined by the grid size, the size of conventional pinball arcades and the dimensions of the scrap boards. It is 55x150cm, while the table itself is 60x126x151cm This allows for a maximum of 11 5x5cm modules in width and 30 5x5cm modules in height. Due to the horizontal table and the angled grid board, the room for cables and logic boards outside the modules gets fairly limited to the front (min of 5mm headroom), while being generous in the back. This means any bigger logic boards must be shifted to the back, but there is still enough room for cabling, while minimizing the height of the table.
Because our side boards were to low, we decided to heighten the walls with laser cut MDF, which has the benefit of being able to accommodate notches for placing the grid and overhead plexiglas as cover for the playing field. By using two glued together MDF boards at either side, we brought down the width of the playing area from 57cm to the planned 55cm while increasing overall stability.
Step 3: Build a PlungR
What you need
- 12mm x 18cm aluminium rod
- M3x15mm screw and M3x15mm washer
- Spring (9mm outer diameter, 1.3mm springwire)
- PLA filament for the 3d printer
- metal lathe (oh yes exactly, I have one in every room...)
- pointy bit to decrease diameter
- 3mm drill - dremel with a cutting disc
How you do it
In the process of building the 'modular Pinball', I realized that I needed an easy way to propel the fairly heavy ball (metal, 27mm, 80g) into the playfield.
I could have used some complicated mechanism, involving servos and gears...Instead I decided to make the plunger similar to the ones used in early pinball machines, including just a metal rod, a spring and some sort of retainer for the spring. So I got to work with the metal lathe and started shaving of some material. I ended up with the rod having a diameter of 8.3mm about 10cm into the material and drilled a 3mm hole to screw in a m3 screw with a large washer.(to retain the spring you need a washer larger in diameter than the spring). Unfortunatly the metal lathe had to be removed from the workshop before I had the chance to cut in the m3 thread, so I tried to cut the thread with a bolt and some WD40 - and it worked! (a lot of screws lost their life in this process) Then I designed a mount for the rod and spring in openScad. For me it was important to accomodate for the 10° of gradient in the playfield, so the surface where the spring would be pressed against to, had to be at an angle as well. Due to some angles in my design, I could'n print the mount in one piece, so i had split it in two. (Printed on a Dremel without supportmaterial) You can find the file below.
Reduce the diameter of the aluminum rod
Before you start using the lathe please note: No rings, no gloves, no wide t-shirts and always always wear protective glasses!
If you secured the workpiece into the lathe you can start to shave of material. To accomodate the spring I chose, I had to reduce the diameter from 12 mm to 8.3 mm about 10cm into the rod. To get a better surface you should do the 'cut' in one go, without removing the cutting tool. Unlike I did. If you want an even better and smoother surface, you can grab a piece of sandpaper and sand the workpiece with the lathe running. But be careful.
Drill and thread a hole
To drill a hole into the rod, it is best to do it on the lathe. Assuming you already have the rod in the headstock, you are now going to put a 3mm drill bit into the tailstock. Then you bring the tailstock to the already turning rod and drill the hole. While you are at it you should cut the M3 thread into the hole with the thread cutter. I had to discover that the lathe I was using had to be moved out of the shop. Now you can put a large washer over the screw, insert the rod into the mount(Shoot Kopie.svg)and secure the spring for good.
Although it did work to cut the thread by screwing a couple of screws in and out until they were destroyed, I would't recommend it.
Attach assembly to the pinball
Now it's just a matter of attaching your PlungR to the front wall of the pinball. For that you need to drill 5 holes, four 3mm holes to attach the assembly and one 3cm hole to make room for the overhang of the mount.
Step 4: Build Some FlippRs
What you need
For one FlippR you need:
- 5mm MDF
- A flipper assembly
How you do it
To ensure that the ball would be shot with enoug power, we opted for real flipper assemblies. Those use an electromagnet to pull a metallic rod and thus sling the finger. It might be possible to build an alternative from scratch in a FabLab... (Please invent one!)
We bought our assemblies from flipperteile.com (Germany). We assembled them and cut out a 5mm MDF module for them to sit in. To seperate the control circuit from the power supply (which is at minimum 24V), we used arduino relais. As an orientation we followed this schematic to wire everything up.
Step 5: Fill Up With FillRs and Contain With KeepRs
What you need
- A few sheets of 5mm MDF (depends on the size wanted)
How you do it
You don't want to build a crazy module on every single spot. Instead you want to let the ball roll around on FillRs. Those are as simple as modules can be: Just a box and a top. Using 5mm MDF, cut, assemble and put them in and you're ready to use your flipper!
You'll find .svg files attached with boxes and tops in different sizes. Choose the size you want and cut out both the corresponding box and top. If you want to modify them, the Adobe Illustrator CS5 files are provided as well.
Step 6: Build a PINbutton
What you need
- About 1cmx1cm 5mm MDF
- About 2cmx2cm 2mm MDF
- Arduino momentary button
- 10kΩ resistor
- 3 pin connector
- Soldering tools
How you do it
To control the flippers, two PINbuttons are needed. We used the Arduino momentary button to build little button module. It can be attached to many surfaces using double-sided tape.
The Fritzing-schematic for soldering everything together is attached below. You need the button, a 10kΩ resistor, a little wire and a 3 pin connector. Then you cut out the little box using the .svg files provided (one needs 2mm MDF, the other 5mm MDF), put the soldered button inside and glue everything together.
By switching the + and - input, you can invert the button - neat! That way you could force the player to release the button to activate a flipper. In order for you to know in what state the button is in, we marked the in-/outputs: N0 and N1 mean normally 0 and normally 1. So using the inputs noted in the top row, being + left and - right, the output ↓ will be 0 when released and 1 when pressed. By switching to - left and + right, the button will be 1 until pressed and then turn 0.
Step 7: Play
Now you have the basic parts necessary to begin playing! You can already experiment with switching the inputs or placing the PINbuttons in interesting locations.
Step 8: Build More Modules
Visit our collection to get inspiration for other modules you can build.
But also feel free to contribute your own modules. The crazier they are, the better!
Step 9: Improve
There are many more things that are possible with our PINball concept. Sadly, we only had time to get the prototype working.
You can not only invent new modules but also improve the concept. Here are a few ideas:
- Make stickers to customize the flipper
- Make modules output sound (✓ We've done it!)
- Implement points (using a server that gets sent the points by the modules) (✓ We've done it!)
- Implement module outputs (e. g. by using a server that interprets the signals and ouptuts them onto the PINboard)