Pico W Adds Wi-Fi Connectivity to 1984 Pinball Machine

Using modern dev boards, Wi-Fi connectivity is added to 1984 pinball machine to upload high scores to the internet.

MrT0b0r
3 years agoInternet of Things / Gaming

In recent years, more and more devices have become connected to the internet. The rise of the Internet of Things (IoT) has helped lead the way, resulting in all sorts of smart devices becoming prevalent in our everyday lives. However, many machines, objects, and devices still exist from decades ago that we may still find useful or entertaining. What better way to “modernize” these things than connect them to the internet? That is exactly what Eli Lipsitz did by adding Wi-Fi connectivity to an old family-owned pinball machine.

The motivation for the project came from a desire to upgrade an old 1984 Williams Laser Cue pinball machine. The machine was created in a time when integrated circuits were first beginning to be commonly introduced into devices. As a result, it featured flashing lights, sound, and a digital scoreboard. All of these features were impressive additions given the technology at the time. But Lipsitz wanted to add the capability to upload all scores to a website automatically and reliably. Furthermore, he wanted to do this without altering any aesthetics of the machine and without risking any damage to the machine.

To begin understanding how to do this, some digging was done to determine how the machine worked. Fortunately, the machine was built in a time when manufacturers included detailed manuals and schematics with their devices to help users repair and troubleshoot them. The pinball machine utilizes a Motorola 6808 microprocessor with 1 KiB (1024 bytes) of RAM, 12KiB of ROM, and 128 bytes of CMOS RAM. All separate integrated circuits that communicated using 5V TTL logic at 1MHz. Overall, the processor controls the display, lamps, solenoids, and switches used for device operation. It is also responsible for keeping track of the game score, high scores, game over flag, current player, current ball, and other game information.

Having understood the way the game’s system works it was determined that by tapping into the device’s external RAM, the key memory locations could be monitored and used. In addition, the PCB just happened to have an entirely unpopulated 2x20 pin connector that connected to many of the important signals on the board including the memory bus. It was decided an Espressif ESP32 would be used to read 10 inputs from the address bus, 8 inputs form the data bus, the clock, and a decode signal. Plus, the ESP32 also provided onboard Wi-Fi connectivity to later upload the information to the internet. To reliably read the data from the pinball machine’s PCB the timing requirements of the system had to be studied and understood and the level shifters were included to ensure proper voltage levels were provided to the ESP32. However, after testing out the solution it was found that about 1% of the total memory transactions on the PCB were being missed by the ESP32.

After spending time debugging the prototype it was eventually decided to try another microcontroller in the project. Next in line was the more recent Raspberry Pi Pico W. It features enough GPIO to support the data reads as well as built in W-Fi. Additionally, the RP2040 also offers programmable I/O (PIO), which can enable users to create custom hardware interfaces. Switching between the devices also allowed for a cleaner PCB design to be made. Most of the initial prototype code was written using the official C/C++ SDK. Arduino-Pico, an unofficial implementation of the Arduino API, was eventually adapted to help finish the programming due to better Wi-Fi connectivity support.

The final steps included installing the custom made PCB on the unpopulated 2x20 pin header location and testing out the device. After a bit of debugging (resetting the pinball machine and enabling level shifters) the device proved to work! The Pico W proved perfect for the design and scores from the game were being properly uploaded to a web interface saving data such as the user name, score, and timestamp of the score recorded. Overall, the project demonstrates how cheap and readily available devices today can be used to bring modern life into older technology.

MrT0b0r
I am currently a RF/Wireless engineer and like all things electrical engineering related.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles