Skip to content

Android app controlled electronic scoreboard system.

Notifications You must be signed in to change notification settings

jtsang02/ScorePort

Repository files navigation

ScorePort

Bluetooth controlled electronic scoreboard ⚽️ 🏀 🏈 ⚾️ 🏐 🏉

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

Features

  • 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

Hardware

Components

  • 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

Schematic

image

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:

Firmware

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.

Dependencies

Software

Bluetooth Connection

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.

Android App

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.

image

image image

image image

Dependencies

Releases

No releases published

Packages

No packages published