Introduction: Fidget Spinner MIDI Controller
Let's hack a fidget spinner and turn it into a whirling dervish of sound making!
Step 1: Materials Needed
Tools
Velcro
Scissors
Hardware
Fidget Spinner!
Bluetooth enabled computer
LightBlue Bean
https://www.adafruit.com/product/2732
CR2032 Coin Cell Battery
https://www.sparkfun.com/products/338
Software
GarageBand (or other BLE MIDI controlled software)
Bean Loader
https://punchthrough.com/bean/docs/guides/getting-started/os-x/
Arduino version 1.6.8
https://www.arduino.cc/en/Main/OldSoftwareReleases
Animoog
https://www.moogmusic.com/products/apps/animoog-0
LightBlue Explorer
https://itunes.apple.com/us/app/lightblue-explorer-bluetooth-low-energy/id557428110?mt=8
Step 2: Development Overview
For this project, you will need to use an older version of the Arduino IDE (1.6.8) in conjunction with the "Bean Loader" from Punch Through, to load the sketch onto the LightBlue Bean.
See the provided links on the "Materials" step.
Step 3: Zip File of Arduino Sketch
Download and unzip this sketch.
Open it in version 1.6.8 of the Arduino IDE
Attachments
Step 4: Turn on Bluetooth, Configure Bean Loader and Arduino IDE
Turn on Bluetooth in your System Preferences.
Open the Bean Loader, and when it asks you to Associate with Arduino, make sure you choose Arduino 1.6.8 - if you have multiple versions of Arduino on your computer.
Open Arduino 1.6.8. Set the Board to LightBlue Bean+ (2.0.0).
Set the Port to /dev/cu.LightBlue-Bean.
Set the Programmer to Bean Loader.
Step 5: Verify and Upload the Arduino Sketch
Click the arrow at the top of the Arduino window to compile and upload your code to the Bean Loader.
Step 6: Load Program Sketch in Bean Loader
In the Bean Loader, connect to your Bean.
Right click on the name and choose "Program Sketch"
Step 7: GarageBand Zip File
Download, unzip, and open the GarageBand file.
Attachments
Step 8: Garageband Setup
Take note of the MIDI preferences within the GarageBand, which need to be reset occasionally, in order for the LightBlue Bean to connect and send its MIDI signals via BLE to the application.
Step 9: Final Steps and Troubleshooting
Adhere LightBlue Bean with velcro to the Spinner.
Verify connectivity to GarageBand.
If you are using an iOS platform device, the LightBlue Explorer app is helpful in discovering and interrogating nearby BLE peripherals (such as the Bean).
Spin It!
Try having the bean attached at different angles to the fidget spinner.
Try spinning in different directions and speeds.
Experiment with different instruments within GarageBand
Step 10: Arduino Sketch
You can peruse this gist of the AccelMIDI sketch, and check out the commented out lines, which can provide hints of possible values to play with.
Step 11: Next Steps
Try different (BLE enabled) MIDI instruments, such as Animoog on iOS.