Sunday, February 27, 2011

Minimizing sparks without losing the flair...

It seems that sparking can be minimized using capacitators on the switches, as seen in this video. Too bad I didn't knew this when I placed the last order from Marco's! I could probably find a similar component locally that could be used instead of this (yellow wrapper 2.2 uF @ 250 volt axial lead non-polarized metalized polyester capacitor).

But I've probably missed a lot more stuff, so I'll chalk this down for ordering later anyway. Right know I also need plastic inlays, rollover switches, foam paddings, LED-holders and a lot more I don't know about at this moment.

I guess that's one of the problems by learning-as-you-go!

Friday, February 25, 2011

Playfield design

The playfield design is coming along nicely, having proper measurements helps a lot!
It's really hard to eyeball the flow of the game just by looking at the CAD design (well, vector art anyway) but I think this board will flow very nicely! It does in my head, at least...

Unfortunately the theme and playfield will be "secret" until the construction has come a bit further. I have currently a couple of ideas for the game-theme, but more or less all of them are copyrighted in some way... But I'm pretty confident it's ok as long as I don't sell the machine and put all the right copyrights and brandings on it.

Wednesday, February 23, 2011

Sparks will fly...

Had a little fun shooting sparks and triggering solenoids via directly fed +48 VDC.
Turns out the sparks were caused by too little resistance in the coils and the large voltage difference when off/on. That's ok for the flippers where sparking is actually considered normal operation due to the way they work, but for the bumpers etc I need to either:

A) Lower the voltage over the coils
B) Increase the resistance over the coils

