LED DOT Matrix Pong using ATMega16 Microcontroller

The classic pong game. Two players. Press the buttons to move paddles up/down. Ball bounces back and forth. If you fail to catch it, your opponent gets one point. Score difference is showed with blue LEDs. Blue LED = lead by one point. If you then win another point, you win the game, and your player number (“1” or “2”) is displayed.

LED dot matrix pong avr
DivX video: pong.avi (768×576 25fps) (3.6 MiB)

Bonus feature – Dual boot: When powering up, you have to press one of the two rightmost buttons. One of them starts pong, and the other one starts … that’s right: The alphabet! You can then scroll through the alphabet by pressing the buttons. Exactly why this game of pong also contains an alphabet, is a mystery whose answer is lost in the mists of time. Or something like that.
Made by Håvard Moen (AVR know-how, programming, some construction), Håkon A. Hjortland (construction, some programming) and Alf Storm (font).

How it works

The LED dot matrix is driven with time multiplexing. The columns are displayed one by one in rapid succession, giving the illusion that they are all lit at the same time.

Source code

parse_font.c [syntax highlighting]
font.h [syntax highlighting]
pong_or_font.c [syntax highlighting]
pong_or_font_2.c [syntax highlighting] [diff] – Update (fixes compile problem)


Tiny Geurrilla Video Game Installation (MiniPong) – Very similar project
http://www.yugo.at/minipong/ – An implementation based on our project
Hat Hack – 21×10 LED pong
Pong Dress – “C-code by Håvard Moen and Håkon A. Hjortland”
Pong resource page by Davis Remmel – Schematics and partslist for this project

Laser video projector

Laser video projector
DivX video: projector.avi (768×576 25fps) (3.5 MiB)
Flicking artifacts are due to camera shutter. It looks good in real life. I promise!

A 16×16 20-30fps monochromatic(red) binary(no greyscales) digital video projector.
Made by Håkon A. Hjortland (programming, construction), Alf Storm (animation), Håvard Moen (AVR know-how, construction help), Ståle Kristoffersen (help with mirrors) and with some help from others.
Original idea (to use laser and rotating mirrors to create a video projector) comes from an article in a science magazine (Illustrert Vitenskap) some time ago (no idea which issue).


  • Atmel ATMega16 AVR microcontroller
  • Standard issue laser pointer
  • 16 mirrors off a disco ball
  • Reading fork for sync
  • Home made download cable
  • Motor
  • Powerful NMOS transistors for switching laser and motor on/off
  • Servo for raising/lowering screen
  • Resistors to limit power to laser and motor
  • Pull-down resistor for reading fork
  • 5V voltage regulator
  • Decoupling capacitors

For more detail: LED DOT Matrix Pong using ATMega16 Microcontroller

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top