7.1. Court Displays

Beaconsfield squash club asked if I could design some displays to put outside each court to show who was on court at the moment and who would be next.

This time we had a very generous offer from OryxAlign to buy the parts.

The hardest part was finding a nice screen which we could easily fit in a small case. In the ended I found this one “ASHATA Touch Screen for Raspberry Pi,7 inch”, which came with a 180 HDMI adapter and had the connection at the top, which allowed for a narrower box to be designed. Only issue was that the layout was for a pi 4 not a pi-zero. The edge connector would line up just fine but then the HDMI would miss. Using a very short HDMI cable I was able to “make it work”.

Using a pi Zero WH to drive it was a natural choice as we don’t need a lot of processing power and were’s trying to keep the costings down.


I started out writing a simple python script to sign into our court management system (Mycourts), and fetching the booking details. This turned out to be quite simple as all the data was provided in a simple format.

By using pygame I was able to present the court information via a console screen.

Wrapping this all up, I didn’t want to have to manually install everything on all the screens, as it would take too long and be very error prone, so I choose to is pi-gen to create a new pi image with all the bits installed and ready to go.

This way I can create one image, and write it to all the SD cards. I also placed a config in the boot partition on the SD card so staff and easily make changes to the screen without having to SSH or otherwise trying to break into the screen.

There is no keyboard on the screens, they boot up and start to display the court information. Should the python script crash it will auto restart.

To help save the screens, after 2200 in the evening the screens turn off and turn on again in the morning at 0840.