(A foot note: Low resistance = High power coils, so it's not all bad!)

The sparking in this case means lower lifetime per coil, more heat etc. For a normal "hold" coil, the resistance (Ohm) should be around 150-200. Mine was 4 Ohm, same as the flipper coils. A direct short circuit is anything below 1.8 Ohm, so it's walking a fine line there...

It will be easier to test this properly when it's all connected in a controlled environment.

Tuesday, February 22, 2011

We've got power!

Got my shiny new +48VDC power supply today!
Since it's an industrial PSU I had to do a little wiring to get it up and running.
But since I'm currently here blogging about it, I guess it went well...

The neat thing is that I can adjust the voltage +-5 volts, which can be used to limit or increase flipper strength. That and built in overload protection and current limiting should come in handy!

Oh, and I found out that the same company that I bought the PSU from also sells the MOSFET I wrote about earlier... But they cost 0.8$ each! Just ordered a bunch!

Man, I love internet!

Monday, February 21, 2011

MOSFET's or Relays?

Originally I had a plan to use relays to control the power to the various solenoids and coils, but as I found out, relays for +48VDC aren't exactly cheap. Something like 60$... and I need around 10 of them. Yikes!

After doing a little research I learned about the MOSFET transistors IRF640 which are ideal for this. They act like a relay but costs around 4$ each instead! A much more comfortable pricerange...

The best thing is that I can control the IRF640 directly from my Arduino board, since the requirements for "flipping the switch" are very low. There are also smaller versions available for even less which I'll probably be using in case I need higher powered lights than my Arduino board can power on its own.

A big thanks to Benjamin Heckendorn at  for helping a poor soul out regarding the MOSFET's. In fact - his Bill Paxton pinball machine was and still is an inspiration to my project - Great stuff!

Saturday, February 19, 2011

Them Outputs...

Regarding the lights/outputs I've decided to create a separate output board using daisy chained shift registers. This output board will be connected to the lights- and display-microcontroller. The beauty about this thing is that it costs almost nothing and once the values are set, they are there until you reset them.

More or less - I simply send all my data to a specific output-pin and the shift registers push/pop values throughout the registerchain. In theory I could chain a lot of them together, but for now I've decided to settle for 8 chips in a row using the 8bit 74HC595. If it all works out as intended I will add additional chips. This combined with the 54 I/O's on the Arduino Mega 2560 should be plenty!

By the way, my Sparkfun backorder on the Arduino board (damn those things sell out fast!) has arrived, so they should be shipping it soon... Then we can get this party started!

Thursday, February 17, 2011


I've had quite some struggle finding details about the coils, so here comes a bit of information for anybody who's looking to create their own pinball machine.

A warning - high current loads can kill you. Handle with care and if you are not sure about what you are doing - don't.

The assembled coils + mounting brackets + links (minus flippers):
They are actually shown 'up side down', so we got Right-flippers on the left and Left-flippers on the right. If it's not seen in the picture I'm using FL-11629 coils (the strongest) since I hate weak flippers! Might need to change the upper two flippercoils for a tad weaker thou, since they'll be closer to the targets.

And here's the wiring for non-fliptronics flippers (i.e flippers are not digitally controlled):
Basically - The lug with both wires (1) connect to the power supply. The remaining two lugs (2 and 3) are connected to the EOS (End of Stroke) switch that when closed, enables current to pass through both coil windings - thus eliminating burnt coils when the flipperbutton is continuously held in. The wire from lug 3 continues to the flipper switch/button and eventually connects to the ground.

Be careful to use the correct EOS-switch setting for the setup, in this case it should be a normally CLOSED switch. I did the mistake (in a newer post) where I burnt the coil using a reversed EOS-switch.

(Can't remember whose picture this is, but hopefully I didn't step on anyone's toes here)

An excellent webpage of the entire setup can be found here:

At the moment I havn't yet decided if the final version will be fliptronics or non, but it's possible to change that in the future without TOO much hassle. I've always preferred direct control since it's a more instant response than fliptronics - which can cause delays for a few millisec.

The pro's about fliptronics are that you can enable/disable flippers easily, perform ball-searches, play custom sounds when flipping etc. A LOT of possibilities! 
The con's would be delay and a slightly more complex setup. And two to four solenoid relays are bound to flippers instead of playfield machinery etc.

Wednesday, February 16, 2011

Itchy fingers!


Got the first batch of parts today, only slightly delayed after swedish customs had to peek inside the package. Nevertheless, in all its glory - Behold!

In the picture:

* Bumper assembly
* Flipper assembly
* Flippers
* Pinballs
* Rubbers
* Coils
* Posts
* LED's
* etc...

(This is only a small sample of the 96 parts I've ordered)

Too bad I forgot the mounting brackets for the bumpers, which means I won't be able to play with them right away.

Itchy fingers!

Sunday, February 13, 2011

Power to the people!

48 VDC 7.3A 350W.

This means I've got juice for my flippers!

(I also need a small powersupply for the lights and various solenoids, but that's enough with a regular computer PSU)

Saturday, February 12, 2011

Stand Alone

Yepp, I've pretty much decided that I will be creating the pinball for standalone use. The old plans with a PC-centered machine is now gone. I will use the PC while developing to read logs etc, but the final version will run on it's own. You can't argue with 3 sec boot time.

Arduino - you handsome beast!

But there's a little speed bump....
I'm think about using shift registers to control the lights instead of directly using the pins on Adruino. Why, you say?  Simple reason: I want to be able to use multiball features!
The original plan was to use bitwise operations to get more inputs, based on the fact that a ball rarely (i.e never) touches multiple switches at the same time - like this:

1.................. to 16 = 16 inputs total
1 + 2 ........... to 16 = 16 + 15 inputs total
1 + 2 + 3 ..... to 16 = 16 + 15 + 14 inputs total

You get the picture.
But when using multiple balls it may be possible to hit multiple different targets at once - thus registering faulty hits with said method above. Not good.

So I got more or less a couple of options:
A) Get more Arduino units and let them do different tasks - one for input, one for output etc. They would be communicating internally via serial ports to exchange data.
This may be a feasible solution as it also gives me "dual core" capabilites, like not relying on a single loop for game features, simultaneous updates etc. But it's not very cheap.

Pro's: Dual cores, load balancing, dedicated tasks. Free's up system resources since a lot of the code can be moved to the other cpu.
Con's: Somewhat expensive.

B) Use shift registers for lights.
This allows me to get more lights by sacrificing a couple of pins to gain 8-16 more (depending on chip). The chips retain their status so I can fire&forget the lighting states and the chip will continue to do its thing on its own. It is also possible to link multiple shift registers together for additional ports WITHOUT using more pins on the Arduino itself. And the chip itself costs 1$. Sweet!

Pro's: Cheap.
Con's: Slightly more challenging to control lights. Ok, I lied. A lot more challenging. No load-balancing or dual cores.

Currently I'm leaning towards a second Arduino (possibly a smaller version even).
I think the current input/output requirements was around 95 outputs and 50 inputs.
So I need at least 40 more I/O's - unless the playfield changes.

And once I start adding graphics and sound, I'm not so sure one single Arduino will do the trick...

Thursday, February 10, 2011


Found the perfect microcontroller for my machine.
Meet the Arduino Mega 2560!

* USB driven (via serial), up to 54 I/O pins.
* Can operate in standalone mode (if needed in the future)
* Extensible (can support SD cards, MP3 etc)

But of course... 54 I/O ports won't get me very far, so I've ditched 7 ports in exchange for 48 more (by multiplexing outputs). A total of 115 digital I/O ports + 16 analog inputs.


The wait...

Spent a couple of days following various online auctions, but decided that I'd probably don't want to build a new shiny machine with second hand parts that are most likely in need of a good restoration first.
So I've found a great reseller at and started my shopping spree...

Four flippers, balls, bumpers, a starting kit with LEDs, posts, switches, ball plunger etc...

Not the cheapest order I've ever laid, but I'm really looking forward to finally kick of my dream since forever! Agonizing wait for pinball parts!

I still need to find a decent +48VDC powersupply with enough juice to power the flippers thou...

First time around...

...both building a pinball table and blogging.

The basic idea is:

* Widebody dimensions for playfield and cabinet.
* PC controlled - Seems like the easiest and most versatile route. This MAY change in the future, depending on how the project evolves.  
* Currently based on the Arduino microcontroller - by far easier and more versatile than a PC!
* Will feature modern pinball features

Wish me luck!