Motion-Controlled VCS³ Snake

A summer internship project turning the Sundance VCS³ into a fully playable, motion-controlled Snake game.

What happens when you give an FPGA development platform to an engineering intern for the summer? In our case, you get a motion-controlled version of one of the most recognisable arcade games around.

During his time at Sundance, intern Charlie Brampton developed a fully playable version of Snake, using our compact VCS³ Core as the heart of the system. The finished project combines FPGA logic, embedded software, an onboard 9-axis IMU, LED panels and a custom 3D-printed joystick into one self-contained game.

The project was later documented in full on Hackster.io as “Motion-Controlled FPGA Snake”, where Charlie details the hardware, software, debugging and development process.

Read the Hackster Article – HERE

Full Project Credits: Charlie Brampton and Mika Gudipati.

Building Snake around the VCS³

The VCS³ was a natural fit for the project.

The VCS³ is an ultra-compact single-board computer based on an AMD Zynq UltraScale+ MPSoC, combining ARM processing with programmable FPGA fabric. Measuring just 50 mm × 30 mm, it also includes a 9-axis IMU, four MIPI camera interfaces, CANbus, USB-C and other interfaces.

For a motion-controlled game, the onboard IMU was particularly useful. There was no need to add a separate motion sensor to the design.

Instead, the VCS³ could detect the rotation of the physical joystick and translate those movements into directions for the Snake game.

From Joystick Movement to FPGA Graphics

The display is made up of nine 8×8 NeoPixel panels, creating a 24×24 RGB LED matrix.

The LED array is driven using a custom NeoPixel VHDL core running in the programmable logic of the VCS³. A block design created in AMD Vivado connects the NeoPixel logic with the Zynq UltraScale+ MPSoC, while block RAM is used to store the game display data.

This gives the project a useful combination of hardware and software:

  • FPGA programmable logic handles the LED interface and hardware-level processing.
  • The Zynq processor runs the Snake application and game logic.
  • The VCS³’s onboard IMU provides the motion input.
  • The NeoPixel array provides the visual output.

The Sundance VCS³ board files are also available through our GitHub repository, making it possible to start a Vivado project directly from the VCS³ platform.

Turning Movement Into Controls

Rather than using traditional buttons or a keypad, the project uses the VCS³’s gyroscope to control the Snake.

A quick movement of the joystick generates angular rotation which is detected by the IMU. The software then interprets that rotation as a change in direction.

Getting this working reliably required more than simply reading the sensor.

During development, Charlie experimented with gyro thresholds, confirmation periods and cooldowns to prevent unwanted movements being registered. The final implementation requires a deliberate movement to trigger a turn while filtering out small movements and the natural spring-back of the joystick.

It is a good example of the difference between getting a sensor to produce data and turning that data into something that behaves naturally in a real application.

From Development Board to Standalone Game

One of the final steps was programming the system’s QSPI flash so that the Snake game could operate without being connected to a development computer.

That means the finished system can simply be powered up and played.

The project also demonstrates the flexibility of the VCS³’s processing architecture. The Snake application can run on the Zynq UltraScale+ MPSoC’s application processor or real-time processor, while the programmable logic handles the hardware-specific parts of the design.

This makes the project more than just a fun demonstration. It shows how a compact embedded platform can combine processing, programmable logic, sensing and I/O into a single system.

A Summer Project with a Practical Purpose

We like projects such as this because they provide a different way to explore what our hardware can do.

For an intern, building Snake from the ground up meant working across FPGA development, embedded software, sensor integration, hardware debugging, 3D printing and mechanical design.

For Sundance, it provided a chance to put the VCS³ through its paces in a completely different application.

And, of course, it resulted in something that is considerably more fun to demonstrate than a conventional development board.

Thank you to Charlie and Mika for the hard work they put in to create this project!

Read the full Hackster Article HERE, full credits: Charlie Brampton and Mika Gudipati.

 

Want to see what the VCS³ can do for yourself?

Visit Sundance at DroneX 2026, Stand U342, where you can see the motion-controlled FPGA Snake demonstration in person and explore the wider capabilities of the VCS³ platform.

From FPGA processing and embedded software to motion sensing, vision and control, the VCS³ brings a range of technologies together in a compact embedded platform.

Come and see the VCS³ in action at Stand U342 on 29–30 September.