TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Connecting a 1980s Pinball Machine to the Internet

137 pointsby elipsitzover 2 years ago

12 comments

tannercollinover 2 years ago
Amazing, we are currently doing something very similar at our makerspace on a 1987 Road Kings pinball machine.<p>We first replaced the original RAM chip with a IDT 7132 SA100P dual-port RAM that sits on a breadboard:<p><a href="https:&#x2F;&#x2F;pic.t0.vc&#x2F;WPUO.jpg" rel="nofollow">https:&#x2F;&#x2F;pic.t0.vc&#x2F;WPUO.jpg</a><p>The other port is accessed by an ATmega 1284 to the left of it. Its code responds to simple serial commands and can read and write to the RAM.<p>An ESP32 talks to the ATmega over UART and frequently asks it to dump 16 bytes at 0x00A0 to tell the game state and player number, and 0x0100 to get the four player scores. When it detects a new game, it offers the player a chance to scan their RFID member card and keeps track of their score:<p><a href="https:&#x2F;&#x2F;pic.t0.vc&#x2F;UQYK.jpg" rel="nofollow">https:&#x2F;&#x2F;pic.t0.vc&#x2F;UQYK.jpg</a><p>After the game is complete, any players who have scanned in get their scores uploaded to our member portal where we can sort them by personal best:<p><a href="https:&#x2F;&#x2F;pic.t0.vc&#x2F;MZGY.png" rel="nofollow">https:&#x2F;&#x2F;pic.t0.vc&#x2F;MZGY.png</a><p>We found there were sometimes read collisions and the ATmega would block the pinball machine from writing to RAM which would cause crashes or odd behavior. The latest version uses two RAM chips, one acting as a shadow copy -- similar to yours.<p>Eventually we&#x27;ll make a PCB for it and open source everything. Currently only half the code (the ESP32) is on Github: <a href="https:&#x2F;&#x2F;github.com&#x2F;Protospace&#x2F;pinballwizard">https:&#x2F;&#x2F;github.com&#x2F;Protospace&#x2F;pinballwizard</a>
评论 #34901664 未加载
评论 #34901443 未加载
评论 #34906777 未加载
jvanvleetover 2 years ago
It just floors me that today you can order up a custom PCB for a few dollars if you are willing to wait a few weeks. What a world.
评论 #34901376 未加载
评论 #34899621 未加载
iceflingerover 2 years ago
Do you have any plans of open-sourcing or releasing your work here? This stuff is awesome, it would be great to try and apply it to different eras of pinball machines as well.
评论 #34904835 未加载
评论 #34899728 未加载
stjrweyerover 2 years ago
<a href="https:&#x2F;&#x2F;github.com&#x2F;BallySternOS&#x2F;BallySternOS">https:&#x2F;&#x2F;github.com&#x2F;BallySternOS&#x2F;BallySternOS</a><p>ballysternos is a really neat arduino project that sits on the debug header of old bally and stern mpu boards. the arduino holds the 6800 in halt from the start and re-implements game code<p>i&#x27;ve seen at least two of these in the wild, one in a Bally Eight Ball running &quot;Eight Ball Plus&quot; code, and another in a Stern Meteor running &quot;Meteor 2021&quot;. both add some neat super-features and game modes, the Meteor has an accompanying wav trigger board, speakers, and amp to add wav sound effects as well -- anyone who loves Meteor will appreciate (or hate) that it no longer screams your spinner value in a high pitched tones.
aftbitover 2 years ago
Cool hack! Thanks for laying out the steps in such detail. One specific comment:<p>&gt;While the board was out, I removed the battery holder from the MPU board. The board needs 3x AA batteries to keep the CMOS RAM powered to maintain the high score list while the machine is off. I’d read that these batteries could sometimes leak onto the circuit board, causing substantial damage.<p>You can also use Lithium primary AA batteries, not to be confused with rechargable lithium-ion cells. They are better than Alkalines in just about every way, including that they do not leak. The only reason Alkalines are so popular is that they are slightly cheaper. In this application, you probably want the best cells possible.
评论 #34905530 未加载
shoveover 2 years ago
I interfaced an ESP8266 with the switch matrix to do much less impressive things on more modern pins so I’m kindof blown away. It’s tricky piggybacking the signal lines and I feel a little better hearing I wasn’t the only one who got it 99% working and started wondering if maybe my microcontroller was underpowered for the job.
phanimaheshover 2 years ago
Interesting. Reminds me of something I built a few years ago.<p>To demonstrate low latency for a proxy we built, we decided to do a small publicity stunt at a local conference. We found an old pinball machine, managed to reverse engineer and findbfrom patchwork docs and some experimentation that we could send some commands to control flillers over a serial port.<p>Then we built a web application that would receive commands over http, and forward them appropriately. Ran this on a laptop connected to the pinball machine. Then we setup our proxy on a raspberry pi, setup some mobiles to access the webapp via the proxy, and had a fun little demo.<p>Users can tap left and right halves of screen on mobile web page to send requests, and could see the pinball flippers move. Our stunt was that see, it&#x27;s pretty fast and low latency even with some simulated background load on the system.
blockwriterover 2 years ago
Damn, this is amazing. I took up a lot of hobby electronics using Raspberry Pi 4 Model B and Pico Ws during the pandemic. I stopped short of custom PCBs or reviewing circuit schematics, but this makes me want to search out a basic project that would require doing so.
shanebelloneover 2 years ago
This is very cool.<p>I wonder if niche arcades could make a comeback with something like this. Imagine global competitions between clubs competing for rank, recognition, and reward.
评论 #34904092 未加载
评论 #34905725 未加载
评论 #34903412 未加载
caseysoftwareover 2 years ago
This is awesome. I&#x27;m disappointed he had to switch from the ESP32 to a Raspberry Pi but either way, it&#x27;s fun putting things like this online.<p>At ngrok, we just published a guide to put the ESP32 online that might have helped: <a href="https:&#x2F;&#x2F;blog.ngrok.com&#x2F;posts&#x2F;putting-the-esp32-microcontroller-on-the-internet" rel="nofollow">https:&#x2F;&#x2F;blog.ngrok.com&#x2F;posts&#x2F;putting-the-esp32-microcontroll...</a>
soupfordummiesover 2 years ago
Next level awesome stuff!<p>It&#x27;s like Stern Insider hacked into older games. Amazing!<p>Do you think this could be transferred and applied to other System 7 games?
评论 #34901462 未加载
relwinover 2 years ago
Nice work! I&#x27;m assuming score rollover is detected so your awesome final score is correct. Also saving game settings of total balls (3 or 5) and extra ball enabled is useful when comparing scores.<p>Anything pinball on HN is a good day :)
评论 #34904279 未加载