Jump to content



Photo
* * * * * 2 votes

Mikrocontroller - Yet another mini cabinet

pinscape pincab minicab

  • Please log in to reply
16 replies to this topic

#1 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 29 December 2018 - 01:58 AM

My foray into the world of virtual pinball and building a mini cabinet. I plan 12 major appends following the theme of the 12 days of Christmas.

 

Day 1: Introduction

 

First some background. I started playing pinball back in the early 80’s. I even owned a Bally Space Invaders in the late 80’s but had to give it up when I had a major house move. I am a software engineer with experience of both large systems and microcontrollers. I have also built and sold AVR microcontroller boards that I soldered myself with SMD components.

 

Three months ago, I revived my interest in pinball and went searching on eBay. My first surprise was sticker shock on used tables. My next surprise was finding out about Virtual Pinball and that I could have any table I wanted. I wish I had known earlier because I missed a lot in the last 6 years plus this is a good way to combine my knowledge in software and electronics in a new hobby.

 

I started by doing a lot of research and joined all of the main websites. I was determined to get going quickly but also realized there is a lot to learn, sometimes only by doing.

 

The first thing I did was install Visual Pinball, Future Pinball, and PinballX on older PC that had a decent but older GPU. I downloaded all of my favorite tables and currently have 46 in PinballX. I have a second monitor for the backglass and have had a lot of fun already just using the keyboard as an input device. Of course that leads to wanting a real virtual pinball cabinet.  Rather than dive into a full size cabinet, I decided to start with a smaller controller and learn as I went along. The cabinet built by Wahcade seemed like a good starting point. See his YouTube videos, build description, and thread on this website.

 

I also investigated which controller to use. It quickly became apparent to me that the Pinscape controller from MJR was the best. Two major advantages are that it is open source and that it is being actively maintained and improved.

 

I starting designing the cabinet in November, collecting parts from Mouser, Amazon, Newegg, and eBay with the plan to build the cabinet over the Christmas break. This forum thread shows the details which I hope will be useful to other people. I tried to collect best practices from other places and I also describe my lessons learned.


MikePinball (dba Oak Micros).

 


#2 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 29 December 2018 - 02:18 AM

Day 2: PC
 
The Virtual Pinball cabinet provided motivation to build a dedicated PC using a I7 CPU, memory, graphics cards, SSD, and power supply that I already had. This was just a question of timing. I had two graphics cards and decided to dedicate one for the playfield and one for the backglass. Here is a picture of the inside of the PC:
 
mikrocabinet2-10.jpg
 
This is the list of components I used to build the PC:
  • Used ASUS X99-A motherboard - eBay (bidded to $152.50)
  • Noctua NH-D9DX i4 3U CPU Cooler for Intel LGA2011 - NewEgg ($54.95)
  • Corsair Carbide 200R Compact ATX Case - Amazon ($49.99)
  • C&E 4 Pack 18-Inch SATA III 6.0 Gbps Cable  - Amazon ($8.63)
  • CPU - Free
  • 2 x 16GB DIMMs - Free
  • 960 GB SSD - Free
  • NVidia GPUs - Free
  • 1200W PSU - Free
  • 30 Apple Cinema HD 2650x1600 Monitor - Free
  • 19 Samsung Monitor - Free
The side edge of the monitor is flat and it will stand by itself but I wanted some additional stability by using a simple frame and wider base. Here is a picture:

mikrocabinet2-2.jpg

At a later time I will invest in a more modern and powerful GPU such as the GEFORCE GTX-1060 6GB, and of course a full size 43 monitor for the playfield.

Edited by MikePinball, 01 January 2019 - 07:22 PM.

MikePinball (dba Oak Micros).

 


#3 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 29 December 2018 - 02:41 AM

Day 3: Wood Cabinet
 
All of the wood for the cabinet was free. I was able to use some wood from an old bed frame for the sides and an old desk for the bottom of the cabinet. Because my woodworking skills are not the best, I decided to design the size of the cabinet around the wood that I had. The dimensions are 24 ¾” wide by 14 3/8” deep by 9 ½” high without the top.
 
I spent a great deal of time planning the layout of the cabinet and trying to space out the various components. I used Visio to draw out the components and play with the positioning. A snapshot of the Visio picture is below:
 
mikrocabinet3-1.png
 
I decided to invest in some Freud Forstner drills for the holes. This turned out to be an excellent investment as they did a very good job of the holes albeit the wood was quite soft which helped. Note that the flipper buttons I drilled were 1 ¼” and ¾”. The actual size is actually 1 1/8” and that would have been a better choice for the drill bit size. Nevertheless the ¾” shoulders are fine for keeping the button positioned correctly.
 
