DIY RGB-LED Glow Poi With Remote Control




About: German CS Student


Hello Everyone!
This is my first guide and (hopefully) the first one in a series of guides on my quest to create an open-source RGB-LED visual poi. To keep it simple first, this is going to result in a simple led-poi featuring remote control via IR and all kinds of colour-change-animations.

Keep in mind: This kind of poi (without IR-remote) can be bought for around 20$ on Amazon, so this is not worth the effort financially - DIY for the experience, not the result.

I hope people will contribute animations to the GitHub of this project resulting in a great variety of animations for you to choose from and therefore giving this version some more value compared to the over-the-counter ones.


First of all a few safety warnings. Only attempt this build if you know what you are doing. I am not an electrical engineer, I am not to be held liable if something goes wrong. A few dangerous steps/materials are involved and you should be aware of them:

Lipos might be dangerous. Especially soldering, shorting and storing LiPos comes with a variety of dangers. Even if the build goes well, wires might come loose, the cells might get damaged or one of the no-name Chinese components might fail and cause a short. Don’t let them charge unattended, best use an external charger to charge them up, remove the lipo for storage & transport (best is to store them in one of those „lipo bags“ I believe).

The pois are subject to some significant forces when performing with them. If you hit someone or something with them or a print fails & parts fly around people might get hurt.

Use common sense, be aware of the dangers, read up on your own if you are unsure. You get the idea.

If I haven’t spooked you, enjoy the build & have fun with them.

Step 1: Material & Tools

Bill of Materials

First lets take a look at what we need for this build. I recommend to buy most of the stuff at AliExpress if you have the time to wait. I only found the lipos at HobbyKing though.


Qty Name Source Comment
2 TP4056 Lithium Battery Charger Module, AliExpress
2 Turnigy nano-tech 1000mah 1S 15C Round Cell Hobbyking
2 2-5V to 5V Boosting Step Up Power Supply AliExpress
MT3608 booster circuit fits as well
2 ArduinoPro Mini ATMEGA328P 5V 16MHz, AliExpress
2 1838 940nm IR-Reciver Diode, AliExpress
1m APA102 LED Strip (144 or 96 LED/m), AliExpress You need about 2x10 Leds of length
2 220uF 10V Capacitor AliExpress
1 IR Remote AliExpress


Name Recommendation Comment
Soldering Iron QUICKO T12
Hot Glue Gun
Computer with Arduino IDE
FTDI USB ChipFT232 alternative: Arduino Uno
Wirestrippers optional
Wirecutters Knipex Cuttersoptional
Breadboard + Jumpers optional
Arduino Uno optional


Name Comment
Thin Wire 24-28AWG
Soldering Lead
Shrink Tube
Pin Headers (Male&Female) or small connector
Clear 3D-Printing Filament I used PLA but Nylon might give stronger results
Hot-Glue Sticks
zinc flux & solder or a metal brush/sanding paper Sanding Paper worked fine for me
Some cord for straps I used simple plastic chord but you might want to get creative

Step 2: 3D Printing

Since this takes the longest time, we’re going to start by printing all parts for this build twice with support placement „everywhere".

Head over to Thingiverse, download the STL files and slice with your favourite slicer.

I used clear PLA at 0.28 resolution which worked fine but if you can, you might want to use a stronger material to be on the safe side and prevent any malfunctions during spinning.

The result is more opaque than transparent which is good for us since the poi acts as a diffusor and lights up nicely without single LEDs visible. After the prints are done, leave the support material on and screw & unscrew the two halves a bunch of times. The support material provides a better grip and once they fit well together, you can remove all supports.

Step 3: Programming: Preparation

To compile the project we need to install the FastLED and IRremote Library.
Both can be found using Arduino IDE’s build in Library Management. To upload sketches to the Arduino pro mini, you need to use the FTDI Chip.

Additionally you need the source-code for this project which can be found over on GitHub.

Step 4: Programming: Edit the Code

I used a spare Arduino Uno for convenience but you can just use one of the Arduino Pro Minis.

Wire up the circuit shown in the picture above using one of the infrared-receiver chips, upload the IRrecvDemo example sketch to your Arduino and open up the serial monitor.

Then use your remote and press the buttons you want to use. Every button-press should display a certain hex-number. If you hold dow the button, a different hex-number should repeat.

First, copy the value of the repeating hex-number and change BTN_REPEAT to that value. Then work through the defines in the code and change all to match your remote. Make sure that all values must begin with 0x to be recognized as hex-number - so only change the highlighted part of the number.

Step 5: Programming: Upload Code

Compile the code for the poi and wire up the Arduino pro mini with your FTDI chip. Chose Arduino pro mini as device, the serial-converter as programmer and upload the code to both Arduinos.

You can easily upload the code without soldering wires/headers to the Arduino by sticking it in a breadboard as shown in the picture above. Make sure you set the voltage jumper on your programmer to 5V before connecting the programmer to your PC.

Step 6: Soldering: Overview

Next we are going to solder the components together.
Use the diagram above as a reference if anything is unclear.

Since space is limited, we want to keep the wires as short as possible, but I recommend to first solder on longer wires and then measure the correct length using the case and cut off any excess.

Step 7: Soldering: the Power Module

First solder wires to the B(attery) and OUT(put) pads of the TP4056.

Next place the TP4056 module in the bottom section of the 3d-printed-case, put the battery wires in the small channel leading up to the battery hole and cut off any excess wire.

Then place the buck-boost module beneath the TP4056 module and cut off the output wires so that you can easily solder them to the input wires of the buck boost module.

Take everything out of the print and solder two male pin-headers or the male part of your connector to your battery wires and secure them with some heat-shrink tubing.

Then solder together the output pins and input pins of both modules

Step 8: Soldering: Battery

Next we are going to solder wires and connector to the battery.

Make sure to solder quickly and precise or the heat from soldering will damage your cells. Be carefull not to short the lipos by mistake.

Soldering wires to the lipo can be tricky since the contacts are made from aluminium. You can either use special zinc flux & solder, a metal brush or sanding paper to clean any oxide off the contacts. Then solder on wires and isolate them using heat-shrink-tube.

Next we insert the battery into the 3d-printed case, measure the length of the wires, leaving a bit to spare, take it back out and cut off excess wires.

We can then solder on female pin-headers or our female connector connector to the wires and once again, isolate them using heat-shrink.

Step 9: Soldering: Arduino, Leds and Sensor

Next we have to wire up the Arduino, IR-Sensor and LED-strip

The Arduino gets wires for VCC and GND

The Infrared-Sensor is a bit more tricky: First we need to connect the capacitor as close to the sensor as possible. Since the housing of the sensor is grounded, we simply solder the capacitors negative leg to the housing the and the positive leg to VCC wire. Next we wire up all three pins and isolate them using heat-shrink-tube.

For the LED-Strip we first cut off a piece of strip with 10 LEDs. Then we solder wires to all 4 contacts.

Step 10: Soldering: Putting It All Together

The next step is to trim the wires as short as possible and connect all modules together.

We start by trimming the Arduinos power cable by placing it and the boost-module inside the case and trimming the power cable to length.

Next we repeat the same for the Infrared-Receiver.
The cables for the LED Strip can be trimmed without measuring since we have enough space to keep them a bit longer.

We can then solder the infrared-receivers power cables directly to the pins of the Arduino and its data-pin to pin 11 of the Arduino.

Next we solder the data and clock cable of our led-strip to the Arduino. Connect the clock cable to pin 5 and data cable to pin 6.

The only thing left to do is connect both the Arduinos and the led strips power cables to the output of the boost module.


Since we should now be done soldering we can plug in the battery and test everything. We want to make sure everything works fine, since after the next step debugging is going to be a nightmare.

Step 12: Assembly

Now we want to fix everything inside the case using hot-glue.

We start with the TP4056 module

then glue in the boost module

followed by the Arduino

