DIY RGB-LED Glow Poi With Remote Control

17,233

77

19

Introduction: DIY RGB-LED Glow Poi With Remote Control

About: German CS Student

Introduction

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.

Disclaimer

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.




Components/Electronics

Qty Name Source Comment
2 TP4056 Lithium Battery Charger Module Amazon.com, 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 Amazon.com, AliExpress
2 1838 940nm IR-Reciver Diode Amazon.com, AliExpress
1m APA102 LED Strip (144 or 96 LED/m) Amazon.com, AliExpress You need about 2x10 Leds of length
2 220uF 10V Capacitor AliExpress
1 IR Remote AliExpress




Tools

Name Recommendation Comment
3D-Printer
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


Consumables

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.

Step 11: TESTING TIME!

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 :)

Arduino Contest 2019

Participated in the
Arduino Contest 2019

Be the First to Share

    Recommendations

    • Pocket-Sized Speed Challenge

      Pocket-Sized Speed Challenge
    • Audio Challenge 2020

      Audio Challenge 2020
    • Maps Challenge

      Maps Challenge

    19 Discussions

    0
    paulfecht
    paulfecht

    Question 1 year ago

    I got most of it hooked up but am having trouble connecting with the Arduino Pro Min, it's the cheap version found on Alibaba...went here
    https://www.ftdichip.com/Drivers/D2XX.htm
    to get the correct driver... did all the "read me" doc talked about but still no device recognition.
    Also tried this:
    https://www.youtube.com/watch?v=toLHGj7DxQU
    I'm sure it's the device as the cables were swapped and it is recognizing my Arduino Uno. I'm assuming it is a driver issue. Getting close. Just needing some last little help. Best, Paul

    p.s. It might be the drivers for the FTDI programmer....

    Screen Shot 2019-07-10 at 9.39.17 PM.pngIMG_7930.jpg
    0
    MilanDer
    MilanDer

    Answer 1 year ago

    Im not sure if your "cabelig" is correct. Maybe use jumper wires to connect the two - you want to connect RX to TX and TX to RX.

    I've also experienced this issue a lot of times. Mostly happens when you are connected but have some little thing wrong. Things I did to resolve this:
    - Make sure cabling is correct.
    - Hold down reset-button when starting to upload and wait untill the programmer waits for the arduino, then let go.
    - Make sure settings are correct. The Chip at Aliexpress says "328P" but double check yours is too ad try 8MHZ instead of 16Mhz
    - If your on a USB-C macbook, try a different dongle.
    - While this occurs, plug out the programmer after almost every try. Sometimes it gets "stuck" eve though everything else is correct.

    ... and then I realised what you're actually on about :D
    You might want to uninstall the driver for the FTXX. The comment for OSX on the link you sent says "If using a device with standard FTDI vendor and product identifiers, install D2xxHelper to prevent OS X 10.11 (El Capitan) claiming the device as a serial port (locking out D2XX programs)." ... but thats exactly what we need.

    0
    paulfecht
    paulfecht

    Reply 1 year ago

    Unfortunately I've spent the entire morning trying to get it to work.

    List of drivers and sites that just won't work:
    http://www.wch.cn/download/CH341SER_MAC_ZIP.html
    https://www.youtube.com/watch?v=GeBz2o-syaI
    https://www.electrodragon.com/w/File:Larduino_HSP_v3.6c.zip
    https://forum.arduino.cc/index.php?topic=572510.0
    https://learn.sparkfun.com/tutorials/how-to-install-ftdi-drivers/all
    https://www.ftdichip.com/Support/Documents/AppNotes/AN_134_FTDI_Drivers_Installation_Guide_for_MAC_OSX.pdf

    Quite discouraged at this point. I know this isn't your problem but I'm running into problems after problems with trying to communicate with the: Wavgat Pro Mini atmega328P 5V 16 MHz Arduino Nano , FTDI High Quality FT232RL FT232 FTDI USB 3.3V 5.5V to TTL Serial Adapter Module Mini Port devices that I bought from AliExpress. I've checked the wiring, the cables, there is just no connecting to it. I'll head over to the Windows side and give that a try. Also going to try the Arduino Uno as it is larger and it IS recognized as a USB serial port.

    Question: I've got the Aruduino Uno setup and it seems to be working.... when bringing the "+" voltage from the voltage booster to the UNO should I go to Vin or to 3.3Volts. On the Pro Mini we connected two wires to Vcc.... what is the equivalent on the UNO? Ok I got that question answered, it goes from the boost module "+" to Vin on the UNO.

    Thanks.

    Its_working_with_Arudino_UNO.jpg
    0
    MilanDer
    MilanDer

    Reply 8 months ago

    Sorry, I only saw your response right now...
    If you're using a 3.3V Arduino that might be an issue further down the line... the LEDs work with 5V and the circuit is meant to power everything from the same booster, therefore 5V.

    If you still need assistance, feel free to contact me through the methods provided on my website.

    0
    Aluminoids
    Aluminoids

    1 year 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 http://aluminoids.com/videos/discoswing.mp4) 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!

    0
    MilanDer
    MilanDer

    Reply 1 year 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.

    0
    Aluminoids
    Aluminoids

    Reply 9 months ago

    Just saw your response. Thanks for it! I hope to put it to use. DT (aluminoids.com) In the meantime, you can see my particular application if you're curious. I call it the disco light, or the iCan Party Light, depending on where in my website you are. http://aluminoids.com/disco.html

    0
    paulfecht
    paulfecht

    1 year ago

    Great instructable, I'm curious why I get the error message on the attached image when I try an compile ( i.e. use the check mark) in the Arduino IDE. On a Mac by the way.
    Thanks

    Screen Shot 2019-07-09 at 3.41.45 PM.png
    0
    MilanDer
    MilanDer

    Reply 1 year ago

    Hey, I get exactly the same, the message is just to tell you what version of fastLED your compiling. Check out https://en.wikipedia.org/wiki/Directive_(programming) to learn more - basically the developer of the fastLED library added a message to the code that gets output to the compiler output/log telling you what version you are using. Nothing to worry about & thanks for trying this build

    0
    jeff.verive
    jeff.verive

    1 year 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.

    0
    MilanDer
    MilanDer

    Reply 1 year 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

    0
    jeff.verive
    jeff.verive

    Reply 1 year ago

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

    0
    JackB116
    JackB116

    Question 1 year 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!

    0
    MilanDer
    MilanDer

    Answer 1 year 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) https://www.reddit.com/r/3Dprinting/comments/bvgtb1/purchase_advice_megathread_what_to_buy_who_to_buy/epp2ozt?utm_source=share&utm_medium=web2x

    0
    paulfecht
    paulfecht

    1 year ago

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

    0
    MilanDer
    MilanDer

    Reply 1 year ago

    I noticed, not sure how I can fix that

    0
    ChaBuku AlexB
    ChaBuku AlexB

    1 year 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. :)

    0
    MilanDer
    MilanDer

    Reply 1 year 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.