Johnny – Start Switch Repair

Sometimes a simple repair gets all kinds of weird.

 

A couple of months ago, a good friend was over and wanted to play some pinball. “Great,” I said, “I have a pinball machine. Right this way”. What- that doesn’t happen to you? Not important. Anyway, she fired up the machine, pressed Start, and…. nothing. The machine did not acknowledge that the Start button was being pushed, despite the rest of the machine being in apparently perfect working order.

 

Nada. Zip. Bupkis. You might think I need to put in a quarter, but as you can see from the display, that is not required. I only require quarters when people that I don’t like are visiting. Might as well monetize them while they’re here, right?

 

I left it at that for the time being, knowing in the back of my mind that the microswitch on the button had no doubt failed. Those things fail all the time, and it would be an easy repair when the time came. Well, today the time came, and it was not an easy repair. It’s a good story though, so let’s proceed.

Put yourself in the mind of me six hours ago, when I started this. Convinced it was the switch, I proceeded to dismantle the machine far enough to reach it (which luckily is not far at all).

 

Step one with any pinball repair is to get access to the underside of the playfield. For that we unlock the coin door, swing that yellow handle over, and remove the lockdown bar on the top front edge. This allows the large piece of glass to be slid out. I’ve never seen one of those pieces of glass break, and they seem very strong, but I still have a queasy feeling every time I handle it.

 

The next step is to remove the balls. This is very important because if you lift the playfield with the balls still in it, they are likely to come crashing down on who-knows-what and break things. I’m a little rusty at working on pinball machines (frankly Johnny has been darned reliable lately) and I’ll admit here that I forgot to remove the balls this time. Luckily all that got broken was my pride. Sprocket also jumped out of her skin at the noise, so that was a mess to clean up.

Let’s go back to pretending I didn’t make the single biggest mistake you can make servicing a pinball machine, and remove the balls first.

 

Getting the balls out is actually kinda tricky, because they live in an enclosed trough. The computer has an “eject balls” feature for the purpose, but it’s buried in the service menus and it’s a hassle to use. It’s easier just to flick the launch solenoid with your thumb to kick them all out one by one.

 

The next step is to lift the playfield up on to these runners. Some repairs can be done from this position alone. Other brands of machines vary a bit in this regard- some don’t have these runners. 1990s Williams machines are nice this way. Random fun fact- notice the Johnny Mnemonic side art is yellow, but was mostly red in my earlier posts on this machine. Red ink is the most expensive, so pinball companies used a cheap kind that fades badly under the slightest bit of daylight. Even the side in shadow from the window (which is itself in shadow from an alley) faded away to yellow in the five years I’ve owned the machine. Luckily, the art on the playfield is under glass so it doesn’t fade.

 

At this point the playfield lifts up. The one trick to be aware of with Williams machines is that you have to pull the playfield all the way forward before lifting it. The hinge has two positions, and if you don’t do this right, the playfield will slide back into the cabinet while you’re lifting it, which is really horrible and bound to damage things. I always lift carefully, making sure the hinge is locked and the playfield won’t slide backward as it goes up.

 

Pinball machines often have these little kickstands which are supposed to hold the playfield up. Honestly, I never use them because I don’t like the way they support one side only. I worry this would tend to warp the playfield (which is thin, but heavy). The kickstand sure does want you to notice it, though. Okay okay, it has an arrow pointing downward to something you’re supposed to notice, but that requires looking downward and who has that kind of time?

 

Much more conveniently, the playfield also has an over-center resting position that keeps it vertical. I’ve never had one fall from this position, but I suppose it’s possible. A towel protects the playfield from being scratched by the back-box.

 

Okay, at this point we’re still blissfully naïve and pursuing the Switch Hypothesis. Let’s get back to that.

 

Here’s the back of the start button. It’s a standard microswitch connected with spades. The connectors on either side are for the light inside the button. Note the flipper buttons to the right of my finger. Johnny has two per side. The main ones use a two-stage optical sensor which gives a very rough approximation of analog behavior. This is part of Williams’ Fliptronics II system which gave you very visceral-feeling flippers. The second flipper button is only used for controlling the Cyberglove toy, so it gets a plain old leaf switch.

 

