Snake played on a salvaged seven-segment display panel

Oct 29, 2026 Last reply: 16 hours ago 2 Replies
Jump to replies (2)

How unsuitable can a screen get while a game stays playable? That question drove this build. A seven-digit, seven-segment panel pulled from an old DVD player now runs a working Snake game, with each of the 49 segments holding one snake position and the food shown as a blinking bar. It turns out the answer is: quite unsuitable, and still fun. The maker reports the game worked much better than expected, which seems a pleasant surprise given the constraints.



The setup pairs an Arduino Uno handling the logic with an SM1628B driver chip for the display. Input comes from an industrial joystick mounted in a clear plastic box, its internal potentiometers wired to analog inputs A0 and A1 through current-limiting resistors. A push-button START switch on pin D4 gets a 10 nF debounce capacitor, and an active buzzer driven by a 2N2222 transistor on pin D11 beeps when starting, eating food, or losing. The display communication lines at pins D7, D8 and D9 carry 1 kΩ inline resistors, and breadboard jumper wires tie everything together.



What stands out is the groundwork. The maker and their father mapped the panel's connections together, and the released repository includes code, wiring diagrams, mapping tools and display effects, plus guidance on finding a panel's own digit and segment map since panels differ. The project began life as a tutorial for the SM1628 driver, and learning that driver was a stated goal.



The trade-off is movement. Turns between digits are awkward, and reaching food on an adjacent vertical bar means coming around from the opposite direction; even food right beside the snake can force a detour. The maker also muses that a worse screen might still be found, so the question remains open.



Project by Jose Luis Monteiro | Electronics. Watch it on their YouTube channel:

formatting link


The digit and segment mapping is the part that catches my attention. Since every salvaged panel seems to differ, I would love to know how the makers actually worked out the column-to-digit layout for this particular panel. Was it a matter of testing segments one by one, or does the repository describe a more systematic way to trace the connections?

The repository does address this. It explains finding a panel's own digit and segment map, precisely because panels differ from one another, and it covers driver use, display tests, effects and the Snake project itself. The mapping work for this panel was done by the maker and their father together, since the father enjoys reverse-engineering displays and how to control them. Beyond that, the exact step-by-step method has not been spelled out.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required