A smart, programable Fidget Spinner with the following features:

* JavaScript programmable
* 10-Pixel RGB PoV display (using APA102 LEDs)
* Spin count / speed detection using a magnetic latch
* Using Nordic Semiconductor nRF52832 chip
* Bluetooth Low Energy (BLE) communication with smart phone / computer for controlling the display, reading the spin count and programming
* Over-the-air firmware upgrades
* Fully open-source


They have several improvements over the first version:

      1. 5V charge pump for driving the LEDs (TPS60150)
      2. Power for LEDs and hall effect sensors controlled by the CPU
      3. Ground copper pour under the board
      4. Board is now truly symmetric – first version was slightly asymmetric
      5. Tighter grip of the bearing

These improvements give consistent light output from the LEDs, and enable saving power while the beacon in stand-by mode. The first prototype used about 15mA in standby (4mA by each hall-effect sensor, and another 7 mA by the LEDs), causing the CR2032 batteries to last only for a few hours.

    • Soldering the PCB and trying to run it revealed some issues with the new version. The most prominent one was switching the Enable and Flying Capacitor pins of the 5V Charge pump (TPS60150), which basically rendered it useless, as it was feeding the LEDs around 2.5V instead of 5V. Also, pouring copper below the antenna of the BLE module was not a good idea, as it reduces its performance. I also used the wrong footprint for the Logic Level converter (MC74VHC1GT125), so I had a hard time soldering it.

I designed a third prototype version of the board to address these issues, and sent it to the fab. meanwhile, I decided to try hacking around the issues by hacking the board:

You can see how I soldered the capacitor directly to the relevant pin of the TPS60150 (green arrow), and also cut the original trace leading to that pin (the one that goes below the capacitor). I also added a pull-down resistor to the Enable pin (red arrow). This was done in order to ensure the charge pump will start in sleep mode. Otherwise, with the pin floating, it would randomly start before the CPU had a change to pull the line low, causing the LEDs to randomly flicker, sometimes drawing so much power that the CPU could not even start correctly.


About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.