These microswitches are simultaneously way overrated for their job, and woefully inadequate. They are overrated in that they are typically 120V switches with current capacity somewhere around an amp. They are the same switches you find all over the place in appliances, power tools, garage door openers, and pretty much anything else large and electrical in nature. In this application, they are only switching a 5V logic signal from the CPU. However, they need to stand up to many years of abuse by teenagers, and thus why such heavy switches are used. The problem is, they tend to see way more cycles than microswitches are really good for, and as such wear out fairly quickly. They are also very susceptible to internal corrosion, and unlike leaf switches (the predecessor of the microswitch in arcade and pinball machines), they cannot be serviced. This is a microcosm of the repairability debate that you see in many spheres. Is it better to have cheap things that are easy to replace but don’t last long, or expensive things that last long and can be maintained, but require said maintenance?

Philosophy aside, the good news is that these switches are very easy to inspect and replace.

 

Arcade people will recognize that fixture as being the same one arcade buttons use to hold microswitches. It’s a plastic fork with two nubbins that register in the mounting holes on the switch. You lift the top one out of the way, and the switch hinges right out. You can replace one of these in less time than it takes to clean and adjust a leaf switch, so there’s that.

 

The next logical step was to test the switch. Time for ye olde multimeter (not a figure of speech- my Micronta is almost 40 years old).

 

As suspected, the switch is pretty flaky. It was easy to get it into a position where the button had clicked (the internal spring contact was over-center) but continuity was not present. Pressing a little further would engage it. There was a weird gray zone after engagement that was sometimes registering and sometimes not.

 

Sometimes a piece of evidence can lead you astray. Perhaps there were multiple problems here, but more likely this switch, while suspicious, was fine. However, because of the slightly flaky behavior, my mistaken hypothesis seemed to be confirmed and I confidently pressed on down the wrong path. I usually have a few of these switches kicking around, so I dug through the junk pile.

 

The junk pile turned up this one. From advanced forensics (ie. looking at it) we can tell it is used. However, it appears to work perfectly, so in it goes.

 

I cleaned up the contacts on my “new” switch with some scotch-brite, and installed it.

 

It’s always best to set up a new part for success, so the contacts got some TLC.

 

Out with the old, in with the… well.. also old.

 

At this point, I was so confident I had fixed it that I grabbed the Novus and polished up the playfield before reassembly.

 

Any time the glass is off, it never hurts to give the playfield a little shine. Johnny is the king of speed already, and a fresh polish makes him nuclear.

 

All that was left was to push the Start button and revel in victory. I can’t wait for all these chickens that I have here in egg form. There are so many of them!

 

Aaaaaaand sad trombone. Still no Johnny.

 

Well, now things get interesting. Keeping our wits about us, we must remember the basic technique of debugging any complex system. Start close to the problem, and work your way upstream. Every link in the chain is guilty until proven innocent (just like social media).

 

The next thing I did was what I should have started with- the switch diagnostic tool in the service menu. It’s possible the start button is working, but something is wrong in the higher functions of the game. Best to rule that out. This confirmed that indeed the CPU was not seeing the start button at all, which is actually good news. It means the problem isn’t likely a bad ROM or something.

 

With the switch test mode still active, I started working my way upstream from the problem. You can set it up so the machine beeps when the button you are looking for is detected. That allows you to go about your debugging with the playfield up and the screen not visible. Those Williams engineers knew what they were doing. These machines are built for serviceability! It’s easy to forget what serviceability actually looks like in this day and age.

 

The next thing to try is to short the wires on the switch directly to see if it registers. Still nothing, so we need to go further upstream.

 

Following the wires back from the switch, their next stop is the Coin Door Control Board- an outboard PCB that collects all the inputs from the front of the machine and forwards them back to the main CPU board. It includes flipper buttons, coin mechanisms, tilt bob, slam switch (see: teenagers), and so on.

Let’s take a look at that board and see what we can learn.

 

At this point I busted out the manual, which is generally your best friend in debugging pinball machine problems. Williams manuals have complete schematics, parts diagrams, harness routing, the works.

 

Having ruled out the switch, the next suspect is the wires running to the PCB. A quick continuity check verified they were fine, so now we look at that connector. An easy test there is to measure continuity from the far end of the wire to the pads on the PCB. If that works, we know the connector is okay. That all checked out, so let’s look at the PCB itself.

The coin door PCB is actually very simple. It’s just a bunch of connectors and some diodes. You might think that pinball machines simply run all their switches back to the CPU, which decides how to act on them. However, there are way too many switches to do that. No CPU or microcontroller (especially from the 1980s and 1990s) has enough inputs for all these switches. Instead, they are arranged in a matrix, just like a keyboard. Each switch is at the intersection of a row and column wire, and has a diode to separate it from the others in the matrix. The CPU scans the matrix by quickly running through the columns and rows, looking for a closed circuit. This is an efficient design, but it has a couple of key flaws:

