Skip to content

markfickett/spinner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

Automatic Fidget Spinner

Pulse an electromagnet to automatically turn a fidget spinner; and display RPM on a 7-segment LED display.

Spinner in action

Parts List

The spinner draws 1.5A max, and about 200mA when the coil is off. The LED segment anodes can be powered directly from 1K ohm resistors from the ATMega, but that renders them somewhat dim. Using a transistor to provide 5v to the (common) anode pin keeps the per-pin current low while providing more power to the LED segments.

You can add a bypass or filter capacitor by the coil, microcontroller, and/or power supply; I found it didn’t make a difference with my PSU.

Circuit Diagram

Circuit Diagram

(The diagram above does not show transistors for the LED segment anodes.)

Bare ATMega Programming

Burning a bootloader and uploading sketches to a bare ATMega328p using the Tiny AVR programmer follows SparkFun’s and Arduino’s documentation. Additional notes:

  • Connect the Tiny AVR programmer to the DIP on a breadboard as pictured.

  • Upload sketches using Sketch > Upload using Programmer. The normal upload button will not work.

    • An external crystal is required if fuses are not already set for an internal clock.

    • Empirically, it seems the external pullup resistor and the AREF-side ground and AVCC are not required for uploading sketches.

  • ATMega168/328 Arduino Pins

Spinner

This spins a 3D-printed spinner designed and printed by Jesse Johnson; see it in OnShape (login required). It uses a 22m bearing and 3/4" balls.

About

Automatically rotate a fidget spinner using an Arduino-powered electromagnet.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Other 100.0%