Ping Pong Scoreboard with animation and sound

Arduino-Powered Ping Pong Scoreboard that keeps track of games won, score, serve and uses sound & animation to congratulate winner

Similar projects worth following
We play a lot of ping pong, but lose track of the score and who is supposed to serve. This scoreboard introduces the game, keeps track of whose serve it is, keeps score and congratulates the winner at the end. Uses an rgb matrix and a soundboard.

The scoreboard uses an Arduino Mega (for the RGB matrix and soundboard pins, mostly) and several LED and LCD panels.   The games are configurable to be either 11 points or 21 and the service can be switched at either 2 points or 5 points.  The warmup begins with a virtual ping pong match on the matrix and then several vocal announcements including "Lets Play Ping Pong" and "Shall We Play a Game".  Each point is entered using a big lighted button on the top (one for each player).   Service is announced with "Switch Serve" and the arrows pointing towards player 1 or  2.   The announcement of player can be switched from two specific people by name or generic "Player 1" and "Player 2".   At the end of a game, the winner is announced and there's applause, etc.  The soundboard is loaded with all these sounds, etc.

The score and the games won (match) are done on two separate 4 digit LED panels and the configuration is show on an LCD panel (generic vs. specific players, points to switch serve and points to win game).


Game over animation and sound - cheering, etc.

MPEG-4 Video - 32.59 MB - 02/23/2021 at 16:24



Game Over

JPEG Image - 2.10 MB - 02/23/2021 at 16:23



Let's Play Ping Pong

JPEG Image - 2.35 MB - 02/23/2021 at 16:23



Shows service change animaiton and sound

MPEG-4 Video - 24.87 MB - 02/23/2021 at 16:22



Start up animation

MPEG-4 Video - 31.99 MB - 02/23/2021 at 16:21


View all 17 files

  • 1 × Arduino Mega 2560
  • 1 × Adafruit FX Soundboard with amplifier built in
  • 1 × Adafruit 16x32 RGB Matrix
  • 4 × SPST toggle switches for configuration and power Game length, service length, personal vs. generic names and power on-off
  • 6 × Momentary pushbuttons for score point and 'undo point' etc Generic for 'undo', manual switch serve, and reset but big and lighted for score point

View all 11 components

  • 1
    Step 1

View all instructions

Enjoy this project?



jurgen.vannerom wrote 11/11/2021 at 22:33 point

Kudos for this nice project ! Really neat and very well thought through.

Question I had : your code doesn't seem to foresee changing of sides by the players after each set (and midst of the last set). 

Is that an on purpose decision ?

Hi difficult would it be to add that in ?

Gets - jurgen

  Are you sure? yes | no

spudnut1 wrote 03/07/2021 at 02:27 point

It would be super simple to add the extension and the at-table button you describe.   The way I’d do it would be to leave the existing button intact, but add a simple phono jack (the headphone jack) .   Those jacks usually incorporate a simple switch, but you don’t even need that.   All you need to do is run a wire from the NO contacts on the ‘score’ buttons... Those are the big red buttons on the top of mine.   Just add your own button of Normally Open type NO and then run it to the table.   Pushing either the on table or on-box button would score.  Very simple.

Of source — adding two Bluetooth scoring buttons would be even sexier!  But, frankly, I LIKE the delay in game because I can catch my breath.... LMK if I’m clear enough...  Would be happy to expand

  Are you sure? yes | no

Doug Wills wrote 03/04/2021 at 16:43 point

Question for you. In your schematic, how easy would it be to add an optional extension for each of the two player buttons that can be mounted underneath the table edge at each end of the table? As I see it now, this appears to be something that sits off to the side of the table, and someone (presumably the player who won the point) would need to walk over to the device to add their point. When we play, we quickly move from one point to the next. Walking to the device seems like it would add time between points, but having the external button available to each player on their end would be quickly accessible and not introduce too much of a delay in game play. Or did I miss something in the design that already deals with this?

  Are you sure? yes | no

Mike Szczys wrote 02/26/2021 at 22:50 point

Ha, superb! It's a chess clock for ping-pong :-D

  Are you sure? yes | no

spudnut1 wrote 03/07/2021 at 02:29 point

That would be a good project — and much easier!   I’m working on a Soduku solution engine now.... One that does not rely on brute force or recursive decent.... One that mimics ‘human’ game play

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates