Introduction: Digital Pinball Machine

I'm a pinball fan from way back, but pinball machines are so expensive, and need a lot of maintenance. With the creation of software such as Visual Pinball, Future Pinball and Hyperpin, Digital pinball cabinets are a reality, and can be made quite cheaply. the advantage of digital pinball is that it's cheap to maintain, relatively cheap to build and you can have as many tables as have been created. A number of people have built cabinets, and the Hyperpin Forums are a great place to get all the information. Here's a step by step on how to configure the software, build the cabinet and wire it all together.

you will need:
- A computer. 1 Gig of Ram is OK, but 2 is ideal. you'll need a pretty decent graphics card with dual monitor capabilities and a pretty decent processor - a fast dual core is better than a not as fast quad core, as the software only uses 2 cores anyway. Most people say Windows XP is best.
- the software: Visual Pinball is the emulation software, and the front end that dresses it up and makes it playable on the cabinet is hyperpin.
- A monitor for your playfield - I wanted to keep costs down, so I went with a smaller option - a 24" Asus monitor. If you want to replicate the size of a real pinball machine, a 37" LCD TV is your best bet.
- A monitor for the backglass - I went with a 19".
- timber - I used 19mm MDF.
- A keyboard encoder. the i-pac is your best bet, available here in Australia, and here in the USA.
- arcade buttons and wire. I used 6 buttons, each coming with it's own microswitch. wiring kits save a lot of hassle crimping connectors on wires. they're available at the above links.

these are the key components, but there are plenty of smaller things I use along the way.

Step 1: Setting Up the Monitors.

the first thing you need to do is configure the monitors. this is pretty easy. On Windows XP, go to control panel/Appearance and Themes/Change the screen resolution. Click "identify" to make sure your playfieild monitor is 1 and Backglass monitor is 2. then click on monitor 2 and check "extend my windows desktop...". then set the resolution for both screens to the true resolution of monitor 1 (1280x1024 is a safe bet). make sure monitor 2 is on the left of monitor one.

Step 2: Setting Up the Software.

first download and install Visual pinball. there's a great thread in the vp forums that gives a good step by step on setting up Visual pinball with links to the relevant downloads. Find it here.
next download some tables. make sure they are full screen cabinet tables. add the tables to the tables folder in the Visual Pinball. open Visual Pinball, got to video option and make sure you have full screen checked, your screen resolution selected and 1024 selected in texture dimensions (see image below). restart the program, go to file/open and open a table. In the left tool bar, select play. it will come up with a box telling you you need a rom to play the game. look in the 'ROM set name' box and it will tell you the name of the rom you need. download it and add it to...visual pinball/vpinmame/roms. unfortunately, this is the only way I know of to find the right rom set. alot of tables only have one ROM, so its worth checking it out first. you could also download all the roms for the particular table. once the rom is in the right spot, try to play the game again. you'll get a legal agreement pop up. click yes and the game is ready to play. sometimes you need to open the game twice, because the first time emulates a system restore for the table and needs to reboot. just press escape, quit to editor and then play the game again.

next, install Hyperpin. you can download it here (you'll need to create a free account). once hyperpin is installed navigate to the hyperpin folder and there is a really good help file there on setting everything up. READ IT! FOLLOW IT! setting up hyperpin can be a bit tricky, so it's important to follow the help file.

probably the trickiest part is editing the xml database that dictates what games show up. here is an example of a database:
<menu>
          <game name="16-9 Agents 777">
          <description>Agents 777 (Game Plan 1984)</description>
          <manufacturer>Game Plan</manufacturer>
          <year>1984</year>
          <type>SS</type>
         </game>
         <game name="16-9 Airborne">
         <description>Airborne (Capcom 1996)</description>
         <manufacturer>Capcom</manufacturer>
        <year>1996</year>
       <type>SS</type>
       </game>
</menu>

this database would show two tables in hyperpin - Agents 777 and Airborne. here is a database entry proforma:


<game name="INSERT NAME OF .VPT FILE HERE">
<description>NAME OF MEDIA HERE</description>
<manufacturer>MANUFACTURER</manufacturer>
<year>YEAR</year>
<type>EM(electromagnetic, usually games before 1978) OR SS(solid state, usually games after 1978)</type>
</game>

 once you get the hang of it, it becomes pretty easy.
once everything is set up, and you have opened each game at least once in visual pinball (this is very important. if you don't open each table once in VP, then they won't work in hyperpin), your software configuration is complete. note this is a very time consuming process, and if you need to troubleshoot, the hyperpin forum is the best place to go.

Step 3: Building the Cabinet.

the plans for my cab are in a picture below. you may want to adjust button holes for your own hands. for the button holes, I wanted spacers on my flipper buttons, so I used a 25 mm spade bit. all other holes were 28mm. notice I left a 20cm gap at the back - this is so I'd have access to my computer front panel. more on that in the next step. I then drilled grill holes in the back and bottom panels for fans (1 on the back, two on the bottom: 120 mm fans with 4-pin connectors to plug into the computer's power supply). I also wanted to put my small computer speakers in the cabinet, so I drilled a series of small holes in each of the side panels, so when I attached the speakers behind, the sound would travel through. finally, I used a drill and jigsaw to create a rectangular hole in the top panel for the cables of the backglass monitor to go through.