I used a test piece of wood to verify all of the holes before drilling the real thing. For the plunger I drilled the 4 holes (one ¾” and three ½”). I then used a very small drill bit and a Dremel cutter to make the rectangular channels between the holes. This seemed better than cutting out one large diamond-shaped hole as is shown on other templates and perhaps having too much slop in the cutout.
 
For the "launch ball" button below the plunger, there are two barely visible shallow holes that are used to align the pins on the back of the push button.
 
One little saga to tell. Part-way though cutting the sides with a circular saw, the saw decided to die. Further diagnosis pointed to the motor brushes so I ordered some and waited. In the meantime I drilled the holes for the flippers for the left side of the cabinet. After the brushes arrived, I was able to finish the right side and then drilled the holes for the flippers using the layout for the left side. I followed it so exactly that I put them in the wrong place and didn’t account for right being a mirror of the left. Luckily I had enough wood left over so I made another right side and this time quintupled checked the holes before drilling them out.
 
I sanded the edges and painted the cabinet with three coats of Krylon matt black latex paint using a brand new soft roller. Below are some pictures of the wood cabinet ready to receive hardware:
 
mikrocabinet3-2.jpg
mikrocabinet3-3.jpg
mikrocabinet3-4.jpg

By the way the small holes in the back are for USB cables and the power supply 110V cable. I have something special planned for the cabinet top and I will post details of that later.

The picture below shows the inside of the cabinet. You can see the six cabinet corner braces I used to fasten the base to the sides. There are three more braces in the middle which will be used to hold the power supply. There are some other holes in the bottom which have been pre-drilled for some of the internal components.

mikrocabinet3-5.jpg
 
This is the list of hardware I used for the wood cabinet:

  • ¾” thick wood - free
  • Freud 4 Pcs. Precision Shear Forstner Bit Set (PB-104) - Amazon ($32.56)
  • Freud Precision Shear Serrated Edge Forstner Drill Bit 1-1/4-Inch (PB-009) - Amazon ($16.74)
  • New brushes for circular saw - ereplacementparts.com ($16.39 including shipping)
  • Quart of Krylon matt black paint - Lowes ($9.78) – less than 1/10 used.
  • New roller and pad - Lowes ($6.98)
  • Box of 100 #8 x 1” zinc flat head wood screws - Lowes ($5.97)
  • Cabinet corner braces - local store ($7.50 for 12)
  • 2 T-nuts for #6 machine screws - Lowes ($1.33)
  • 6 Rubber feet - Free

Building this cabinet has reaffirmed that my woodworking skills and tools leave a lot to be desired and are not up to building a cabinet from scratch. For the future I will probably look at doing CNC (to get the design and size I want). A local woodworking place is charging $77 for an 8’ by 4’ piece of 13 layer Baltic birch, $90/hr for CNC setup, and $120/hr for machine time. The other alternative is something like a VirtuaPin cabinet.


MikePinball (dba Oak Micros).

 


#4 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 30 December 2018 - 01:45 AM

Day 4: DOF Devices

 

I knew I wanted to install some kind of DOF feedback for the flippers, slingshots, and bumpers. I investigated 3 options:

  • Solenoids
  • Contactors
  • Audio using exciters

Solenoids look too problematic especially if they are stuck on and I’m not yet convinced about using audio. Many people have chosen contactors for DOF and I therefore decided to do the same. Here is a list of the standard 10 contactor devices:

  • Left Flipper
  • Right Flipper
  • Left Slingshot
  • Right Slingshot
  • Middle Left
  • Middle Center
  • Middle Right
  • Back Left
  • Back Center
  • Back Right

I looked for some used 24V DC Siemens contactors on eBay and was successful. The first two 2 contactors I bought cost $10 each and another $8 for shipping. Eventually I found another good store with even cheaper contactors and shipping was free – see my forum post here: https://www.vpforums...showtopic=41438.

 

I drilled the remaining holes for the contactors to reduce the effect of sawdust further down in the build process. Each of the contactors was attached using 2 screws per contactor. Here is a picture with the 10 contactors installed in the cabinet. Each contactor is labelled and has a different position in 3d space. I tried to utilize all four sides and the bottom of the box to provide the different places for the sound.

 

mikrocabinet4-1.jpg

 

This is the list of hardware I used for DOF contactors:

  • 2 24V DC Siemens 3RT1015-1BB41 contactors @9.99 each - eBay ($27.98 including shipping)
  • 8 24V DC Siemens 3RT1016-1BB41 contactors @7.99 each - eBay ($63.92)
  • 10 1N4007 diodes 750-1N4007-G - Mouser ($0.91)

Don't forget to reverse bias the diodes across the contactors to reduce flyback when the contactor power is reduced. Reverse bias means the cathode (or end with the ring) is connected to the positive connection on the contactor - the opposite or reverse to the normal current flow. I will be describing how to do this later when I cover the wiring.

 

At a later time I may add a solenoid for the knocker and then investigate other devices such as a shaker motor. There is plenty of room in the cabinet to add more hardware.


MikePinball (dba Oak Micros).

 


#5 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 30 December 2018 - 06:04 PM

Day 5: Pinball hardware
 
Given all of the preparations up to this point, this day was quick and easy to execute. Adding the four flipper buttons, plunger and four other buttons starts to make it look more like a real cabinet.
 
I went with both flipper and second flipper (“magna-save”) buttons on each side as I like tables like “Black Knight” and “Pharaoh”. Below are a couple of pictures of the result:
 
mikrocabinet5-1.jpg
mikrocabinet5-2.jpg

The most time-consuming part was adding the labels to the 3 buttons on the left side. The 2 pictures below show how the mechanism can be pushed through and the colored plastic cover levered off to allow the paper label to be added. Note I'm going to use clear film instead as the paper doesn't look  so good when the LED shines through it.

mikrocabinet5-3.jpg
mikrocabinet5-4.jpg
 
I have also added red and green wedge-style 24V LEDs for the "launch ball" button and "start" button which will be controlled by DOF via an output board. I could have used 5V except that the VirtuaPin "launch ball" red button came with a 6.3V incandescent bulb and I decided to replace it with a 24V 20mA LED rather than a 5V one. The other buttons ("exit" and "coin/shift") came with 5V LEDs which will be permanently lit.
 
I am planning to use Pinscape to control inputs and outputs. This is a great tool from MJR. One of features it provides is to allow a “shift” function on a button. I’m going to use the yellow button for shifting to provide additional functions without needing a keyboard or more buttons.
 
Here is a table of the proposed button functions, shift functions, input pins for KL25Z, and Pinscape input number.
 
Button (Label)      Function              Shifted Function  KL25Z input pin  Pinscape #

Red Right           Right Flipper         Sound up             PTE5              7

White Right         Right second flipper  Music up (FP)        PTE4              8

Red (Launch ball)   Launch ball           Extra ball           PTE3              9

Yellow (Shift)      Shift other buttons   Not Applicable       PTE2             10

Blue (Exit)         Exit/Cancel           Pause                PTB11            11

Green (Start)       Start/Select          Coin                 PTB10            12

White left          Left second flipper   Music down (FP)      PTB9             13
Red Left            Flipper               Sound down           PTB8             14


This is the list of items I used for the pinball hardware. I found that VirtuaPin (https://virtuapin.net) has some very competitive prices.

  • Williams/Bally Ball Shooter Assembly - VirtuaPin ($21.95)
  • Ball Shooter (Plunger) Housing Mounting Plate - VirtuaPin ($1.95)
  • 2 red Flipper Button 1 3/8" Length - VirtuaPin ($5.00)
  • 2 white Flipper Button 1 3/8" Length - VirtuaPin ($5.00)
  • 4 Leaf Switches - VirtuaPin ($14.00)
  • 4 Nylon Pal Nuts - VirtuaPin ($1.40)
  • Williams/Bally red "Launch Ball" Button VirtuaPin ($6.50)
  • VirtuaPin USPS shipping - ($10.65)
  • Green, blue, and yellow LED illuminated chrome arcade push button - eBay ($6.57)
  • JKL 24V wedge base Red LED 560-LE-0509-02R – Mouser ($0.98)
  • JKL 24V wedge base Green LED 560-LE-0509-02G – Mouser ($1.70)

Because of the solution I am now planning to use for the virtual plunger, the plunger mounting plate is no longer necessary. This will be described in a future append.

 

Note that the VirtuaPin leaf switches are mounted on a ¼” thick base. This means that 1 1/8” buttons cannot be used and 1 3/8” buttons must be used instead. This will become important in the future when changing buttons or using clear ones that can be lit using RGB LEDs. The only 1 3/8" clear button I could find is the Stern lockdown bar clear button (part number 515-7791-00). The other alternative is to replace leaf springs with some that can be mounted directly to the sides of the cabinet which will enable the use of less expensive 1 1/8” clear buttons.


Edited by MikePinball, 05 January 2019 - 06:51 AM.

MikePinball (dba Oak Micros).

 


#6 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 01 January 2019 - 02:48 AM

Day 6: Power supplies
 
The standard approach would be to use separate power supplies for the contactors (24V) and logic/LEDs (5V). For a full size cabinet that makes sense. In this case I already had a 170W laptop power brick that is capable of 20V @ 8.5A. And 20V is sufficient to drive the Siemens 24V contactors. I did think about adding a switch on the DC side of the power brick but I decided that pulling the cable out of the brick or wall works just as well.
 
I will need to reserve 5A at 5V so that leaves plenty of capacity to drive the contactors. Note that while the initial inrush of current to drive a contactor can be more than 1.5A, it only draws 135mA when closed (as might be used when holding a flipper button). The remaining power will be more than enough to drive several contactors at once if that is needed. I dont ever expect to use more than 50% of the capacity of the laptop power brick.
 
A converter is needed to get 5V from the 20V input. The standard approach is to use a buck power converter which will step down the voltage at a fairly high efficiency (85% under load). That means to get 5A @ 5V requires less than 30W. There is a huge choice of converters and in the end I got a buck converter from eBay that had a maximum rating of 8A and continuous support for 5A. The built-in digital voltmeter provides continuous feedback on the output voltage. The buck convertor is mounted using some PCB mounting feet to avoid screwing the PCBs directly into the wood. The feet I got came with wood screws and #4 machine screws for the PCBs.
 
In wiring up the power supplies, I used 3 separate fuses. The main input from the power brick has a 7.5A ATC fuse although I expect the built-in safety features of the power brick to kick in at 8.5A or more. On the 5V side there is an inline 500mA fuse for the logic circuitry and a separate 5V feed with a 5A ATC fuse. Note in the picture below the separate feed has a connector that can be unplugged. The 5A ATC fuse will be on the other side of that connector.
 
I used ATC fuses for the 5A and 7.5A fuses because I had them already for my car and so I could use shielded spade connectors as shown in the picture below. I'm planning to use spade connectors for the rest of the wiring as well to eliminate soldering which is too permanent.
 
I also used some terminal blocks to help connect all of the power wiring together as well provide junction points for the rest of the wiring. There is one terminal block for 24V and ground and a second terminal block for 5V and ground. Note there is a single common ground provided by the power brick.
 
The picture below shows all of the power circuitry in its current state. Right now the terminal blocks and cable tie are loose but they will eventually be screwed down and tidied up.
 
mikrocabinet6-1.jpg
 
This is the list of items I used for the power circuitry:
  • 170W 20V laptop power brick - Free
  • 4V-38V to 1.3V-36V 8A Step Down Buck Power Supply Module w/ Voltmeter XL4016 - eBay ($7.95)
  • 16 Piece L style bracket PCB Feet with Mounting Screws - eBay ($4.99)
  • 5 pcs Terminal Connector Strip 10A 380V 12-Way 12 Position - eBay ($7.60)
  • 7.5A and 5A ATC fuses - Free (from parts bin)
  • Inline 5mm x 20mm fuse holder Free (from parts bin)
When thinking about a full size cabinet, the 1200W PSU for the PC can supply huge amps for 5V LEDs etc. For 12V and 24V, I would get separate Meanwell PSUs which seem to have the best reputation.

Edited by MikePinball, 01 January 2019 - 09:03 PM.

MikePinball (dba Oak Micros).

 


#7 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 01 January 2019 - 06:21 PM

Day 7: Power Outputs
 
Power outputs from the Pinscape controller are used to drive the contactors, knocker, and other output devices. The Pinscape power output board supports up to 32 power outputs with a single input voltage (typically 12V or 24V).
 
This is great but I wanted to improve on it. Three key functions I wanted to add were output monitoring (via a LED), on-board fuses, and a way to easily unplug the outputs from the board. I started with MJR’s PCB design for his power output board and made some changes. The result is documented in a separate forum thread.
 
I need 12 outputs for 10 contactors and 2 LEDs all running at 24V DC. I used all 12 non-PWM outputs from Pinscape. The connections to KL25Z, Pinscape and the output board are shown in the table below:
 
Device         Function             KL25Z output  Pinscape #  Output Board #
3RT1015-1BB41  Right Flipper           PTC7          14           5
3RT1016-1BB41  Right Slingshot         PTC0          15           6
3RT1016-1BB41  Middle Right Bumper     PTC3          16           7
3RT1016-1BB41  Back Right Bumper       PTC4          17           8
3RT1016-1BB41  Middle Center Bumper    PTC5          18           9
3RT1016-1BB41  Back Center Bumper      PTC6          19          10
3RT1016-1BB41  Back Left Bumper        PTC10         20          11
3RT1016-1BB41  Middle Left Bumper      PTC11         21          12
3RT1016-1BB41  Left Slingshot          PTC8          12          13
3RT1015-1BB41  Left Flipper            PTC9          13          14
Red 24V LED    Launch ball indicator   PTD2          11          15
Green 24V LED  Start game indicator    PTE0          22          16
 
Here is a picture of the installed power output PCB with “Dupont” ribbon cables ready to connect to 12 of the KL25Z outputs:
 
mikrocabinet7-1.jpg
 
This picture shows the current state of the cabinet with the power output PCB installed:
 
mikrocabinet7-2.jpg
 
This is the list of components for the power outputs and cabling:

  • PCB (actually 6 were made) – Elecrow ($12.07)
  • Power board including 3.3V regulator and 1A slow-blow fuses – Mouser ($26.87 + $7.99 shipping)
  • Current limiting 1K resistor piggy-back board - Free (Veroboard, headers, and resistors from parts bin)
  • 20Pcs 3.81mm Pitch 4 Pin Right Angle Screw Terminal Block Pluggable Connector – eBay ($6.99)
  • Female to Female Solderless “Dupont” Jumper Breadboard Wires 40Pcs Ribbon Cable - Free (from parts bin)
  • 2.54mm 2x5 Pin 10 Pin Straight Male Shrouded PCB Box Header IDC Connector – Free (from parts bin)
  • Other electronic components such as LEDs, resistors, sockets – Free (from parts bin)

I am currently not using the TLC5940 LED driver chip and am driving the opto-isolators directly from the KL25Z 3.3V output pins. As noted in my thread on “Pinscape output board with fuses”, it is important to use resistors to limit the current flowing through the LED of the opto-isolator. In this case a 1K resistor limits the current to approximately 2 mA per KL25Z output pin.
 
Each output of the power board will be connected to the negative side of each contactor or LED. The positive sides are all connected together into the 24V supply. Note in my case the maximum voltage of the laptop power brick is actually 20V but that is sufficient to drive everything.


Edited by MikePinball, 06 January 2019 - 12:02 AM.

MikePinball (dba Oak Micros).

 


#8 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 02 January 2019 - 04:58 PM

Day 8: Pinscape KL25Z controller

 

After receiving the KL25Z microcontroller board from Mouser, I followed MJR’s instructions on updating the firmware and trying a simple Pinscape configuration – see here https://os.mbed.com/...2/wiki/Homepage

 

In order to use the KL25Z both as a standalone controller and eventually to be plugged into a Pinscape main board, I decided to use in Arduino stackable headers so that I had female sockets on the bottom and male pins on the top. You need 2 sets of headers.

 

mikrocabinet8-1.jpg

 

As can be seen from the picture below, I also labelled each input and output pin with the KL25Z pin names. The KL25Z and Pinscape pins to be used for the inputs and outputs have already been described (see day 5 and day 7 respectively). The Dupont ribbon connectors from the output board have also been plugged into the KL25Z.

 

mikrocabinet8-2.jpg

 

I found that the KL25Z board has soldered components very close to the mounting holes. I therefore used plastic screws (instead of metal) to mount the KL25Z. Here is a closeup of the buck power converter, output board and KL25Z. The remainder of the wiring will be done later.

 

mikrocabinet8-3.jpg

 

Here is the list of components for the Pinscape KL25Z controller:

  • FREEDOM-KL25Z ARM Kinetis-L Series Freedom Board - Mouser ($16.96)
  • 12 pcs - Stackable Headers for Arduino Sizes 6 Pin, 8 Pin, 10 Pin - eBay ($4.40 including shipping)
  •  #4 plastic screws and PCB spacers - Free (from parts bin)

As mentioned previously, some time in the future I will add a Pinscape main board to plug in the KL25Z. You can see the holes in the picture above to take a 100mm x 100mm circuit board.


 


MikePinball (dba Oak Micros).

 


#9 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 04 January 2019 - 03:53 AM

Day 9: Digital Plunger

 

I wanted a simple and straightforward method to provide the plunger position to Pinscape and so decided to use the potentiometer method. Initially I thought I could build the appropriate bracing around a potentiometer and attach to the slider. However that didn’t work out. Next I looked at Zebsboards V2 plunger housing but that is out of stock.

 

Then I came across a design for a housing on Thingiverse.com. I don’t have a 3D printer so I used 3dhubs.com to make the part. They have a $35 minimum charge so in the end I made 2 plunger kits and added 2 additional slider parts as these sometimes break. Here is a picture of the parts I made. I used two ¼ #4 screws to attach the potentiometer and I didn’t use the bottom portion of the design.

 

mikrocabinet9-1.jpg

 

I did find a couple of problems with this design that I reported on design website:

  • The three screw holes for the plunger are off by ½ to 1 mm. I used a round hand file to make the hole slightly larger in the required direction and it is fine now. Someone with a Gottlieb plunger reported a similar problem.
  • The parts have lettering on them. This causes a problem for the slider part as there is a hole between the lettering and the slot for the slider. This makes the part less sturdy. 3dhubs.com reported the problem to me but I went ahead and made it anyhow.

I soldered a wire to the single pin end and used a small piece of Veroboard to provide a 3-pin header for attachment to the KL25Z. The middle pin is the wiper. A nice feature of Pinscape is that it doesn’t matter which way around you connect the two ends because the reading can be reversed. But just to document that the default is for the single pin end to be connected to ground.

 

mikrocabinet9-2.jpg

 

Here is close up of the plunger end and the two headers for the cable (horizontal and vertically down).

 

mikrocabinet9-3.jpg

 

Here is a picture of the complete installation in the cabinet and the three wire “Dupont” connection to the KL25Z. Note there are two ground connections and two 3.3V header pins on the KL25Z and both will work. I used green for ground, yellow for the wiper, and orange for 3.3V.

 

mikrocabinet9-4.jpg

 

One issue with this type of design is that the slider attachment takes up room where the spring would go and so there is less travel for the slider and the spring cannot expand to its full length. And a regular pinball plunger spring is too powerful for a virtual ball. The best practice is to use a lighter spring.This picture shows the compressed spring when the plunger is pulled to its full extent.

 

mikrocabinet9-5.jpg

 

I used the Pinscape configuration tool to test and calibrate the digital plunger. Here is a screen capture from that tool that depicts the two ends of the plunger at positions 7172 (park) and 44465 (maximum). The screen capture shows the plunger pulled to position 21914 (40%). As you can see the potentiometer is used for less than 60% of its length which further reduces accuracy.

 

mikrocabinet9-6.jpg

 

Here is the list of parts I used for the digital plunger:

  • 3D print of plunger housing (2 full sets) – 3dhubs.com ($39.08)
  • Bourns single gang 100mm slide potentiometer 10K linear PTB1432010BPB103 – Mouser ($5.01)

MikePinball (dba Oak Micros).

 


#10 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 04 January 2019 - 05:24 PM

Day 10: DMD Display

 

After playing with a two display setup, it became apparent that I really needed a third display for the DMD. There are several choices including using a standard LCD display or using a LED 32x128 matrix display. I decided that a LED display looked more authentic and would fit in my cabinet as part of the top.

 

Commercial DMD displays tend to be very expensive but then I came across a DIY solution that is half the cost. It involved some soldering and simple microcontroller setup. Please see my documentation which describes the build and configuration process.

 

This is a picture of the two LED panels screwed into the plastic mounting frame.

 

mikrocabinet10-1.jpg

 

Here is a list of the hardware components needed for the DMD:

  • 2 RGB LED display panels p2.5 64*32dots – AliExpress.com ($47.05)
  • Black plastic frame for display panels – Ponoko.com ($19.81)
  • Custom PCB - elecrow.com ($12.07)
  • ARM STM32 Nucleo-144 development board with STM32F429ZI MCU – Mouser ($23.00 + $7.99 shipping)
  • Other parts – Mouser ($2.13)
  • Other headers, sockets, resistors, and LED - Free (from parts bin)

Here is the completed RGB DMD display with a pinball related image.

 

pin2dmd-10.jpg

 

One thing missing is some kind of protective cover for the LED panels to keep away dust and provide a level of protection. I am investigating some kind of clear or tinted plastic panel that would fit over the top. Any suggestions would be welcome.


Edited by MikePinball, 04 January 2019 - 06:58 PM.

MikePinball (dba Oak Micros).

 


#11 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 05 January 2019 - 04:42 PM

Day 11: Cabinet top

 

As mentioned on day 3, I sized the cabinet partly to some wood I already had. This included two pieces I had for the top which came from an old bookshelf. I had to trim one piece to fit the DMD display and then joined them together with some joining plates. I also added some magnetic catches to keep the top in place but also make it easily removable.

 

The cabinet now weighs almost 30 pounds and had to be lifted from the bottom. I added some trunk handles to each side to make it easier to lift and move around. I also added six plastic feet to protect any surface it is on and prevent sliding. Nudge still works fine. Here is the result.

 

mikrocabinet11-1.jpg

 

The list of items I needed to complete the cabinet outside were:

  • Wood - Free
  • Joining plates - Lowes ($3.00)
  • 6 Magnetic catches (only used 4) - eBay ($9.44)
  • 2 Trunk handles - Lowes ($8.34)
  • 6 plastic feet - Free (parts bin)

MikePinball (dba Oak Micros).

 


#12 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 06 January 2019 - 08:56 PM

Day 12: Wiring and Testing

 

This is the final day of construction. Today I completed all of the wiring and tested the buttons and outputs using Pinscape.

 

I used the following methods to help organize the wiring:

  • Color coding of wires by function
  • Labels on the wires themselves
  • Reusable cable ties to bundle cables together

As I already mentioned on previous days, I used some multi-color Dupont ribbon cables for some of the connections. Here is the color coding I established for the rest of the wiring:

  • Red is for 5V positive. I used 22 AWG wire for low current and some 14 AWG wire for the high current parts to the DMD.
  • White is for 5V ground. I used 22 AWG wire for low current. There are a few occasions where I used 14 AWG black wire for the high current lines. White is also the common for all of the buttons.
  • Green is for 3.3V/5V logic. I used 22 AWG wire for the button inputs to the KL25Z.
  • Yellow is for 24V positive. I used 18 AWG wire.
  • Black is for 24V ground. I used 18 AWG wire. Note that in this case the 5V ground and 24V ground are really common as they both derive from the power brick.
  • Blue is for 24V signaling. I used 18 AWG wire for the low side of the outputs.

I wanted to make sure things can be altered or reused in the future so all of the connections were done screw connectors, spade connectors that are crimped to the wire, or molex headers with crimped connectors. No soldering was used.

 

The following spade connectors were used:

  • Contactors – 20 spade 6.3mm males and 20 spade 6.3mm females with plastic sheaths
  • Switch 24V LEDs – 4 spade 6.3mm females with plastic sheaths
  • Flippers – 8 spade 4.8mm females with plastic sheaths
  • Switches – 8 spade 4.8mm females with plastic sheaths
  • Switch 5V LEDs – 2 spade 6.3mm females with plastic sheaths

I attached cable ties to the sides of the cabinet. These ones have both a sticky pad and a screw hole. I elected to screw them to the sides to prevent them coming off later when under tension from a wire. The ties can be tightened or loosened as will and do not have to be cut. I organized the ties so that wires from the left side went around clockwise towards the back and wires from the right side went around anticlockwise to the back. This leaves an area in the front with no cabling that is available to be used for future additions to the cabinet.

 

Before starting with the wiring, I needed to make some simple devices that would attached diodes to the contactors and provide male spade connectors for the wiring. The picture below shows the device. The two bare wires are screwed into the contactor; yellow for 24V positive and blue for negative. Note the orientation of the 1N4007 diode with the cathode (band) connected to the yellow 24V positive side.

 

mikrocabinet12-1.jpg

 

Here are the wiring steps I performed:

  • Connect yellow common wires to all of the contactors and 24V LEDs. I used two wires, one for the four contactors and LED on the left and the other for the six contactors and LED on the right and center. Each yellow is connected to the 24V positive terminal strip.
  • Connect a blue wire to each contactor from the Pinscape power output board with fuses.
  • Connect power to the Pinscape power output board with fuses, both 24V (yellow and black), and 5V (red and white)
  • Connect white common wires to all of the switches and flippers. I used two wires, one for the five switches on the left and the other for the three on the right. Each white is connected to the ground on the 5V terminal strip.
  • Connect a green wire to each switch from the KL25Z. I used a 8-way 0.1” molex header with crimps to insert into the KL25Z.
  • Connect a common ground wire between the KL25Z and Pinscape power output board with fuses. This is needed because the KL25Z derives its power from the USB cable. At a later stage this won’t be needed because the KL25Z will be powered from the 5V supply in the cabinet.
  • Connect the LED for the “Exit” button to the 5V terminal strip using red and white wires. I ran out of the proper size space connectors to do the “Shift” button but that can added in later. The "Exit" button LED is not under any control and is permanently on.
  • Reconnect the outputs between the KL25Z and the power output board with fuses (using an interface board with ULN2803A Darlington transistors)

Here is a picture of the completed wiring inside the cabinet.

 

mikrocabinet12-2.jpg

 

The next thing to do is to test the cabling. The Pinscape config tool provides a test feature which is extremely handy for this purpose and allows you to quickly find faults or incorrect cabling. Here are the test steps I performed:

  • Test the Pinscape power board with fuses without using the KL25Z. By connecting each input to ground, I could determine if a particular contactor or LED was wired correctly.
  • After reattaching the ribbon cables from the KL25Z to the power output board, I could then test each output from the Pinscape config tool. This was very useful because I discovered that two of the Dupont connectors had been swapped.
  • Test the switches connected to the KL25Z. This worked correctly and the Pinscape config tool shows which inputs are activated and a nice keyboard diagram when a button is pressed e.g. pressing the left flipper results in the left shift key being highlighted. This even worked with the Shift button functions.

Here is the list of hardware I needed to complete the wiring. Note that I ordered 100 feet reels of wire as they are most cost effective and I can use the remainder on other projects.

  • 270Pcs 22-10 AWG Copper Brass Female Male Spade Connectors Wire Crimp Terminals - eBay ($6.66)
  • 25x Adjustable Adhesive Cable Straps Cord Management Tie Mount Clips - eBay ($5.25)
  • 100 feet stranded 18GA 300V 105C Wire Blue [H318-06-100] - eBay ($11.95)
  • 100 feet stranded 18GA 300V 105C Wire Yellow [H318-04-100] - eBay ($11.95)
  • 100 feet stranded 22GA 300V 105C Wire Green [H322-05-100] - eBay ($7.95)
  • 22GA Red Wire - Free (from parts bin)
  • 22GA White Wire - Free (from parts bin)
  • Other miscellaneous, crimps etc - Free (from parts bin)

Edited by MikePinball, 06 January 2019 - 08:57 PM.

MikePinball (dba Oak Micros).

 


#13 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 06 January 2019 - 10:45 PM

Mikrocontroller: Summary and Next Steps

 

At mentioned at the beginning of this topic, I am quite new to this hobby. In mid November I started planning the Mikrocontroller and then ordering parts and components. Some items took 3 or 4 weeks from China. Construction of the Mikrocontroller started on December 19th and completed on January 5th. This is slightly longer than the twelve days of Christmas but nevertheless quite fast. I estimate that I spent 125 hours on the construction part which includes time to solder the circuit boards for the Pinscape output board and DMD. I do not know the design time.

 

My total costs for the cabinet to date are $871. Some of the expensive PC parts I got for free, I built all the electronics from scratch, and other parts I already had. To that cost you could add a 43” monitor, a newer, faster GPU, and of course a full size cabinet with all of the other hardware like a lockdown bar, legs, door, speakers, amp, etc.

 

In summary I would say that the final build actually exceeded my expectations of what could be achieved and I didn't have any real surprises which I put down to good planning. However the cabinet did cost a lot more than I originally thought because all of the miscellaneous little bits really add up. This is a lesson that I will use when planning a full size cabinet. I also achieved my secondary goal of learning a great deal about virtual pinball controllers which will also be very useful for a full size cabinet.

 

Thinking ahead there are a number of additions and improvements that could be made to Mikrocontroller. Here is my list:

  • Add Pinscape main board for the KL25Z
  • Add a solenoid for the knocker
  • Add clear buttons and RGB LEDs for at least two of the flipper buttons (maybe not all four)
  • Add a shaker motor or other output device
  • Add a Teensy and try out addressable LEDs

The most immediate next step is to reinstall the software on the PC and get the DOF working with MJR’s “Grander Unified-er DOF R3++”. But that is a whole other story.

 

I hope you found this series of articles interesting and perhaps I helped a few of you on your builds. Now the series is complete, I'm hoping that some people will post comments :)

 

Mike Pinball


Edited by MikePinball, 06 January 2019 - 11:22 PM.

MikePinball (dba Oak Micros).

 


#14 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 03 June 2019 - 04:13 AM

A full writeup is coming but as a preview, here is a picture of my latest Mikrocontroller setup with all of the additions. This is all prototyping in preparation for installing in a proper cabinet (which is currently under design).

 

mikrocabinetupdate.jpg

 

 

 


MikePinball (dba Oak Micros).

 


#15 lotekjunky

lotekjunky

    Neophyte

  • Members
  • Pip
  • 1 posts

  • Flag: ---------

  • Favorite Pinball: adam's family

Posted 02 April 2021 - 12:48 AM

Hey Mike. Thanks for posting this some time ago. I was just reading through your full cabinet build and ended up on this older project.  A full cabinet is a big commitment. Do you regret doing the Mikrocontroller first? Do you wish you would have just made the cabinet?  If you were building a new Mikrocontroller, was there anything you would do completely different?



#16 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,827 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 02 April 2021 - 01:23 AM

This is all prototyping in preparation for installing in a proper cabinet (which is currently under design).

 

 

 

 

 

 

I dont see what is wrong with that cabinet?


If you feel the need to empty your wallet in my direction, i dont have any way to receive it anyways

If you really want to get rid of money you can donate to this

Athena's Wildlife Sanctuary


#17 azhighwayz

azhighwayz

    Neophyte

  • Members
  • Pip
  • 3 posts

  • Flag: United States of America

  • Favorite Pinball: Fun House

Posted 08 April 2021 - 08:03 PM

Though almost 2 years old at this point this build is exactly what I was looking for. I was considering a small cabinet build (32" to 40" playfield) but decided against it due to available room. I began looking at other options and found the PINSIM controllers used with VR headsets. However I also wanted some better and more realistic tactile feedback from my "PINSIM" build so I began searching other peoples builds on the internet with mostly disappointing results until now. This is perfect. It's compact enough to store in a corner and still large enough to contain almost all the relevant pinball feedback devices. I really appreciate you posting this and with my background in electronics it was easy to follow. I'll likely be ordering some boards from you in the future. Excellent post.







Also tagged with one or more of these keywords: pinscape, pincab, minicab