POV Arduino Fidget Spinner
by seanhodgins in Circuits > Arduino
17045 Views, 181 Favorites, 0 Comments
POV Arduino Fidget Spinner
![IMG_1530-Edit-2.jpg](/proxy/?url=https://content.instructables.com/F8B/ILUH/J48PY7VB/F8BILUHJ48PY7VB.jpg&filename=IMG_1530-Edit-2.jpg)
![Intro.gif](/proxy/?url=https://content.instructables.com/F7C/W1CC/J48PY7YS/F7CW1CCJ48PY7YS.gif&filename=Intro.gif)
I've always wanted to make a persistence of vision device, but never got around to making the usual clock or desktop display. I decided to take it to the next level and install it on a Fidget Spinner. Why not right?
I designed all aspects of the project. It is an Arduino using the SAMD21 MCu, a shift register controlling the LEDs, and some Hall Latches and magnets for encoding the spin. I wrote a simple program to have some fun with it, but I will continue to improve it.
This project required knowledge in surface mount soldering, unless you somehow managed to get me to send you a completed board(Maybe!)
You also need to know how to install a bootloader on the SAMD21(I have another instructable on this) and how to program the firmware using the Arduino IDE. Of course you can just write your own programs if you so choose!
This project is on HackADay.io and GitHub
Watch the Video!
![Arduino POV Fidget Spinner - DIY!](/proxy/?url=https://content.instructables.com/FA3/LLR1/J48PY995/FA3LLR1J48PY995.jpg&filename=Arduino POV Fidget Spinner - DIY!)
Get the Parts/Tools!
![IMG_1553.jpg](/proxy/?url=https://content.instructables.com/FVL/5MIK/J48PY9FX/FVL5MIKJ48PY9FX.jpg&filename=IMG_1553.jpg)
![Parts.gif](/proxy/?url=https://content.instructables.com/FGD/PTMI/J48PY90B/FGDPTMIJ48PY90B.gif&filename=Parts.gif)
Parts
- Body - http://shpws.me/OHM2
- Bearing Caps - http://shpws.me/OHM0
- Digikey Parts List - http://www.digikey.ca/short/304qbf
- Batteries LIR2032 - http://www.canadarobotix.com/battery-chargers/1436-li-ion-rechargeable-coin-cell-battery-3-6v-lir2032-20mm-lithium-ion
- Self Tapping Plastic Screws - https://www.mcmaster.com/#99397a182/=187bi6c
- A 608 Bearing
- PCBs. - I get mine from PCBWay(sign up and save $5) Files available on GitHub: https://github.com/IdleHandsProject/POV_Fidget
Materials
- Solder Paste
- Solder Wire
Tools
- Soldering Iron - Hakko FX888D is what I use.
- Cheap Toaster Oven
- Torx Screwdriver and ESD Safe Tweezers
Solder on Components(Warning Surface Mount!)
![SolderPaster.gif](/proxy/?url=https://content.instructables.com/F4U/EW92/J48PY93I/F4UEW92J48PY93I.gif&filename=SolderPaster.gif)
![PlaceChip.gif](/proxy/?url=https://content.instructables.com/F1I/3Y2N/J48PY817/F1I3Y2NJ48PY817.gif&filename=PlaceChip.gif)
![LEDsPOP.gif](/proxy/?url=https://content.instructables.com/FND/PNBT/J48PY801/FNDPNBTJ48PY801.gif&filename=LEDsPOP.gif)
Add the solder paste, either by hand or with a stencil. I did it by hand as per usual for low quantity boards.
Solder on Bottom Components
![SolderHand.gif](/proxy/?url=https://content.instructables.com/F1D/MCUF/J48PY89R/F1DMCUFJ48PY89R.gif&filename=SolderHand.gif)
The bottom components can all be done with a soldering iron. They are easy enough. The USB port is a bit tricky though.
Program the Board
You will need to add the Arduino bootloader to the board using the programming header. I've shown this in a previous instructable of mine and will not be detailing it here. It is covered in many places online.
After the bootloader is on(I use the Sparkfun SAMD21 Bootloader) you can program the Arduino Fidget Spinner using the program I have pieces together/written.
Check out my other instructable for more info on this: https://www.instructables.com/id/Arduino-YouTube-Play-Button/
Test Out the Board
![Blinking.gif](/proxy/?url=https://content.instructables.com/FTA/QON7/J48PY7YO/FTAQON7J48PY7YO.gif&filename=Blinking.gif)
Lets see those LEDs blink!
Install Batteries and Firmware
![Arduino.jpg](/proxy/?url=https://content.instructables.com/FZV/Z71S/J48PY7VO/FZVZ71SJ48PY7VO.jpg&filename=Arduino.jpg)
Now its the scary time to put in the batteries and install the firmware using the Arduino IDE. Goodluck, hope no magic smoke comes out!
The Arduino Firmware requires a few libraries. I have included everything in a zip file. There is also a GitHub Repo with all of the files and info: https://github.com/IdleHandsProject/POV_Fidget
Downloads
Assemble Fidget Spinner
![MagnetInstall.gif](/proxy/?url=https://content.instructables.com/FWH/G5NZ/J48PY804/FWHG5NZJ48PY804.gif&filename=MagnetInstall.gif)
![Assemble.gif](/proxy/?url=https://content.instructables.com/F69/WNOE/J48PY7X3/F69WNOEJ48PY7X3.gif&filename=Assemble.gif)
First you need to install the small magnets into the cap. Only 2 are required and they need to be right next to each other, with opposing polarities. (NS/SN)
Next Take the circuit board and install it in the 3D printed parts from Shapeways.
Use the plastic threading screws to mount it. Easy enough! Make sure its turned the correct way, the USB only goes through one place.
Spin!
![RPM.gif](/proxy/?url=https://content.instructables.com/F5U/E8RU/J48PY85Z/F5UE8RUJ48PY85Z.gif&filename=RPM.gif)
![SpinCount.gif](/proxy/?url=https://content.instructables.com/FRI/RN0H/J48PY8GI/FRIRN0HJ48PY8GI.gif&filename=SpinCount.gif)
![HelloWorld.gif](/proxy/?url=https://content.instructables.com/F3H/CXO4/J48PYB1B/F3HCXO4J48PYB1B.gif&filename=HelloWorld.gif)
Look! It works!
It looks a lot better in person, the camera causes the skipping of the lights, which is not visible to the human eye.
The program I wrote has a number of different modes like RPM and Spin Count. It also goes to sleep when it sits for too long(25 seconds) so it doesn't much power. You need to press the red button to wake it up. You press the blue button to change the current menu option. Some write things, others display metrics.
Support These Projects
![Youtube200.jpg](/proxy/?url=https://content.instructables.com/FR7/OVP8/J48PYC1X/FR7OVP8J48PYC1X.jpg&filename=Youtube200.jpg)
![Patreon_200_Black.jpg](/proxy/?url=https://content.instructables.com/F9Z/UP22/J48PYBZ1/F9ZUP22J48PYBZ1.jpg&filename=Patreon_200_Black.jpg)
![HAD_200_Black.jpg](/proxy/?url=https://content.instructables.com/FMB/Q52Q/J48PYBX2/FMBQ52QJ48PYBX2.jpg&filename=HAD_200_Black.jpg)
![instagram200_black.jpg](/proxy/?url=https://content.instructables.com/FJX/PRMY/J48PYBY2/FJXPRMYJ48PYBY2.jpg&filename=instagram200_black.jpg)
![oshw_200_black.jpg](/proxy/?url=https://content.instructables.com/FTE/8WCW/J48PYBY3/FTE8WCWJ48PYBY3.jpg&filename=oshw_200_black.jpg)
![Twitter_200_Black.jpg](/proxy/?url=https://content.instructables.com/FOJ/07NF/J48PYBZ2/FOJ07NFJ48PYBZ2.jpg&filename=Twitter_200_Black.jpg)
If you would like to support my projects, Consider subscribing to my YouTube, becoming a Patron, and following on Instagram.
Be informed the moment a new project comes out!