Monthly Archives: March 2015

3/22/2015, Quick video update

Most of the point of this post is just to say I threw a new video up on youtube.  Some follow the OPP youtube feed, many don’t, so here’s the pointer to it.  I tried to turn the camera 90 degrees to get a better shot, but it looks atrocious on youtube when it rotates it.  I have to figure out a better way to take videos that show the backglass/LCD and the playfield.

The beginning of the video shows a short LED light show.  The camera angle really needed to be higher to see the insert lighting.  Multiple static  images are displayed on the backglass.   Both of these are controlled by using chaining.  The LEDs use an LED chain, while the images use an image or video chain.  This allows the programmer to focus on rules instead of blinking lights.  Sounds are also being played in a loop, but I don’t have the speakers hooked up yet.

Next in the video, the start button is pressed, and the first ball is served.  The skill shot insert is blinked rapidly.   (Again, nearly impossible to see in the video).  The ball is plunged, and scoring starts.  The left and right flippers rotate the inlanes to help the player complete the inlanes.

The ball eventually drains and the next two balls go similarly.  At the end of the last ball the machine resets and starts going through the attract mode again.  The last scores remain.

That pretty much proves out all the features needed to run a game.  The big pieces of work coding wise are creating the new rules.

The insert lights sometimes flicker when the solenoids fire.  This is partly due to the fact that I did part of the fix for LEDs, but didn’t have enough parts to finish it.  The rest of the parts should be coming in this week.

Double flipping still shorts out the power supply, but the parts necessary to correctly fix it should also be in that package.

A lot of updates to the repository in the last week.  Look at the commit comments if interested.


3/15/2015, Another two weeks, oh how quickly

Another two weeks have come and gone.  Things are moving quickly, but I wonder if they are moving quickly enough.  I guess time will tell.  We are now at less than four months until Pintastic New England.  I noted to one of my friends, “Well, there is no art.  I’ve never hooked it up to a computer to keep score.  There is no sound.  There is no backglass.  There is no front door on the machine.  I’ve never tried to run LED changes, rules, and serial comms at the same time.  You have to follow a very specific boot sequence or the power supplies will incorrectly detect a short.  Besides those minor things, I’m sure it’s almost done.  Yeah, no problem.”

So that being said, let’s look at what has been done in the last two weeks:

Pinball Framework:  Added support for updating multiple LED cards at once by passing list with a mask for each card, and set bits for each card.  Added parallel port processing to support updating the incandescent driver boards.  Updated solenoid kick command and tested.

Started writing actual code for SS3.  All eleven modes have been designed with four different difficulty levels.  There are also a couple side goals to try to get more  points.  It should be full featured enough for the show.

The LED update thread updates the LEDs every 100 ms.  I measured the timing for the update to occur by bit banging the parallel port and it averages 1.5 to 2 ms.  That is probably the most time consuming thing that the SS3 needs to do all the time, so I’m feeling good about it only taking 2% of the processor.

Part of the Pintastic New England contest is to present the final cost of the pinball machine.  This includes the price of the base machine, price of all the pieces added to the machine, and money spent.  Of course, the time put into the restoration is all under the table.  So here is a quick rundown of the costs so far, and what I see in the future:

  • Playfield, $75.  It was a populated playfield with plastics.  Everything was on the bottom.  Many of the drop targets were broken.  It included wiring, which I reused.
  • Cabinet, $50.  A Gottlieb Gladiators cabinet.  Completely different pinball manufacturer and the only “fitting” that I did was making sure that the playfield fit inside the cabinet.  I assumed everything else could be fixed.
  • Backbox, $30.  It is a secret service backbox.  It was a good buy because it contained extra light bulb holders that I could use to replace the broken ones on the playfield.
  • Driver/Input cards, $100.  These are OPP cards that I had made about two years ago.  The $100 also includes the connectors needed to connect to the cards.  The boards are through-hole, so I soldered them up myself.  These are the same cards that Joe and Cactus Jack are using.  Some of the FETs and connectors are too close to each other, but Joe actually came up with a great idea of mounting the FETs to the bottom of the board.  I just squeezed everything together which also works.
  • Power Supplies, $50.  Simple PC power supplies that are tied together.  Currently using four, but I’m probably going to drop that number down to three because many things are still too powerful.
  • Art, $150.  This assumes three orders from BannerBuzz.  I’ve already ordered the side cabinet art.  I expect to need two more orders from banner buzz because the inserts might not line up perfectly.  The cabinet side art was $80 because it is so much area, but it looks really nice.
  • LEDs/parts, $100.  Pinball life got a bunch of money for LED light bulbs.  That is the majority of the money.
  • LCD monitor, $80.  Originally it was going to be for the backpack pinball machine, but well, it was sitting in the basement, so now it is in this machine.  It fits the cabinet perfectly, so I’m happy with it.
  • Old PC, free.  My wife’s grandmother’s old PC that I built for her eight years ago.  It was too old, and she has a laptop now, so she sent it back to me.  I re-purposed it, and hope it is fast enough to run the pinball machine.
  • Lockdown bar, free.  Joe provided this since it was sitting around.  Thanks Joe.

