Arduino Pinball

Well I asked about using an Arduino to control a pinball here a while ago and between then and now I have learned a lot through experimentation about the Arduino and electronics in general. Here is what I have so far:

I scaled the challenge down a bit and found a free Funrise pinball machine. it is basically a passive pinball machine, only a spinning bumper and the flippers add momentum to the ball. So i used three 4021 shift registers to control the input from the playfield, and it works yeah!!

I also ordered a MAX7221 led controller which arrived Friday and I started building a schematic to incorporate it into my controller. I have a few questions about using the IC that just are not very clear from reading the article in the playground and the data sheet. The article has two caps, one is 10uf and the other is 100n and it states they are both important for noise reduction. Now the data sheet only shows a .1uf cap and if I have read it closely then the data sheet doesn’t make a big deal out of the cap at all. So my question is can I use a simple #104 cap on this IC or do I need more. The other thing about it is can I reuse the Latch and Clock pins from the 4021’s or do they have to be independent?

My next question is for advice with the schematic, if there are suggestions for improving it or even a problem that I am completely missing. The first part up to the Amtel IC is what I am planing to replace the Arduino development board after it is complete so if the power supply looks wrong in some way please say so as I borrowed it from an Instructable. After the 4021’s Im using resistor networks so i don’t know if I hooked them up right in the schematic, when I switch over to the board view they seem to come out ok. Finally in the schematic I have just started incorporating the MAX7221 into it so its just components right now but the major one is represented in the 4 character LED display that the machine uses, so as I watch expectantly for someone to reply to this post I will be working out the rest of that as well.

Thanks in advance for all the help that this forum has offered in this project.


Schematis is not very readable. You will have the SCK/MOSI/CS lines going to the MAX7221, and set it up using SPI.transfer commands. Easy chip to use.

Can you switch to white background on the schematic? red/green on black very hard to read.

Also you need 100nF (0.1uF) caps from all IC's VCC pins to gnd.

Reposted the schematic with the changes that you requested.

When you say that I need a 100nF (0.1uF) cap from all IC’s VCC pins to gnd, are you speaking about the despiking that I have heard about. Can you shed a little more light on this as I do not understand why you must use a cap for every IC. As well do I need the two shown in the article about the MAX7221 or can I just use the one that the datasheet shows?

Also can I reuse the Clock and Latch pins from the 4021’s on the MAX7221 or do they have to be seperate?

Finaly can I use the MAX7221 like a switch for outputing to other stuff such as a trasnsitor or am I limited to only LED’s?

Thanks again

Yes, 0.1uF cap at every ICs 5V pin to ground for power supply decoupling if you want reliable operation & no spurious changes.

MAX7221, connect to the MOSI & SCK lines so you can use SPI.transfer to send data to it. Waaaay faster than doing shiftout() to the part.

You can use SPI.transfer to send data to it also. Need a separate chip select for the 2 parts.

Max7221 multiplexes current between the LEDs it is connected to at 800 HZ. You can connect to transistors if you need more current drive/higher voltage/common anode (vs common cathode) LED matrixes. See