(Topic ID: 125919)

Phil's Score Reel Clocks - The First Batch

By PhilGreg

6 years ago

Topic Heartbeat

Topic Stats

  • 285 posts
  • 62 Pinsiders participating
  • Latest reply 2 days ago by PhilGreg
  • Topic is favorited by 79 Pinsiders


Linked Games

Topic Gallery

View topic image gallery

pasted_image (resized).png
IMG_3716 (resized).JPG
IMG_3711 (resized).JPG
IMG_3716 (resized).JPG
IMG_3711 (resized).JPG
IMG_3705 (resized).JPG
IMG_3704 (resized).JPG
IMG_3692 (resized).JPG
IMG_3688 (resized).JPG
IMG_3721 (resized).JPG
IMG_3719 (resized).JPG
IMG_3696 (resized).JPG
pasted_image (resized).png
pasted_image (resized).png
pasted_image (resized).png

There are 285 posts in this topic. You are on page 1 of 6.
#1 6 years ago

IMG_3711 (resized).JPG
IMG_3716 (resized).JPG

==PART I - The Gottlieb Surf Champ Arduino Clock==

I've been sporadically working on this project for a while, and if you haven't been following the progress it's all documented below.
Here's the end result.
Long story short, a clock running on an Arduino to drive Gottlieb score reels.





And here are some pics with mommy. You can see the hours stays the same on each pic... The return spring on the minutes clock broke off. At first I thought it was an electronic issue and was pretty disappointed but was glad to see it was just this small mechanical issue which I was able to easily repair.

I had also thought of masking the back of the translite to only let light through the surfer gal and the machine title, but I like that the whole backglass kinda lights up so I'll be leaving it this way.

IMG_20150627_164108341 (1).jpg
IMG_20150627_164058891 (1).jpgIMG_20150627_163849293 (1).jpgIMG_20150627_163900314 (1).jpg

The youtube video in action:

And here's the long story...

I wanted to learn to mess around with Arduinos and try something pinball related. I’ve heard that building pinball machines is hard, so I figured I’d just start with a clock.
I’m doing this while my other pinball projects are held up by the lack of a garage and the cold Canadian winter not going away, so I’m not going for perfection here, so please bear with me.
Sorry for the crappy picture quality too, I have a bad cell phone...

First thing, I got a set of old rusty Gottlieb score reels. I pulled them apart and dumped them in my cheap ass ultrasonic cleaner with just regular dishwashing liquid, and that got them clean enough for my liking.


Next up I wanted to try wet sanding from 400 to 2000 grit on metal as I’ve seen in that great Space Shuttle restore thread just to see what that could do, and I’ve got to say it works wonders.
Again I’m cutting corners here, because I got Evaporust, which I should have used before sanding, after the fact, and didn’t bother to try getting a mirror finish.
On the top plates which were really rusted, I got a pretty good result but not mirror perfect because I didn’t spend enough time cleaning the previous grit’s marks before moving to the next.
For the side plates, which weren’t that bad to begin with, I did get pretty close to a perfect mirror finish though.


Next up, I soldered diodes to the coils to protect the electronics I would use to drive them. These are not necessary on an EM as there are no electronics to fry, but for an SS machine you want that diode to short whatever back current you might get instead of letting it get to components upstream.


#2 6 years ago

For the CPU I got an Arduino mini. This runs on 5V DC.


EM score reels usually run at 28V AC, but after looking through forums the consensus seemed to be that converting them to DC gave them more kick, so I figured I could get away with 24V DC.
I wanted to use a single power supply to get both my Arduino and coil voltage which is why I wanted DC. I found one I liked that gave 5V and 24V which is why I settled with the 24V.


#3 6 years ago

Now EMs work with relays. One coil pulls down, closing a switch which allows current to flow and activate another coil. This is basically what I want to do but using solid state electronics.
I want my Arduino to output a 5V which will close connections allowing the 24V to drive my coils. This is what transistors are for.


