Smart Poi Overview

Smart Poi is currently getting a major upgrade (2024). Check out the blog for updates, or sign up below to get updates on the project – be the first to hear when we finally reach the crowd funding stage!


I started making my own poi many years ago. The first project I made was a single colour version soldered onto stripboard. I used 30 LED’s on each side and an Atmega 328 for the brains. The LED’s had to be charlieplexed together – needless to say that was a lot of work, and I soon moved on to full colour LED strips.

After a brief time trying WS2811/2 LED strips, I discovered the APA102 version, which I am using today. The APA102 strip is a 4 wire protocol, with clock speed wire which means that it can be driven faster – fast enough for POV. For the processor I use ESP-01, Arduino Nano, or D1 Mini. All of these are really cheap, and the Nano and D1 Mini are breadboard friendly for prototyping.

Make your own:

I am going to be going through the steps one by one:

  1. Arduino Nano FastLED PC emulation:
    This is using software on a PC to emulate the spinning poi – without having to actually spin the poi all the time. Very useful for testing.
  2. D1 Mini FastLED PC emulation:
    Same as with the Nano only this time with Wifi!
  3. Android App to stream to ESP8266:
    Offload the processing to a powerful smartphone and get so many features like beat reactivity, timeline, computer generated patterns, type in text and have it displayed instantly on the poi
  4. Full smart poi:
    I share the full PCB – needed for this higher powered version.
    Also the full code necessary for all functionality.
  5. Magic Poi – the future

What do you need for this?

Please if you are going to be following along with the project consider supporting my site hosting charges by purchasing using the links below. These are all products that I have purchased myself and am using right now.

There is a more comprehensive list of components on the SmartPoi circuit page, along with pcb and breadboard design setup.

Time to get started!