1) The scanning takes time, and things happen very fast in a pinball game. A common bug is for switches to get missed if they are physically close together on the playfield and the ball is moving very fast. A design technique to get around this is to group switches that are physically close together into the same row/column (depending on scan order) on the matrix, to make sure they get scanned in quick succession.

2) The matrix relies on diodes to keep the switches distinct, and if any diode goes bad in a row or column, all sorts of weird things start happening to other switches in that row or column.

 

Now that we’ve ruled out downstream physical switches, wires, and connectors being the problem, we have to turn our eye to the matrix diodes. That’s what we’ll check next. For that, we need the schematic.

 

The schematic for the coin door PCB tells us which diodes are for which switches on the connector in question (J7). The assembly diagram then tells us which switch is on which pin of J7.

 

The Start button is pin 11 on that connector, which oddly has two diodes in series on it. That’s very unusual, and I struggled to grok why that might be. However, we can start by testing all the diodes. These are quite often the issue with switch problems, so it wouldn’t surprise me. Before busting out the meter, there’s a simple test you can do. If there’s a bad diode somewhere, as I said earlier, it will cause problems in other switches as well. So a good trick is to test all the switches in the same column and row as your bad one. This is such a common procedure that the manual has the switch matrix on the back cover.

 

Running through all the sibling switches in test mode, we do find two unusual things.

 

Normally, a bad diode will take out all the switches in the same row or column. In this case, I had two other switches in my column that were bad, but not all of them. That’s odd! The Launch button and the tilt bob were not registering. The plot thickens!

It’s not clear yet what’s wrong, but I had enough evidence to start suspecting diodes, so I decided to pull the coin door PCB and get busy.

 

The PCB is held to the wood sides with four annoyingly long lag screws.

 

With the PCB free (except for connectors), we can run one more test.

 

Before I get to the diodes, I thought one more test of the connector might be in order. It was worth a shot to try shorting pins on the connector to see if the game would register the buttons.

 

According to the schematic, shorting pin 6 to pin 11 should register as Start, but still nothing. Back to the diodes.

 

With the PCB out on the table, I could get out the diode tester and go to town. This brings up a perennial question- can you test diodes in circuit? The answer is… sometimes. If the circuit is simple enough that you can anticipate the side effects, then yes. If you’re not sure, best to desolder one leg an eliminate variables. In this case, I opted to test in circuit because this board is extremely trivial. It’s literally just a few diodes spanning some connectors.

All the diodes checked out fine, annoyingly. However, there was one thing niggling at me…. that double diode on the pin with the bad button. Why two diodes? I tried measuring the voltage drop (using the diode mode on the meter) across where my switch goes, and it reads as though it is one diode. That makes no sense, because there are two in series. It should show twice the voltage drop on the diode tester. Something wasn’t adding up.

 

Just to make sure I wasn’t crazy, I grabbed two diodes from my supply and tested them in series. Sure enough, they show double the voltage drop in diode test mode, just as you’d expect.

 

This really seemed to suggest one of those series diodes was shorted, hence registering as one diode. Why are two needed? I don’t know, but if one is bad, that might be the problem. However, I tested all the diodes individually and found them to be fine. Then I tested the two series diodes together, and got… no connection. What? How?

That’s when I threw out all my assumptions, and used the meter to trace out this board. This wasn’t adding up. You know what I found? The goram schematic is wrong, that’s what.

 

Hey, funny story- D9 is actually over there. Okay, not that funny after two hours of trying to debug this.

 

So with The Great Diode mystery figured out, I had learned… well… nothing, really. I had an awesome feeling of cracking a code, yet I was actually back at square one with the problem. I kept coming back to the fact that the tilt bob and launch button were also dead though. That was a suspicious coincidence. If not a diode problem, what else do those three switches have in common? Studying the schematic revealed two of them are next to each other in the J7 connector, which is suspicious, but the launch button has its own connector. So probably not a connector issue. I considered re-pinning those connectors, but that’s a lot of work and the evidence just wasn’t pointing in that direction.

I spent a bit more time in the mental trap that it had to be the coin door PCB that was the problem, because all the failed buttons connected to it. That was the only pattern I had so far, which made it compelling. It took some time to get me to start thinking laterally again, at which point I realized I needed to resume going upstream. Like it or not, I had logically eliminated everything back to this point. The next upstream place was the harness carrying the signals from the coin door board back to the CPU board.

