If you are chilling at the beach or the park during an warm summer night, wouldn't it be cool to play Frisbee and write your name to the sky? Awesome Frisbee does exactly this. Due to the awesome rainbow glow underneath the Frisbee you can track it and play at day&night. Your name is written to the sky in any color using the persistence of view display (PoV). Be sure to checkout our awesome pictures and the video to experience the full action.

What it does

The features of Awesome Disk are:

  • Persistence of Vision Display: The PoV display allows you to write any text in any color into the night sky. Six vertical RGB LEDs show the sliced char characters to create an optical illusion such that the characters are perceived as text. In the Images above we wrote TECHFEST to the night sky.

  • Glow in the Dark: To be able to see the Frisbee during day&night, the Frisbee is equipped with RGBW NeoPixels, which generate a multi-color glow underneath. In the standard configuration the lightning imitates the color gradient of the rainbow. However, this glow can also be individualized by selecting your favourite color using the natural UI.

  • User Interface: The natural way to interact with the disk is with gestures rather than using a boring phone app which relies on networks and phone batteries. Therefore, you can interact with the disk through flipping and rotating gestures. If you flip the disk once you enter the change color modus, you can turn the disk like a steering wheel until you favourite color is reached. If you stop steering the color is fixed.

Unfortunately the best GIF is missing :(

How we built it

To build the Awesome Disk we combined Feather Arduinos with Accelerometers, Gyroscopes, NeoPixels, OSRAM LED driver and OSRAM LEDs.

First we hooked up the Feather Arduinos with the sensors to detect the in-flight rotation per minute (RPM) and the different accelerations to detect the user interactions. We than soldered the RGB LEDs to a 6 pixel display and connected them to the hacked OSRAM LED driver to boost the 3.7 Battery Voltage to 5V. To be able to control the 6 pixel two TLC571 were daisy chained and controlled using the hardware SPI protocol. The underground lightning was done using the NeoPixels powered by the LED driver and controlled by the Arduino.

From the software perspective we first implemented the streaming of the sensor measurements via UDP to a Ros node and the detection of gestures for user interactions. The gesture detection uses the norm of the radial velocity in x and y direction (the radial directions of the disc) as input value. With this choice, the user does not have to orient the disc in a special way. The first criterium is a value beneath a certain threshold T1 (in our case 10 deg/sec) that is kept for some time DT1 (400ms). If the value leaves this region (green corridor in the drawing) before the time is reached, no flip will be detected. The input value is further tracked andcompared to a second threshold T2 (600 deg/sec). If this value is reached (e.g. at Time C in the drawing), the time between C and B is compared to a new threshold DT2 (in our case 200ms). This leads to an approximation of the derivative of the input value (steepness is larger than (T2-T1)/DT) while making sure that it is not accidentally triggered (e.g. when the disc hits the floor) by enforcing a static disc during DT1. We tried this algorithm with different thresholds on different input values (e.g. acceleration to detect a knock on the disc) and found it especially useful to reliably detect the flip. Than implemented the RGB addressing and timing of the 6 pixel display to print any char character. The timing compensates for different RPM measured by the Gyroscope to generate a standing text. For the color control of the underground we used the HSV color coding which simulates the rainbow color gradient and the amount of color change can be controlled by time and angle.

Challenges we ran into

  • Powering and Controlling the LEDs: To power the 6 LEDs of the PoV display the 3.7 battery voltage needed to be boosted to 5V. We achieved this by Daisy Chaining of two Osram LED driver two be able to power and control the 6 RGB LEDs. The LED driver are then controlled via an hardware SPI from the Arduino.

  • Timing of Persistence of Vision Display: To achieve an stable non-moving PoV display the timing of the individual pixel needed to incorporate the rotation frequency and the processor scheduling time. We achieved this timing by measuring the rotation frequency via the gyroscope and compensating for the processing times of the other threads powering the WiFi connections.

Accomplishments that we're proud of

  • That AWESOME Disk actually works and is stable
  • That AWESOME Disk is robust and survives multiple hits

What's next for Awesome Disk

In the future we plan to extend Awesome Disk to Ultimate Frisbee. Within this extension the disk and the jerseys for ultimate frisbee teams would glow and highlight the current status of the game. The disc would be glowing in the color of the team that currently holds the disc and the hacked jerseys would signal the disk carrying player. The arduinos in the jerseys with an IMU track the player with the disc and generate an automatic scoring of the individual player. Using this setup different attributes, such as the player whose passes gets intercepted the least, could be instantly signaled by blinking or color change of the players jersey. For the player identification the signal strength is probably not accurate enough to recognize the player with the disc, hence we planned to let the player to knock on his arduino (which could be placed on his hips) with the disc. Both IMUs would detect the hit and send it to a base station where these event would be combined by their timestamp.

To involve the spectators, the game data could be streamed directly to a server (e.g. Amazon IOT-Cloud) where this data could be processed in real time and streamed back.

However, during the 48h TECHFEST we concentrated on the disc and made it more and more awesome.

Built With

  • arduino
  • c
  • gyroscope
  • frisbee
  • neopixel
  • osram-led
  • osram-led-driver
  • ros-indigo
  • python
Share this project: