At the end of 2021 they got picked up to be on their way to the Dutch Pinball Museum: three devices which make up the first iteration of project Test-Case. I’ve worked on this project for about a year, together with my father.

What is a Test-Case?

A Test-Case is a plexiglass box with a flat wooden box underneath it. The plexiglass box contains some pinball machine assemblies, for example drop targets. The wooden box contains some electronics and has a few arcade buttons on the front. The buttons can be used to interact with what’s inside of the Test-Case.

The Test-Cases are inspired by a project called Fun With Pinball. The goal of the Test-Cases is to show how certain pinball machine assemblies work. Unlike the devices made by Fun With Pinball, we wanted to make the Test-Cases suitable for being used in a museum without continuous supervision.

We ended up making three variants. One with a Bally flipper assembly and a Williams drop target bank with five targets and trip feature. Another one with a Bally flipper assembly and three Williams pop bumpers. And the third one with four Williams EM Drum units.

The three Test-Cases

Prototypes

At the end of 2020 we started working on the first prototype setups for the Test-Cases. These prototypes were mainly used to test the small playfield layouts and electronics.

Prototype playfields

The prototype playfields were made of plaxiglass sheets we got out of old LCF monitors, which use them to spread the light of the backlight over de LCD. We could also have used plywood for this.

The main challenge with these small playfields was making them work with a single flipper, but without a path through which the ball could drain. The ball should not “escape” the playfield, both with the flipper in its neutral position and in its activated position. And to add a bit more complexity to that problem, all targets should still be accessible by the ball being shot from the flipper.

Prototype playfield

Prototype electronics

The prototype electronics of the first prototype consisted of an Arduino Uno, a small input matrix board, and two solenoid drivers I had designed a few years ago. This setup was a leftover from another test setup we once made for a small pinball machine.

The electronics of the second prototype were similar to those used in the finished Test-Cases. There also was an Arduino Uno, but this time with a PCA9685 to drive the IRL540 MOSFETs and LEDs. The PCA9685 turned out to be really suitable for this application, as one of these chips is enough to drive sixteen MOSFETs or LEDs with a PWM signal.

Prototype electronics

Controller

I designed the controller board for this project myself. It is based on the Arduino Uno and a PCA9685 module, which were both used with one of the prototypes. I wanted to have only one PCB in the Test-Cases for robustness. I wanted to stay away from using off-the-shelf modules like Arduino boards and other modules.

PCB

I designed the PCB with KiCad. Refer to my earlier post on how I designed and assembled the PCB.

Software

The software is based on the Arduino software and libraries. The Arduino Uno and Nano are based on the ATMEGA328P microcontroller. Instead of that part, I mistakenly ordered the ATMEGA328 microcontroller. Mostly the same, but different enough to not be supported by the standard Arduino software, so I had to use an alterantive core called MiniCore. I used the Adafruit PCA9685 library for controlling the PCA9685 LED driver.

The software is not too complex, there’s just a lot of it. I did not spend much time on perfecting the software. The software was one of the last things that needed to be done before the Test-Cases were completely finished. And after one year of working on those things I wanted to get them done.

The software consists of a few modules, each with its own responsibilities:

  • Heartbeat LED module: Blinks the heartbeat LED, same for each Test-Case
  • Input matrix module: Scans the input matrix for changes, same for each Test-CAse
  • PCA9685 module: Works on top of the used library, same for each Test-Case
  • LED animation module: uses the PCA9685 to animate the LEDs according to predefined animations, same for each Test-Case
  • Solenoid management: Makes sure solenoids are fired and, more imporatantly, turned off again. This is different for each Test-Case.
  • State management: Manages when and which LEDs are blinking and which buttons can be pressed.

Case

While I was working on designing the controller board, my father worked on making the cases and playfields.

Playfields

The playfields are made of 12mm thick plexiglass. They are held up by two solid plexiglass leds, one on each side. All the parts are screwed into the plexiglass by tapping threads into the plexiglass itself.

All plastic parts used on the playfields are also transparent: the posts, the silicon rubbers, the flippers, the pop bumper bodies, everything. I later wired all the switches and solenoids with only white wires.

Plexiglass

The plexiglass box itself consists of five 8mm thick plexiglass sheets. My father first tried to glue the sheets together, with a few different types of glue. This did not turn out the way we wanted. Double component glue will work structurally, but will leave an ugly texture where the plexiglass sheets meet. Super glue works well with plexiglass and has a nice end result, but it cures way to quickly to apply to the full length of a single sheet.

We then decided to screw the sheets together with M4 sunken head screws. This wasn’t a perfect solution either. Getting the screw holes in the sides, with 2mm to work with on both sides wasn’t easy. In the end it worked out, although it wasn’t perfect. At least the boxes would look good enough and would not fall apart.

Wood

The wooden box was the most straight forward part of the Test-Cases. Plywood on the top and front, regular wood on the sides. We originally wanted to put the electronics on the bottom and have that bottom slide out of the case. I tried to make that work with one Test-Case, until it would no longer slide due to all the wires being in the way.

We then decided to put the electronics upside down under the top sheet. This worked way better and even saved a bit of wire. The downside of putting the electronics there is that they are way less accessible.

The inside of a Test-Case

Result

The finished Test-Cases are now on display in the Dutch Pinball Museum. More will most likely be made in the future!

The three Test-Cases in the Dutch Pinball Museum

The design files and code for the controller are all open source. Feel free to take a look to find out how this stuff works!