So I’m expecting the total for the whole machine to be $635 at this point.  It is going to be interesting going into the restoration throwdown where some of the people threw in a CPR playfield which can be $700 or $800.  My guess is that the end machine, even with overruns will be a total of about $700.

So Friday morning, Google sends me an email that Google code repository is disappearing.  Github has finally taken over the world of open source.  Because of that I’ve moved the repository onto Source Forge for the time being.  I’ve already done the import, and will probably keep the two repositories in synch for the next six or eight months.  At that point, I will stop updating the Google code repository and let it die.  The source forge repository is located at  I may eventually move it to Github.

I’ve been running a lot of tests with the incandescent boards, and what I thought was fixed, still has issues.  After running different patterns on the boards, it turns out that I’m not getting clean signals on the data lines going between the cards.  A single walking 0 works, or a single walking 1 works because there is only one data transition.  A pattern of 0x55 or 0xaa causes issues and gets flickering to occur.  The only signals that can have that effect is the data lines between the boards.  Simply put a series termination resistor in there and the problem will be fixed.  Bummer is that I don’t have any low value resistors sitting around.  Grrrrr.

I was going to do a video, but just don’t have time.  I’m pretty close to a breakthrough video, that I’m going to wait for a little bit more before tossing up the next video.  It would be nice to have a good video of the framework running, with sound, etc.  Another couple of weeks and all that should be happening.


2/28/2015, Lights, Camera, Action

In the last three weeks, some major pieces of work have been completed and a lot of little things.

I was having some issues reliably communicating with the incandescent cards.  My original interface card between the parallel port and the incandescent boards used simple FETs to convert from 3.3V to 5V.  When I sent the interface card to Cactus Jack, I made him an interface card using a 3.3V to 5V driver chip.  The problem with using the straight FETs is that the slew rate is very fast, and I was getting a lot of reflections on the signal lines.  I had a couple of extra driver interface chips around and built up a card.  As soon as I installed that card, the light bulbs immediately started working reliably.  I’ll eventually create a Kicad version of the card that will also be combined with the RS232 interface card.

Spent a good amount of time finishing up mounting the playfield in the correct position, making a plate to mount the shooter rod, etc.  After remounting the lockdown bar to the correct position, the playfield now easily falls into position, and the shooter bar now lines up properly.  One more mechanical fear removed.

All the incandescent bulbs have now been replaced with LED bulbs.  The warm white three LED bulbs from Pinball Life seem yellow to me.  I was expecting a slightly different color, but I’ve grown used to the color.

Spent some time just at the end of the week starting to work on the rules.  Nothing big happening yet, but just starting to write the code.  The code for the coin drop was ripped out because the machine will be on free play.  I’m expecting to only have the eleven modes completed.  I don’t think that I’m going to be able to get multi-ball to work by Pintastic.  The main problem is that I don’t know how to hook up a second switch, so I can detect when both balls are in the drain.

So I’m officially declaring it four months until Pintastic New England.  (Pintastic is actually on the 11th of July, but close enough.)  I only calculated it this week, and was completely surprised that it is only four months, and not six months until July.  Doh!  I better get crack-a-lackin.  The one nice part is that all of the electronic hardware is tested.  That means most of the stuff is coding, and adding artwork.  It is going to be a lot of work, but it looks like it is possible to make it.

Because of time constraints, I’m starting to drop out unnecessary nice to haves.  I was planning on doing new plastics, but since the plastics are in good shape, I’m expecting to re-use the existing ones.

I’m declaring that the machine will hopefully as good as a NIB Stern machine.  As everyone knows, Stern typically tosses out machines with far from finished code.  By July I’m hoping to have SS3 playing well enough to have fun for the casual player, but won’t have the depth of rules that I’m currently expecting in the end.  A lot of time has to be spent on getting the physical outside of the machine and playfield ready, and that is going to have to take precedence over having a set of rules that you can spend months trying to master.

Here is a quick video of the current progress: