Arduino,  WLED

DIY NeoPixel Frisbee with Accelerometer and Bluetooth: A Fun Project for Summer Nights

If you’re into DIY electronics, you know there’s always room to level up with new gadgets, especially when it involves NeoPixel lighting. This project combines a Raspberry Pi Pico, accelerometers, NeoPixels, and Bluetooth to create a custom “NeoPixel Frisbee” that lights up in response to motion, perfect for fun outdoor games on warm nights!

The Inspiration

Summer is ideal for getting outside and experimenting with light-based projects. I wanted a project that would be exciting in the dark, so I thought about making a game that could be both fun and interactive with some added tech. I grabbed a soft cloth frisbee—lightweight and safe, even if thrown hard. This type of frisbee is durable, flies straight, and doesn’t risk anyone getting hurt (no black eyes here). The idea was to add LEDs to it, so it glows while spinning in the air, making it visually spectacular.

The Concept: NeoPixel Frisbee

My plan was to embed NeoPixel lights inside the frisbee, controlled by a microcontroller that could detect movement. The NeoPixels would respond to the speed and intensity of the throw by changing colors—starting red and becoming “white hot” as the frisbee spins faster. To make it even cooler, I envisioned using Bluetooth to track the proximity of the frisbee to the player, changing colors when it got close to them.

Initial Setup and Challenges

At first, I tried using a compact ESP32-C3 board for this project. It’s tiny, has built-in Bluetooth, and seemed ideal. I also planned to incorporate inexpensive Bluetooth tags (similar to luggage trackers) to identify and locate the players. The idea was that each player would carry a tag, and the frisbee would detect who it was close to and change color based on that tag.

However, two issues popped up:

  1. Advertise time: The tags only transmit every three seconds, which is too slow for a real-time game.
  2. Processing Power: The ESP32-C3 struggled to handle the NeoPixel lighting and Bluetooth scanning simultaneously, which affected the frisbee’s performance.

Switching to the Raspberry Pi Pico

Given these limitations, I swapped the ESP32-C3 for a Raspberry Pi Pico. The Pico is slightly larger but still lightweight enough for the frisbee. Despite being bulkier, it has enough processing power to manage both the lighting effects and accelerometer data, making it a better fit.

Building the NeoPixel Frisbee

With the Pico, I assembled the components carefully, balancing the batteries and distributing the weight to keep the frisbee’s flight stable. Here’s what went into the build:

  • NeoPixel Ring: This goes inside the frisbee to create the light effects.
  • Accelerometer: Used to measure the frisbee’s speed and intensity in motion.
  • Bluetooth (for future use): While the Bluetooth tags didn’t work as planned, there’s still potential for future enhancements with Bluetooth-enabled devices.

A voltage booster was added to ensure the power requirements were met for the NeoPixel ring.

Coding the NeoPixel Effects

The Pico runs a simple script that changes the LED colors based on movement. When the frisbee is thrown, the lights start red, transitioning to a bright white as the frisbee reaches higher speeds, creating a “white hot” effect. This adds a dynamic visual cue to the speed and power of each throw, making the frisbee look like it’s on fire as it spins through the air!

Join the DIY Community!

If you’re excited to dive into similar projects, check out my free Patreon page. There, you can access free 3D printing files, STL files for custom parts, and ready-to-go code. Join the community and let’s create some amazing stuff together.