In this case, Vin is my 5V, Rc is my coil and V+ is my 24V.

#4 6 years ago

One other thing I checked before getting my power supply was that it could handle the workload of firing the coils. Since my clock only does minutes, I figured I could get away with firing only one coil at once.
I measured the coils at 8 Ohm resistance. Given V=RI,
I = V/R
I = 24/8 = 3Amps

My power supply can handle 8 Amps so that works.

I then tried to wing it and use any old transistor I had laying around to try my first test.
Well the darn thing exploded and emitted some black smoke. Turns out it was WAY too small to handle the workload.
After some calculations (which are explained a couple of posts down), I ended up ordering a bunch of our old friend, the TIP 121 which can be found in most SS machines to drive the coils.


#5 6 years ago

When starting with this kind of stuff you really want to do one step at a time, secure it, test it, then move on.
So next up was getting the Arduino set up and running a sample program.

I went with the Arduino mini because I figured a clock was a simple a project as you could do so I could use their simplest board. It has 16 I/O pins, which I'll be using like this:

-4 outputs to drive each of the score reels.
-1 to 3 inputs to figure out the position of each reel
-2 inputs to adjust the time (one for the minutes, one for the hours)

I wanted to keep things simple, so I'm not multiplexing or serializing anything. Each input corresponds to one coil or switch.

#6 6 years ago

You need a USB to serial board to hook up your Arduino to your computer.
There is an Arduino IDE which allows you to program in C++ and upload your compiled code to the board.
Getting set up is not that hard, although with this kind of stuff there's always more fudging around than you'd like when you get started.

The "Hello World" program for the Arduino is just hooking up an LED to a pin and making it blink on and off on 5V.


Once I got this working I figured I could just take that 5V and drive it into my transistor to fire my score reel.

Now you can't just hook up your transistor directly to your board without a resistance in between. The resistance goes between Vin and B on the diagram above.
The following excerpt from http://electronicsclub.info/transistorcircuits.htm explains the calculation of that resistance.
Calculating Ic(max) and hFE(min) earlier would also have helped me avoid the tiny transistor explosion I mentioned earlier. The TIP121's spec can handle those max and min values.


#7 6 years ago

After some messing around and frying some more stuff, I managed to get a single coil to fire. Success!

Now that I managed to get my ouput going, I figured I'd move on to getting input back from the reel to give its position. Gottlieb score reels have two separate mechanisms to actuate position. One of those is a stack of switches that lets the next reel know that this reel is about to roll over, being at the 9 position.


I figured I'd feed a 5V to one of this switch's lugs, catch that 5V as an input in my Arduino and call it a day. Wrong again!
It turns out you can't just have a long loose wire with a small gap to a source of current and hook that straight as an input pin in your board, because that pin won't read 0.
The wire will get a bunch of induced noise from surrounding electrical currents and your pin will always read high or not be reliable.
This is why you need to "pull down" that pin.

#8 6 years ago

Pulling down your pin means you're going to ground it so it remains at 0 when it's supposed to. However you don't want to hook it directly to the ground or else your "good" 5V will end up there too.
So there's another resistor that needs to go here.


The Arduino website tells us

"Often it is useful to steer an input pin to a known state if no input is present. This can be done by adding a pullup resistor (to +5V), or a pulldown resistor (resistor to ground) on the input. A 10K resistor is a good value for a pullup or pulldown resistor."

#9 6 years ago

Are you reinventing the wheel? I recall others doing this and posting photos of theirs a couple years back. Maybe it was in Pin Game Journal.

#10 6 years ago

I guess I am... I don't think anybody has much use for a huge clock that makes noise every minute, the whole point was to learn a thing or two
I'll go check it out when I'm done and see how much both projects differ!

#11 6 years ago

==The code==