finally the IR-receiver

and the LED-strip

Step 13: Add a Strap

I didn't go all out on this one and I would recommend you to get creative and invest a bit more time and effort than I did. I found this instructable which I am going to add in the future.

For now, I just used some chord I had laying around, fed it through the 3d-printed slots and tied a knot.

Step 14: Done!

And we're done. Repeat all steps until you have 2 and you're ready to go for a spin.

I hope you had fun following along.
Thank you for reading :)

Colors of the Rainbow Contest

This is an entry in the
Colors of the Rainbow Contest



    • Sensors Contest

      Sensors Contest
    • Colors of the Rainbow Contest

      Colors of the Rainbow Contest
    • Frozen Treats Challenge

      Frozen Treats Challenge

    12 Discussions


    6 days ago

    Very impressive. I was curious how you got that time-lapsy static photograph of the POI light in "motion" making lit circles. I want to make a similar photograph for my Aluminoids project (see but don't know to turn the video into a static image like yours. If you can't teach me in the comment response, could you at least point me in the right direction? Thanks!

    1 reply

    Reply 7 hours ago

    Hey, you mean the actual static pictures?
    Those are just taken with a tripod and long exposure times.
    Not sure, what camera you might need. I used a DSLR but I guess most "simple" cameras nowadays support manual settings and even some apps exist for that kind of setting. Just google for "Long-Time Exposure Photograhpy"

    If you're referring to the animated gifs, those were videos taken with also the slowest possible shutter-speed and then I enhanced the effect using after-effects "echo" effect, blending something like 2 or 3 frames together with about 20% feedback and I think add or add negative as mode.


    13 days ago

    Very nice! I'd recommend using a LiPo battery that already has wires or soldering tabs attached, as this reduces the likelihood of damaging the battery by overheating. And zinc fluxes are highly corrosive, so they should be washed off after using; I personally recommend not using them for electronics in general. Finally, you might want to define POI for people who do not understand what it means.

    2 replies

    Reply 12 days ago

    Hey, thanks for the feedback, I'll incorporate it. For the wired LiPos: Do you know any LiPos with those or smaller dimensions that are already wired? I couldn't find any which is why I used these


    Reply 4 days ago

    No, I don't know of any in the same package shape/size that are pre-wired. Cool project nonetheless!


    Question 12 days ago

    I noted you didnot say which 3D printer you used. I don't own one (yet) and would like to know what you used so I can formulate some ideas as to which I may get. Thanks!

    1 answer

    Answer 12 days ago

    I can't give too much of a recommendation there. I'm using a Maker Select v2.1, which prints pretty well but otherwise isn't to much fun to use. Basically, it needs recalibration very often and since I don't print too much, that means having to spend almost an hour calibrating this thing if you want to print something after a month or so. Which is very annoying and keeps me from using it more, therefore I would not recommend it.

    I've heard very good stuff about the Cetus 3D. Especially the Linear-Rails are supposed to make it more or less calibration-free and especially not loose calibration every time it is touched. I never owned or tried one myself though.

    Best recommendations are usually through Reddit. Check their monthly recommendation-mega-thread to get an idea of what's considered good bang-for-buck and popular (popular means there are a lot of mods available & no unkown flaws)


    12 days ago

    The .pdf download does not seem to work for some reason. Using chrome browser on Windows.

    1 reply

    Reply 12 days ago

    I noticed, not sure how I can fix that

    ChaBuku AlexB

    13 days ago

    Really well made Instructable. Great amount of clear details in your photos. I look forward to giving this one a shot, though I'll probably try to adapt it to go on a dragon staff. :)

    1 reply
    MilanDerChaBuku AlexB

    Reply 12 days ago

    Thanks! If you are going to use a similar 3D print hit me up, and I can provide you with the Fusion360 model. Maybe you can create a remix of one half making them kind of interchangeable. I also thought about making caps without holes just as juggles/fiddle. Would be nice to create a system of compatible parts, making the "techincal" part multifunctional.