/Engineering
Smart Scoreboard
Overview
I made this scoreboard for volleyball so that no one would have to run over to the scoreboard to add a point after every volley. It uses pose estimation to add a point when a T-Pose is detected. It runs the image from a webcam through a machine learning model that estimates the positions of each person's legs, arms, shoulders, head, etc. and then checks the joint locations with a big IF statement to determine whether it's a t-pose, surrender cobra, or nothing important.
The scoreboard also functions as a normal scoreboard. It has buttons to add or subtract points for each side, and a reset button to quickly reset the score to 0-0. You can set the color of each side of the scoreboard and the overall brightness. It also has a Tennis Mode where the points count up using the tennis scoring system (0, 15, 30, 40, deuces) and supports deuce.
The case is 3D printed in 8 large pieces, with inlays for the electronics panels with buttons. I used all my 3D modeling and printing skills on this project - color change inlays, embedded magnets in the rear door, and the carrying handle is TPU filament on the outside with an inner piece of hard PETG with nuts in it. The front and rear panels are 1/4" plywood cut at the Clemson makerspace, I modelled and printed this during my downtime when I wasn't working on my masters thesis/project in Fall 2021, built it in January 2021, and then used it at volleyball the subsequent months and slowly improved it and added features.
Noteworthy Hardware
-
Raspberry Pi 4B - Runs the webcam, pose-estimation model and the color LCD screen
-
Arduino Mega - Runs the normal scoreboard stuff - display the score on the lights, add/subtract points, plays sound clips from a SD card
-
Ryobi 6Ah battery - One battery powers the whole system. I worked at TTI when I made this project so I got great discounts on Ryobi equipment and now own many Ryobi batteries, so it made a lot of sense to run the scoreboard off one. The 6Ah battery runs the scoreboard at full brightness for 2-3 hours.
-
WS2812B RGB Bullet Pixels - The lights I used are the same lights used in my Christmas light hobby. They're fully waterproof and come with ~4" of wire between them allowing for easy layout without much soldering.
-
Arducam 100 Degree Wide Angle IMX291 Low Light Camera - I initially used a normal desktop webcam, but its field of view couldn't see much of the court. This Arducam is extra wide-angle and good for low-light for when we play in the evening. [Amazon]
-
DC-DC Buck Converter 8-40V to 5V 10A 50W - Used to step down the ~20V from the Ryobi battery to 5V with a lot of current for the lights. At full brightness and white color the lights use nearly 10A, but during normal usage with both side set to a color instead of white they use about 3A at 5V. [Amazon]
-
DROK 5V 5A Buck Converter - Powers the Raspberry Pi. I wanted a separate regulator for the Pi to separate it from any voltage drop that might happen when the lights are on full brightness or any voltage spikes from changing the lights. [Amazon]