Heya, Thanks for visiting!

Just finished the classic tennis game Pong for my Basys 2 FPGA. The project is written in VHDL and is played on a VGA monitor. Built from scratch. You can see a video of it in action at the bottom of this article.

Pong game screenshot


  • Multiplayer: Battle against your friend
  • Play against the AI. Or AI vs AI battles
  • Score Keeping
  • Hidden Mode / Easter Egg


Just visit the Github Repo.


Action Control
Player Left/1 Paddle movement btn2 and btn3
Player Right/2 Paddle movement btn0 and btn1
Reset switch0
Player Left/1 AI Enable switch7
Player Right/2 AI Enable switch6


Here just a list of things implemented in this design

  • Collision Detection and Resolution
  • VGA Output, game video
  • Text display on VGA which includes a ram arbiter (uses my other project FP-V-GA Text
  • Basic AI for the paddles
  • Button and Switch Input
  • Seven Segment driver (BCD converter)


I entered this project into the Hackaday Fubarino Contest so of course there is a easter egg. Just get the score to read 1337 and you will see an awesome Hackaday mode. This means the player on the left side needs 13 points and player on the right needs 37 points. The mode lasts for as long as you keep the score as 1337 so you will have to work together to volley the ball around. I made two versions of the pixel hackaday logo but ended up using the bigger one as the ball.

Featured on Hackaday.com: Fubarino Contest: FPGA Pong

Update 2013-12-31: I am one of the Fubarino Contest Winners! (article on Hackaday)

Special hackaday ball used during Hackday mode

Watch the video to see this special mode:

Watch on YouTube