The game of squash has a fairly easy scoring system, however when you’re in the heat of the game it can be quite easy to forget your score as it’s so fast paced. I created this basic Arduino prototype to enable a very simple score counting system. This started off as a very basic project, however the codebase ballooned when I added logic for tie-game-situation scores, where both players reach 10-10 and the target is 11, the first player to 10 has to choose whether to play to 13 or 15.

At first I created this as a static logic, however it’s now completely dynamic so the score will (in theory) keep going up, and allowing choices between 2 higher scores until 1 player wins by a clear 2 points.

The actual setup is:

Arduino Uno

5 x 10k Resistors

2 x push buttons

1 x 2×16 LCD screen

2 x LEDs

1 x POT Resistor

Several Wires..

All connected to a MacBook Pro Retina via USB

Check out the video for the basic usage and how the scoring system works, and a rough idea of the hardware:



The code is available on GitHub, or also below:

It’s fairly simple code to follow, to help you get your Arduino setup just look at the variables/constants that are setup at the top of the code to find the relevant rail on the Arduino board.

Of course also change the String player1 = "Hraday"; String player2 = "Alex"; to your choice.

Basic logic: Listen for presses of buttons, if button pressed, flash relevant LED, up (int) that players score (LCD Screen write) OR check if both players have same score and 1 point away from winning, if so, show option (LCD Screen write) to choose new target score that is either 2 or 4 points higher. Else if the player score matches target, show winning message (LCD Screen write) and flash LED’s.