Now I can't actuate each reel at each position since I have 12 inputs left, with 2 I'll use to adjust the time.
I didn't want to multiplex or serialize so that leaves me 10 inputs to figure out the position of the reels well enough to give the correct time.
I had an approximative idea of how I was gonna do this, but I figured I'd write all the code first before I'd start soldering stuff to make sure I didn't forget anything.

I decided to go object oriented C++ for the code because that’s what I’m used to doing, and I’d try to adapt my way of working as I’d run into trouble with the Arduino language. That didn’t happen, I coded it in straight C++ and pretty much everything worked right off the bat.

It’s a really simple project, again, so it’s probably overkill to do this with objects, and I don’t foresee any expansion to this thing. The whole thing sounds better in concept than it’s actually coded as I just cranked it out to get it done with and as I was doing it I realized the 4 reel's behaviors were not all that similar and my design wasn't all that clean.

The main concept is that each reel has:

  • A state in which the reel is about to roll over
    • For 1 minutes reel that means being at position 9
    • For 10 minutes reel that means being at positions 5 to 9 (just in case it somehow winds up at a 7, which it has no reason of being at)
    • For 1 hours reel that means being at 9 if the 10 hours reel is at 0, and being at 2 if the 10 hours reel is at 1
  • A state in which it just rolled over
    • This is just a flag set by the RollOver function
  • A state where it’s at 0
  • A different way of rolling over
    • For 1 minutes reel that means stepping once
    • For the 10 minutes reel that means stepping until we hit the 0
  • Etc.
#12 6 years ago


#13 6 years ago

Thank you. More updates coming, as the project is further along than the updates are, but I still have ways to go and I'll update the whole process.
I hope to be done within a month - I don't get to work too often and too long on this.

#14 6 years ago

I think this would be a cool mod if it could be wired up so a game would work as a clock until you started a game.

Looking forward to seeing more!

#15 6 years ago

The way I've done it right now wouldn't allow it, but that's only because I elected for the CPU not to know the exact position of each reel. It only knows when it's supposed to roll the reel over, step up the next reel or reset the whole thing (at 12:59).

So you'd need 10 wires coming out of each reel into a shift register, and the code would need to be updated to be able to set the clock back to a specific time. You'd need to figure out when the machine is turned on or off which would be pretty easy.
You could get your power before the on-off
switch so that it could run while the machine is turned off but plugged in.
What the shift register does is it allows you to store the values of multiple switches at one time, then retrieve them one at a time through the same pin (serializing). You get one at each clock tick, so it's pretty much instantaneous.

#16 6 years ago

If you know EMs you probably already know this, but these plates allow knowing at exactly which digit the reel is.
A metal part bridges the gap between the common at the middle and each of the digits.

(Got that pic on Google)

So for the needs of my project I have as input on the score position:

Just the 9 on 1 minutes reel:

5 to 9 and 0 on the 10 minutes reel:

0, 2 to 8 and 9 on the 1 hours reel (last digit is 9 if 10 hours is at 1, 2 if 10s is at 1):

0 on the 10 hours reel (if it's not 0 we treat it as 1):

#17 6 years ago

Here's a video that shows a switch (I'll use a flipper button for this) that closes the gap to send 5V to an input on the Arduino.
To the left of the Arduino, you see a row of resistors. These are the pull down resistors I explained before.
To the right you see the resistors between the Arduinos and the transistors. To the right is the 24V line which drives the reels.

So when I push that switch, the Arduino sees that the corresponding input reads high.
It calls the IncrementMinutes() function in my code, which sends a high signal (+5V) to the transistor for the 1 minutes reel, which lets the 24V through for 200ms, just enough for the reel to step.

#18 6 years ago

Cool project and thanks for posting your progress.

#19 6 years ago

And now here's putting it all together.
You can see what happens at 12:59, while you're sound asleep which, again, is why it's not very practical as an actual clock. You can really see how I'm only firing one coil at a time. Maybe not so efficient but I have a minute to do what I have to do so no hurry (again, cutting corners here - if this were a production thing I'd step up the power supply and update the code to have everything happening at once).

In the video all is being controlled with the adjustment switches. I let it run on the actual clock for 2 days, and it was still perfect to the 10th of a second as far as I could tell.

This uses the Arduino internal clock, which rolls over every 50 days. This means that every 50 days you'll be up to a minute off.

Now that the code is complete, my next steps are building a "cabinet" and transferring my circuit from this test breadboard to a permanent one.
This is where I'm actually at on the project now, so slower updates from now on.

#20 6 years ago

Very cool. Do you have a schematic made up for this? I have some extra score reels here & would like to make one of these..

#21 6 years ago

I don't, but I could.
Would you then want me to send you the code and you'd upload it yourself? Or you could have an Arduino sent to my place and I can load the code for you if you like.

#22 6 years ago

Started cutting the pieces of the cabinet.
The white melamine piece gives you an idea of the size of the backglass.
I went pretty much as small as I could to fit the reels and the power supply on top of one another.


#23 6 years ago

Putting the cabinet together.


#24 6 years ago

I planned ahead a little bit, but now I have to figure out how to fit everything in.
I don't foresee that you'd need to remove the backglass, but I'll still see if I can do it so that you can slide everything out to access the front end.


#25 6 years ago

What's the latest?

#26 6 years ago

Some more work on the cab.
I'm glueing a strip of wood that will hold the backglass in place and put some wood putty to make everything smooth and sharp.
That wood putty's great for a sloppy woodworker with dull blades like I am.


#27 6 years ago

Cut plexiglass sheets for the backglass. I cracked one while doing it, but I was thinking of putting a translite in between two sheets to keep it nice and flat, so the cracked one can probably go behind.


#28 6 years ago

Flipper buttons to adjust time. Opted to go for Williams style since Gottlieb EM style are designed to go with side rails. I might order some different color options to match the theme. I might also still get some Gottlieb EM style ones to try em out.


#29 6 years ago
Quoted from PhilGreg:

Flipper buttons to adjust time. Opted to go for Williams style since Gottlieb EM style are designed to go with side rails. I might order some different color options to match the theme. I might also still get some Gottlieb EM style ones to try em out.

Nice touch
- Perhaps some chimes for an alarm function? A nice clean set mounted exposed on top maybe....

#30 6 years ago

Yeah I had thought about that, but the problem is how do you set the alarm. I'm sure there would be some way to do that with the single score reel set, but again, wanted to keep it simple.
The Arduino starter kit has a remote control, so you could set it with a remote I guess.

#31 5 years ago

Progress has been slow lately, but here's a mock up of the back glass that's a sneak peek for the theme.
Doing a Gottlieb was a no brainer because of the Gottlieb reels and I don't care much for other EM makers. Then I'm a big Gordon Morison fan. Last I had some leftover paint from a previous Surf Champ cabinet.


#32 5 years ago

lots of progress, and I'm starting to see the home stretch, although there's still lots to go.

Added the brackets that hold the melamine board in place. This is what holds everything.


Did the transplant from the test breadboard to permanent. I had a couple cold solders, but I was really careful not to have any shorts between the 5V and 24V circuits. After a couple of tries got everything working again.


The whole assembly slides out as a single piece.


How it looks from the back.


And here's how it looks from the front.


#33 5 years ago

Here are the schematics. I drew them before doing the transfer for safety.


Forgot to draw it but I have a fuse on the way out of the 24V +.

I screwed up the drawing... these are not 100 Ohm but 10K Ohm.
Again, from the Arduino site:
"Often it is useful to steer an input pin to a known state if no input is present. This can be done by adding a pullup resistor (to +5V), or a pulldown resistor (resistor to ground) on the input. A 10K resistor is a good value for a pullup or pulldown resistor.""

#34 5 years ago

Nice. Should have used vintage cloth covered wire though!

#35 5 years ago

Oh dasvis you are 'head' strong at the moment!

#36 5 years ago
Quoted from wayner:

Oh dasvis you are 'head' strong at the moment!

True that. & we have the NW pinball show coming up June 5-7

#37 5 years ago
Quoted from dasvis:

Nice. Should have used vintage cloth covered wire though!

Yes, you're right, that would have been a nice touch. On top of that I used mostly hard aluminum wires which isn't that great of an idea. I wanted to cut down on my BOM a little bit and had some of that stuff laying around.

#38 5 years ago

Just put up an order at pinball life, mainly for the lighting and the flipper buttons.
In the meantime, I'll get to work on cabinet paint.

Also, I own a Surf Champ but it's at my dad's place a couple hours away. I'd need a high res scan of the backglass to adapt it for my project. If anyone can help with that I'd be a taker, but if not no big deal, I'll have to go visit my dad at some point and play a couple of games.

#39 5 years ago

Here's what I have for the side art.
I reworked the full thing to get the full story on the smaller surface. My plan is to print the colors separately on paper, then lay two opposite layers of frisket on top of one another, the printed paper on top and try to cut both at the same time. I'll try to make all the lines smoother as I do it.



#40 5 years ago

The sad life of a pinhead with no garage.
Painting the primer in the back of my van because it's raining outside.


#41 5 years ago
Quoted from PhilGreg:

The sad life of a pinhead with no garage.
Painting the primer in the back of my van because it's raining outside.

#42 5 years ago
Quoted from PhilGreg:

The sad life of a pinhead with no garage.
Painting the primer in the back of my van because it's raining outside.
IMG_20150521_212514518.jpg (Click image to enlarge)

Your not living in a van down by the river are you?

#43 5 years ago

I will next time I bring in another pinball machine in the house.

#44 5 years ago

Excellent project!

#45 5 years ago
Quoted from PhilGreg:

I will next time I bring in another pinball machine in the house.

Hmm - I can relate to that.
Going to look at another project today. Have 3 in storage awaiting attention & two mid-resto now.
What the hell, the cheap project pins are not going to get easier to find.

#46 5 years ago

Slowly progressing.
I did the first two coats of antique white on the cabinet. I'll do another 2 in 2 days and then work on the side art.


I decided to make a base. The top part is just sitting there, I'll screw it there when the paint is done.


Got my PinballLife order. The translucent Blue and Yellow flipper buttons look neat, I'll see which ones fit better once the side art is painted. Got some sockets for backglass lighting, and then got these things for score reel lighting.
Just great.


Oh well at the speed things are going I have the time to order the correct size.

You'll notice I'm holding an LED in there (soft white). Sliding out the whole assembly is not THAT easy, so I don't want to have to do it, and I decided not to have any holes for venting the heat because I want to bottle in the noise as well. LEDs don't get hot so that could help.
My gamble is that the power supply is not gonna get the inside of the machine hot enough that it's gonna be a problem. We'll see how that goes, I can always drill the holes after the fact on top of the machine, but I'd much rather not have to do it, as everything's gonna be already painted.

I could have tested it before I went and painted everything but I don't have a back door made yet...

#47 5 years ago

What about the webbing before the side art? I used Clay's technique with a wire masonry brush & black lacquer & it worked great.

#48 5 years ago

It's not webbing on the Surf Champ, it's the speckles. I'll do that with the airbrush, you just need to remove the tip of the gun and do short bursts. I'll let my girlfriend handle that part, she did it on the full size Surf Champ and it looked A-OK to me.

#49 5 years ago

Cool. A pin cabinet repaint just does not look right w/o the webbing or spatter.

#50 5 years ago

Second coat is now drying, I'll try to finish up the painting this weekend.

There are 285 posts in this topic. You are on page 1 of 6.

Hey there! Got a moment?

Great to see you're enjoying Pinside! Did you know Pinside is able to run thanks to donations from our visitors? Please donate to Pinside, support the site and get anext to your username to show for it! Donate to Pinside