Skip to content
Free delivery, every order. Want a bulk deal or can't find what you need? Email support@pmdway.com now!
Free delivery, every order. Want a bulk deal or can't find what you need? Email support@pmdway.com now!
Bringing Snake to your coffee table

Bringing Snake to your coffee table

from arduino.cc

Snake is a classic game — more a genre of games — that dates all the way back to 1976 with the release of the Blockade arcade game. Many consoles and devices have received variations of Snake, putting it in the same league as Tetris and block breakers. Now Ty and Gig Builds have used an Arduino to construct a giant coffee table version of the game.



One of the reasons that so many variations of Snake exist is because it runs well on very low-resolution screens. That also made it perfect for this project, since an LED matrix makes for a great low-res display. Ty and Gig originally built that matrix for an interactive coffee table project and they were able to repurpose it for this game.



WS2811 individually-addressable RGB LEDs form that matrix. They shine through holes drilled into a sheet of plywood mounted underneath the coffee table glass. An Arduino Mega controls those LEDs, but any Arduino board would work for the job. The only other hardware components are a 5V power supply and an analog joystick module.

The joystick is comprised of two potentiometers, so the Arduino simply checks those to determine which direction to move. Programming was a small challenge, because the 1D array of LEDs had to be translated to the 2D display. With that figured out, programming the game was straightforward. Players direct the LED snake to collect as many apples as possible without colliding with itself, like they have done for the past four decades.

Finally - to keep up to date with interesting news, offers and new products - interact with us on facebook, instagram, and twitter.

Previous article PMD Way 2024 Update - a greater range and better pricing is only the beginning

Leave a comment

Comments must be approved before appearing

* Required fields