screw everything together, fill in all the gaps and holes with spakling compound, then sand it back nice and smooth.

I haven't yet attached legs to my cabinet, because I'm trying to design collapsable legs that will still be able to take the weight of the cabinet. i want to be able to pack it up and put it in the boot of a car in 15 minutes, so I can take it to parties, etc. if you don't need your cabinet to be portable, then build sturdy legs for it - I'd use even lengths of 4x4 bolted and braced on each inside corner. 

you can decorate your cabinet any way you choose - getting professionally printed graphics is probably the most aesthetically pleasing method, but it can be expensive. i designed mine based on a NES controller coffee table I built. If you want to paint it a solid colour, you can acheive a smooth finish by first spraying it with primer, and then a coat of satin black or whatever spray you want. sand it back, apply another coat, and sand and paint another 2 or 3 times. this will create a nice, smooth, even finish. once you have everything painted, you can move onto the next step - electronics.

Step 4: Putting It All Together.

once the cabinet was painted, I used angle brackets to screw the backglass monitor to the top panel. You could also attach the stand it came with, but I felt brackets were a slightly sturdier option. I inserted the buttons in the button holes and then attached the microswitches (this is super easy - just insert and twist so the switch lines up with the button mechanism). for wiring the microswitches to the keyboard encoder, I recommend buying wiring kits from one of the arcade stores I mentioned in the intro. it makes life a heck of a lot easier. first you daisy chain the black wire to the 'com' ('common' or ground) on all the microswitches and finish at the 'ground' on the top of the i-pac keyboard encoder (see image below). then use a single wire to attach the NO (normally open) to an empty port on the i-pac. do this for each button. once the wires were all in place, I put a surge protected powerboard into the cabinet. I used small angle brackets to lock it in. keeping the computer and playfield monitor outside the cabinet, I attached the monitors, keyboard encoder, etc and all the power leads. turning on the computer, I ran winiPac (software for configuring the ipac. this will most likely come on a cd with the i-pac). This is a really intuative program that's easy to follow. it basically assigns the right keys to the right ports in the i-pac. once the i-pac is configured, I tested out visual vinball first and then hyperpin to make sure that all the buttons were working. once everything was in order I shut down, placed the computer inside the cabinet and attached the fans and speakers to where they need to go. I just used usb powered speakers, so I took the speakers themselves out of the case and attached them straight to the side of the cabinet. the fans, depending on what they are, should attach to each other and then the power supply in the computer. once everything was connected, I placed the playfield monitor into the cabinet.

next we, finish it all up.

Step 5: Finishing Everything Up.

the last thing I did was build a bezel around the monitor using 2mm mdf. I used the little feet from the bottom of a bookshelf to attach the bezel to the cab and then painted them black. finally I cut out trangles from an old mouse pad and glued them on the corners for palm rests.

as I mentioned before, Im still working on the legs, and i've ordered some mercury switches so I can hopefully add nudge capabilities to the cabinet. If you are thinking about building a cabinet for yourself, definately check out the visual pinball forums and the hyperpin forums.

f
eel free to ask any questions you may have, and I hope you enjoyed the instructable. here is a link to the video of the machine in action - I apologies for the average quality. you'll notice the first game takes about 30 seconds to load up - that's because Hyperpin is accesing visual pinball. each subsequent game only takes 5-7 seconds to load.

3rd Epilog Challenge

Participated in the
3rd Epilog Challenge

game.life challenge

Participated in the
game.life challenge