Category Archives: Hardware

Spot the problem

As a followup to my previous post, I went in to make some adjustments to the positioning and spotted a tiiiny little problem.

IMG_20130518_143842Yeah. Not going to clear the cabinet.

The problem is a number of layers deep. First, I can’t slide the bracket back any more, and even if I could, moving it enough to clear the cabinet would break alignment with the kicker assembly. This is because stern actually mounts this BEHIND the kicker, which clearly isn’t possible in RG because of the trough kicker.

My solution here is to replace the whole trough assembly. A quick set of measurements indicate I can do a complete swap of this unit with the newer Stern assembly with only minor modification to the PF. So that’s on order now… As a bonus I now have a bit more flexibility in the ball count; something I was struggling with before (I was planning on using the drain as a hold for the fourth ball hold which is a logic mess). The assembly can easily be expanded to something insane like 6 balls, so I can have some fun there. The only real annoyance is going to be getting the optos working.


Adding an auto-launch

Rollergames didn’t ship with an auto-launch. This is a bit limiting, in that all multiball events must come from locks, and ball saves require a manual “plunge of shame”. While it’s not something I can’t work around, I like auto launches so why not add one?

IMG_20130517_000226 IMG_20130517_000307

 The coil I chose is very anemic for this playfield, and barely gets it to the mouth of the ramp. Some of this may be due to installation (alignment is a hair off as you can see from the second shot), so I’ll likely replace it with something beefier soon.

I’ll need to order a new switch and bracket for the shooter lane; I thought I could repurpose the old Williams one but it’s too wide; and the switch wire isn’t long enough to work in the new position. Oh well, I hadn’t coded it in yet anyway.

In other news, I ordered a new GI relay to replace the one that worked a whopping two times before never again gracing me with it’s presence. I popped the board out today to install the new one and found two very bad solder joints that just needed a bit of love. On the bright side I’ve not got a spare relay.

It’s alive!

I spent 3 hours last night staring at this scene.

Would YOU plug this in?

Would YOU plug this in?

To say that I was hesitant to plug that toroid in would be a gross understatement. There are a lot of things that can go horribly wrong, and while I did have the foresight to fuse all the outputs, there’s still the chance of something going wrong upstream.

So after many confusing hours of confusing results with a multimeter due to the output caps, I finally worked up the guts to power it all on. I actually went as far as to set it to power on with a 10 second delay, then only be on for one second. Heh.

No disasters. There was a new solenoid lock bug, but that was easily sorted. Beyond that the GI relay popped during testing, everything else worked fine. Expect a video soon.

Solenoid tests

It… works?


IMG_20130417_005645 IMG_20130417_005716

Soldered up the board with caution, but it appears that the whole thing works fine. Currently I’m testing at 12v and the only problem I’ve noticed is that the new ATX power supply I’m using does a poor job of handling large current spikes. Tests have gone very well, no signs of back EMF or noise bleeding into the IO board or causing oddities.

Next I’ll be wiring it up for 24/50v testing and, assuming nothing goes hilariously wrong, it’ll be time to start seriously looking at the graphics and software. The hardware is basically feature complete beyond replacing a few temporary off the shelf parts and building some wiring harnesses. I still might need to do another run of the IO board to solve the cabinet switch issues, but I’m still hoping I can get away with some creative wiring.

Solenoid boards arrived, testing

The v3 solenoid boards have arrived finally.

I spent some time last night doing a quick test by populating one row and firing against 12v. Initial tests look grim until I noticed the test area was at the end of the shift register chain and I only installed the relevant one, meaning the data pin was never getting fed.

Then I later found that I hard coded the number of registers to 2 instead of using the constant I wrote for this very reason, meaning I was constantly trying to populate a 32 bit data pool with 16 bits of data. Went well obviously.

Final tests happened around 2am and look good. At 12v pop bumpers fired (though were quite anemic which was a bit concerning). Next step is to introduce the high voltage 24/50v power supply, once I’m confident the board itself is stable. Luckily the board hasn’t yet exhibited any signs of noise issues, so the grounding might actually be adequate this time.

Project history, part 2

First, if you’ve not already, read part 1 here.

Now that you know where this giant mess of mad science and insanity is coming from, lets catch up to where we are now.

I quickly realized v1 was a mess. Ignoring the egregious ground issues which were causing ICs to pop at random, the number of interconnects and failure points was far too high. So step two was to build a main unified board which centralized everything and let me build nice clean ground planes. Due to the size of this megaboard, I moved to SMD parts. This sounded really scary at first but it turns out I can actually solder SOIC-16 parts faster than their through-hole counterparts! So much for SMD being hard; just stick with reasonable part sizes and quality tools and you’re golden.


After building this board I noticed a few major flaws.

  1. The routing was done with an autorouter. Normally this would be fine but a lot of the solenoid logic traces ended up in really dirty paths and ended up noisy
  2. I still hadn’t routed control lines for output enable and reclear on the shift registers, and now that the lamp ICs weren’t popping every 5 seconds, the issue became more obvious. The result was that during booting, a random selection or lamps would lock on at full 12v@100% duty cycle. This will cause them to burn out fairly quickly!
  3. The switch matrix in this revision was wired wrong.
  4. If I make a mistake I have to re-run the entire $100+ board!

So this was a short lived design. Continue reading