The world's simplest, most powerful smart hula hoop controller.
OpenHoop: Revolutionizing smart hula hoop! Unleash your creativity and redefine hula hooping with OpenHoop! This open-source project seamlessly integrates cutting-edge technology with artistic expression. Design captivating LED effects and pixel art directly on your hula hoop, leveraging Adafruit NeoPixel LEDs and Bluetooth HID (Human Interface Device) protocol. With energy-saving features, OpenHoop fosters collaboration and innovation within the community. Join the OpenHoop movement today and redefine hula hooping!
- Versatile Effect Utilities: Access sound levels, gyroscope readings, and more to enhance LED effects' flexibility.
- Pixel Art LED Images: Display visually striking pixel art images as part of LED effects.
- Diverse LED Effects: Choose from a library of pre-built LED effects or create custom patterns.
- Bluetooth Connectivity: Control LED effects via Bluetooth using a mobile app, leveraging BLE HID protocol.
- Energy-Saving Mode: Optimize battery usage with customizable energy-saving levels for extended performances.
- Arduino Nano 33 BLE Sense Rev2
- x2 High-Efficiency Output 5V 5A Mini560 Step-Down DC-DC Converters
- x6 3000mAh 14500 3.7V Rechargeable Li-Ion Batteries
- 7.4V 8.4V 2S BMS PCM Charge/Discharge Protection Board
- Voltage Tester Sensor Measurement Detection Module
- DC-DC Step-Up Converter Booster Power Module
- Adafruit NeoPixel LED Strip (2 meters, 144 LEDs per meter)
- USB 3.1 Type-C Connector (24 Pins Female Plug Socket)
- Assorted Cables and Connectors
- 6.3V 4000 Capacitor (optional)
- Ceramic Capacitors (optional)
- Male and Female Butt Socket Electric Motorcycle Wire Connector (optional)
- HDPE Tubing (7/8 inch, 2 meters)
- Polypro Connector for Tubing (7/8 inch)
- Stainless Steel Paddle Spring Buckle
- Basic Hand Tools
- Soldering Iron (optional, for advanced assembly)
Disclaimer: I am not an electronics engineer or expert. This diagram represents my personal setup and what worked for me. The intention is to ensure a minimum of 144 pixels due to the LED image definition, rechargeability, and a runtime of at least 2 hours. I invite the community to improve the design to work with the same OpenHoop Arduino Nano 33 BLE project and Adafruit NeoPixel LED density.
The visual representation of the hardware components and their connections can be found here.
- PlatformIO
- Clone this repository:
git clone https://github.com/angelcamelot/OpenHoop.git
- Open the
OpenHoop
folder in PlatformIO. - Install the required libraries using the PlatformIO Library Manager.
- Connect your hardware and upload the code to your microcontroller.
Follow these steps to set up and use OpenHoop for your hula hoop performances:
- Power on the Hula Hoop.
- Connect to the OpenHoop BLE device using a compatible mobile app.
- Customize LED effects, colors, and energy-saving settings.
- Enjoy the mesmerizing light display during your hula hoop performance!
Use the following commands to customize LED effects:
EffectType
: Change the LED effect (Rainbow, Fire, Pulse, etc.).SolidColor
: Set a solid color using RGB values.EnergySavingMode
: Adjust energy-saving mode levels (0 to 3).
Documentation contains detailed guidance for utilizing OpenHoop.
If facing issues, refer to the troubleshooting section in the code or create an issue on the GitHub repository.
- Conduct thorough testing, including extensive trials with pixel art images.
- Enhance documentation to provide comprehensive guidance and clarity.
- Expand support for additional LED effects to offer more creative options.
- Refine energy-saving algorithms to optimize battery usage.
- Improve the mobile app interface for a smoother and more intuitive user experience.
We're excited to make this an open-source project! The more creative minds we have on board, the cooler, more feature-rich, and downright awesome this project can become.
Here's how you can contribute:
- Fork the repository: This creates your own copy of the codebase that you can modify.
- Make your changes: Let your coding magic flow! ๐ช Add new features, fix bugs, or improve documentation. We appreciate all contributions, big or small.
- Submit a pull request: Share your brilliant additions with the community. We'll review it carefully and merge it if it aligns with the project's goals.
Contributing Guidelines (Highly Recommended):
- Check out the CONTRIBUTING.md file (if it exists) for more detailed instructions and coding style preferences.
- Consider running the tests locally before submitting your pull request to ensure everything works smoothly.
We appreciate your contributions and can't wait to see what you come up with!
This project is licensed under the MIT License. See the LICENSE.md file for details.