A fully inflatable electronic scorekeeping system that compresses for easy storage and portable transportation. Designed for use by intramural sports organizations and recreational sports leagues. LED displays utilize addressable LED strips assembled into 7 segment digits that are large enough to be visible from far ends of the playing court or field. Hardware components are safely stored in a weatherproof 3D printed box allowing for access to manually turn on and off the fans and displays. A mobile app connects to the scoreboard via a Bluetooth connection to control the time, score, shots (not built on physical prototype), and period/quarter without the need for wifi connection.
ScorePort.Running.Video.mp4
- Set your prefered game time and default period lengths
- Customizable time settings to support a variety of sports like soccer, basketball or spikeball
- Large LED number segments for visibility on playing field or court
- Fully controllable over bluetooth on user-friendly mobile app
- Built-in goal button to flash 'GOAL' on randomized color scheme
- Arduino Uno (or equivalent board with built in bluetooth)
- 1x HC-06 Bluetooth Module
- 4x Adafruit 60 WS2812 Neopixel Addressable LEDs strips
- 2x Circulating Fans
- 3x quad AA battery holders
- 12x AA batteries
- 4x power switch buttons
The Arduino and NeoPixel LED strips circuit for score/shots and clock were modelled on two separate TinkerCAD sketches (no virtual bluetooth module testing available, bluetooth connection was tested on the physical device) to test the firmware code, pin connections, addressable library, and Serial communication:
Written in Arduino C for the AVR family of microcontrollers, and using the Arduino framework. Developed using Visual Studio Code and TinkerCAD for testing non-physical device.
Bluetooth connection is established by a simple client-server model, where the Android app (client) initiates a communication session with the ScorePort (server). When a device is found, the Android code calls a new thread to create a Bluetooth connection with the selected device.
Developed in Android Studio and written in the Kotlin programming language, with extensive markup language (XML) for the user interface. The app includes user functionality for changing score and period; starting and stopping the clock; resetting the clock to user inputted time with count up or countdown mode; setting custom period time for different sports; and displaying custom messages when the clock is not running.
The user interface was mocked up in Figma before development and these designs were referenced when for the final layouts shown below.