The next reasonable step was to continuity-test that harness. That would let me check the connectors at both ends and all the wiring in between.

This meant digging back into the schematics, because there isn’t one nice harness that goes from the coin door PCB to the CPU. Those wires split off on their way back and end up in all manner of crazy places. Each wire potentially ends up somewhere unique. Or does it? More on that in a moment. Back to continuity checking wires…

 

This is a bit physically challenging, because pinball machines are large and multimeter leads are short. It was doable, though a second person would have been handy.

 

At this point the investigation led inexorably back to the CPU board. This was not great news, as I was not looking forward to pulling that. My simple Saturday morning repair was turning into a big job. Nevertheless, I was making progress, so I pressed on. Remember how I couldn’t find what the three bad switches (tilt bob, launch button, start button) had in common? Well, tracing that coin door harness back to the CPU answered my question. Those three switches all wind up on the same connector on the CPU board! J212!

Immediately, I knew something was afoot. That connector has been replaced before, by me, on this very blog. I had completely forgotten! My next thought was that perhaps my repair had failed and this connector had gone bad. Before jumping to that, there’s one more thing I can try. At this point in the system, you can’t short pins together to simulate switches. You’ll activate whole rows and columns and generally make the CPU unhappy. However, you can bridge pins with a diode to fake the switch matrix into seeing your button.

 

By shorting the Column 1 pin to the Row 3 pin with a 1N4004 diode, I can simulate the downstream Start button. However, it still didn’t register, so my problem is beyond this connector.

 

The next upstream point past this connector was the header on the CPU board. A long time ago I moved the batteries outboard because they had leaked on this very connector. You see where this is going.

I pulled the connector to have a look at it, and it seemed fine. However…

 

Well, poopknuckles. Those pins don’t look good at all. Could this be the problem?

 

Back when I replaced that connector to eliminate the corrosion, I recall thinking that ideally I should replace the header as well. The thing about alkaline battery corrosion is that it’s basically electrical cancer. It never goes away unless you cut out everything in a six foot radius around it. Okay that metaphor got really weird there, but you get my point. At the time, I figured these pins might re-corrode if left in place, but I made the calculation to save time by cleaning them and addressing it properly later if they act up. It’s later, and they have acted up. So what am I going to do? Clean them again and address them later. Time happens to be short today so I can’t get let this project feature-creep to the point of pulling that CPU board and doing surgery on it. That will have to be a project for another day. I cleaned up the pins with a nail file and some emery paper, and reassembled everything. Did it work? You can probably guess the answer by looking at your scroll bar on this article, but…

 

… yes it worked. The CPU now detects the start button, tilt bob, and launch button. Result!

 

Well, that was a damn satisfying bit of debugging, in the end. I still intend to replace that header, but in the meantime Johnny is back on the line and ready to entertain my guests (for free if I like you).

 

 

 

 

 

8 thoughts on “Johnny – Start Switch Repair”

  1. Nice article.
    WRT pulling out the glass, it’s quite robust, generally. I had a bad cats with glass that would slide out on its own when you pulled the lockdown bar. It would have stopped on its own, but I wasn’t thinking and so I stopped it with the lockdown bar. The sharp edge of the lockdown bar. BAM! It’s hugely impressive how loud it is, and an incredible PITA to clean up.

    My wife got the experience when we were moving a shower enclosure. She had a panel, set it down on the tile (mistake #1) and then twisted it. BAM. I heard it from downstairs at the other end of the house.

    1. Quinn Dunki says:

      Yikes! I’ve seen/read a few horror stories on Pinside about broken glass, and finding the little cubes in the dark corners of the cabinet for years afterwards.

  2. Rob Ray says:

    HA HA HA!
    “You can probably guess the answer by looking at your scroll bar on this article.”

    Amazing. Great writing as always.

    1. Quinn Dunki says:

      Aww, thanks! 😀

  3. Excellent debugging! Is there anything that can be done about alkaline corrosion other than replacing parts? Some sort of cleaner?

    1. Quinn Dunki says:

      The best thing I’ve found to clean it up with is vinegar (a mild acid neutralizes it). However it’s pretty impossible to completely get rid of it. It seems to always come back eventually. Sometimes it takes weeks, sometimes it takes years, depending on how well you clean it up.

  4. Vorlonagent says:

    For a reason unknown to even me, I am amused that the pinball machine is right next to the exercise bike.

    1. Quinn Dunki says:

      Fun fact- on the other side of the pinball machine is the MAME machine. All three of these have been featured multiple times on this blog. 😀

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.