Adding relays and Arduino boards

The next step was to put the relay board back on and wire it up to the Raspberry. Before I took everything apart, I took the following close-up photos so I could get it re-wired correctly:

I left the other ends connected to the relay board, so I didn’t need images of that connection.

And then I ran into a problem. When I started reassembling the control panel, I had forgotten that I had switched out the circuit boards for the Arduinos, and the posts for the old boards would not work.

It would have been easy to move these posts before reassembling the control panel. As it was, I had to:

  • Mark the new locations for the posts
  • Disconnect all the wires from the buttons
  • Remove all the buttons
  • Set the plexiglass and background paper aside
  • Drill small holes for the posts through both layers of hardboard
  • Drill large holes through the top hardboard layer to accommodate the nuts on the post
  • Move the posts to the new locations
  • Put the background paper and plexiglass back in place
  • Reinstall the buttons
  • Rewire the buttons

Since the LCDs are already installed and the SD cards are glued down, I didn’t want to completely separate the two layers of hardboard to drill the larger holes. Not to mention that separating them would require also removing the joysticks. So I wedged them apart slightly so I could drill the larger holes in the top layer without accidentally drilling into the bottom layer.

Since I had to rewrite the buttons after moving the posts for the Arduino boards, I took another shot at tightening up the cable management. I used smaller zip ties, and more of them.

I also noticed that I had wired the power connectors for buttons 9 and 10 incorrectly. Here is the before and after.

Controllers wired up

I glued down the SD cards. I used a gel superglue because of how porous the back of the hardboard is. It looks nice and will keep the SD cards out of the way while the rest of it is wired.

Once the glue was set, I tested out replacing an SD card.

I also finished wiring up the buttons and joysticks for both controllers. I am trying to do a better job of cable management this time around, so I routed all the button wires between the rows of buttons and tied them together with a zip tie.

Arduino boards

Back in 2019, when I was trying to figure out why the displays weren’t working, one thing I tried was replacing the boards that the Arduinos are mounted on. The boards I had originally used did not have a solder mask, and it was very easy for solder to start flowing along the traces. This ended up creating ugly solder globs which increase the chances of a short. I got new boards that have a solder mask, and they are a little bigger, so I don’t have to put the Arduinos end-to-end. That will make the wiring on the board easier since it’s all on one side. Here is a photo comparing the new and old boards:

Here is a new board with the sockets and wires soldered on:

While changing out these boards did not ultimately fix the issue, it was still a good move. The soldering in this board is significantly cleaner.

For reference, here is how the old board looked when it was soldered.

Progress update

I finished installing the SD cards. I came across 3 or 4 more that had corrupted data. I also reinstalled the Raspberry Pi and the USB converter for one of the controllers. I am trying to do a better job of cable management this time around, so I routed the button wires between the buttons. I will probably put some small zip ties on them to keep them neat.

I’ve also been thinking about gluing down the SD card holders so that they’re not just dangling. The only real estate that I consistently have for this is right behind the corresponding display, as shown in the next two images:


Updating microSD cards

When I originally assembled the control panel, I kept track of which set of images was on each SD card by writing the files to it, immediately installing it into one of the LCDs, and writing the button number in sharpie on the back of the LCD.

I didn’t want to bother keeping track of them when I pulled the cards out to install the LCDs with the extenders. So now that the extenders are installed in the control panel, grabbed an SD card, plugged it into my PC, deleted its contents and copied over the “Button 1” images. Then I installed it into the extender next to the button 1 for player 1. Then I did button 1 for player 2, and then moved on to button 2.

During this process (which is not complete; I am only up to button 4), I discovered that one of the SD cards had become corrupted, which is something I had suspected when the button labels when the button labels weren’t working. Here is what that SD card looked like in Windows file explorer:

In order to correct this, I had to reformat the SD card. It seemed to be fine after that and I could put files on it. I don’t know how the data on that card got corrupted, so for now I’m just hoping it doesn’t happen again.

Control panel reassembly begins

I finished cutting the slots for the microSD cards, so I was able to put the displays in the control panel and add the joysticks and buttons. So the front is back to looking really nice. On the back of course, there is still pretty much nothing.

The next step will be to install the microSD cards. They are not marked as to which button they are for, so I will have to plug each of them into my PC to make sure it has the correct images before installing.

Cutting slots for the micro-SD extenders

I started cutting the slots for the micro-SD extenders. I used the top layer of the control panel as a template to determine where to make the cut, and then made sure to cut into the bottom board at an angle. I took the following photo to demonstrate the cutting angle, but I’m not sure you can really tell:

I didn’t want to connect any of the SD slots with the control pin slots for the LCDs, and in the case of this first one, I also didn’t want to connect to the screw hole. So I took a patient, gradual scraping approach:

After a bit, I made it through the board:

So now I had a slot the width of a utility blade. To widen it, I rotated the knife and scraped away at the side of the slot away from where the LCD will be.

Finally I was ready to see if the adapter would fit through the slot and how well it would work with the LCD. I wasn’t thinking it through the first time and tried to put it in upside-down:

I need to put it in contact-side down (from this perspective) so that it will line up properly with the LCD

That’s better. And there it goes!

And we’re through! Time to plug it in to an LCD and see how it goes. Unfortunately, I can’t test its functionality until I get more of the board back together.

Now I put the upper layer on to see if the cable will be pinched:

It’s not super obvious in the above photo, but the cable looks good. And here is the part with the SD card hanging out the other side:

Looking good! Now I just have to do this nineteen more times! I only got a total of four done this session. The fourth one took longer because I really didn’t want to connect to either of the slots that it is between:

So I did end up connecting to one of the slots, but it wasn’t both of them, so my structural integrity for holding up the LCDs is still reasonably good.

Next: more careful cutting, and ordering the rest of the extenders!

Full Disassembly for SD Extenders

I still need to buy more extenders, but I have enough to start modifying the control panel. Here are some photos of the disassembly.

Now that the bottom layer is accessible I can plan where the slits need to be for the extenders.

Interestingly, the fake SD card on the extender does not stick out as far as the real SD card:

To avoid crimping the cables on the extenders, I plan to cut the slots at an angle (it may be hard to tell in this photo):