Introduction: LED NeoPixel Poster
My son's robotics team made it to the VEX World Championship in Louisville this year. The boys put a
ton of effort into the season showing great ingenuity and sportsmanship. I figured I should go all out for them on a poster to cheer them on. I guess this is my version of all out.
I’ve seen light up signs at other events but nothing beyond someone sticking Christmas lights in something. Those projects were great but I’ve worked with NeoPixels before and I know you have complete control of them to do some amazing patterns and effects. This setup will give you the ability to program the NeoPixels to display any color light you want with absolutely any pattern. My goal was to create a clean and well-constructed poster to cheer on my sons Robotics team at their pit area and at the matches. This project took a good bit of time and combines, vinyl cutting, 3d printing, micro controllers and of course, LED’s. Just between the 59 LED’s there were 174 wires which means 348 solder points. Go big or go home I guess and these things are cheap enough.
Step 1: Tools Used
You can get by making do with alternates for a lot of this but here's what I used:
Brad Point Drill Bits 5/16” and 3/8”
Hot glue gun
Step 2: Materials Used
Luckily I had all of this stuff laying around except the NeoPixels. These are all standard parts for projects like these so think about stocking up if you place an order.
Wires, light gauge (salvaged Cat 3 or Cat 5 cable is fine)
5- Printed plugs
3- Printed corners
1- Printed controller corner
Step 3: Design Layout and Vinyl Cutting
For this project I used a Silhouette vinyl cutter and the included software to design the text. It’s really not mandatory to use a vinyl cutter at all, you could free hand it if you have a steady hand and are more artsy than me. Since this project isn’t meant to be a tutorial on vinyl cutting I’ll just hit the highlights. If you're using a Silhouette with Silhouette Studio make sure you start by setting the extents of the sheet you plan to cut in the ”Design Page Settings”, the icon on the top right with arrows in a page. Choose a size that matches your width and about how long you want to make the word(s). To add text is super simple. Click the A icon on the left side for starting text and click in the field to cut. You can type text here but the font size on the left only goes up to 288 pt. Just click and drag the corner of the text you type to enlarge the text to any size you want.
In this project you see there is only the main word that I chose to light up. Because of the size, this was still a ton of NeoPixels. Keep in mind that the more lights you want to add the more soldering you will need to do later. That said there is really no limit as long as you size up the power portion. I specifically chose to space the NeoPixels so that each one would be individually attached in order to give me full flexibility in where to place them. I drew small circles to roughly layout where the NeoPixels will go but I deleted them before cutting the vinyl. Play with the design so it looks good before cutting.
After you have your design I recommend you do a dry run with just paper so you can lay it out and make sure you like the sizing. Think about where the NeoPixels will go and how many you will need. A paper mockup also allows you to move things around and tweak the size of the words if necessary. I wasn’t sure where to put the team logo and I made it a few different sizes before settling on one.
Once you are satisfied with the layout, cut the vinyl. Only apply the text you plan to light up first. My son is the vinyl expert and you can see him showing me how to apply it in a wet process. Applying it using some water to keep the interface wet makes it possible to make adjustments when necessary. I recommend you do the wet process if you’re just getting started.
You’ll need to drill the holes for the LEDs now and if something goes wrong you don’t want to have applied all the vinyl yet. I used a 5/16” Brad Point drill bit to make the holes for the NeoPixels. To me, the Brad Point seems to cut the vinyl cleanly and does a decent job on the corrugated plastic. I’d like to see if a laser cutter could do a better job but that’s next time. In this step the holes are only cut through the front piece of plastic sheet. Be careful of what’s behind the sheet you are drilling. After the holes are all drilled you can apply the rest of whatever vinyl text you have.
Step 4: Controller Wiring
It makes sense that the first part of the LED project would be to start working on the LED’s but let’s face it, there are many things that can go wrong with a microcontroller project and we want to have the easiest situation for troubleshooting. It’s much easier to check function when the NeoPixels are all connected on the roll and we don’t need to worry about our soldering job between all the LEDs. Lets build the controller.
The control board is very simple and matches closely with Adafruit’s guidance. Adafruit has a great guide to using NeoPixels which I recommend you become familiar with to better understand what’s possible and how things work. NeoPixel Uber Guide
In this case I am using an Arduino ProMini as the microcontroller because I already had one and they are small. Because we are using so many lights we need to provide power to them directly instead of trying to run them off an output of the controller. Pulling too much power through an output will likely damage the controller so do a little calculation first. These particular NeoPixels can pull up to 60mA each when at full power white light and the ProMini can only handle 40mA per output. Luckily I had a small UBEC laying around that will do 3 amps at 5 volts. This is just a little device that will bring higher voltages down to a better working voltage, in our case that is 5V/3a. That’s perfect if we don’t run the LEDs at full power. These things are very bright and can actually be annoying if not employed well. There is no diffuser over the LED’s in this project so driving them at even 1/3 power is great.
I’m using a small prototype board just to clean things up a bit but it’s not necessary. I’ve created a set of pins for positive connections and a set of pins for negative connections. Although the Arduino can be powered with up to 12V, the NeoPixels will only handle 5V. To avoid problems we are running all the power through the UBEC so everything is on 5V power. There is a 1000uF capacitor between the positive and the negative pins and these connect to the RAW and Ground pins of the Arduino. The longer leg of the capacitor is the positive side. RAW is the positive connection to the Arduino. The only other connection to the Arduino is pin 6 leading to the 470 Ohm resistor right before the data connection on the first NeoPixel. Can this get any easier? :)
Tip: UBEC's have a minimum voltage. In this case the minimum it needs is 6V. If you run a 5V wall wart to the UBEC it will not output the 5V needed by the Arduino.
Step 5: Arduino
I’m sure you’re aware there are a million tutorials on Arduino so I’ll give you just the highlights here and you can ask questions if you need to. We’re using the Adafruit NeoPixel library. From the Arduino IDE go to Sketch->Include Library->Manage Libraries and search for Adafruit NeoPixel. Once the library is installed you can play with the examples to see just some of the options you have for making patterns and effects with the LED’s. The Arduino program I used is attached here but should be customized to your setup. You may have chosen a design where you used a different number of NeoPixels. That’s an easy fix, just change the line “Adafruit_NeoPixel strip = Adafruit_NeoPixel(59, PIN, NEO_GRB + NEO_KHZ800);” and change 59 to whatever number you have. You’ll notice I commented out many lines with // so that they would not be active in the sketch. I wanted something relatively simple and only white and blue lights in this case. Hopefully you can easily see how to modify the sketch to suit your color needs.
Step 6: Battery
Personally I recommend LiPo batteries for just about everything because of their great power density. However, they can be dangerous and present a fire hazard unlike the old alkaline batteries. The link above is for a special LiPo that has a low voltage cutoff to prevent damage and possible fire. The holder has been modified to fit this battery. To be honest there were some long days where I employed a much bigger LiPo and just blue taped it to the back of the poster. Blue tape is the best. If you want to use standard LiPo’s, try something like this to prevent you from getting into trouble. Low Voltage Alarm
The controller turns on and starts when power is applied. Depending on what battery you have/get you’ll need a matching plug to connect to the control board. If you’re not familiar with all this stuff, your local RC hobby store is probably a lot more capable than you think. They may not do a lot of microcontroller projects but they would be more than happy to do light soldering for you. They will sell LiPo batteries and whether you buy them there or not they can make you a connection cable for just a couple bucks. This is just another option, never be afraid to ask for help.
Step 7: Intermediate Test
At this point you should check over all the wiring, being very careful to match the polarity, + and –, of all components. Make some simple checks with the Multimeter if you’re not sure. If everything looks good go ahead and connect your NeoPixels and see if you're on track. It's much easier to troubleshoot when you don't need to worry about the upcoming soldering being correct. Remember the earlier schematic, a 470ohm resistor needs to be in front of the data pin on the NeoPixels.
Step 8: Wiring the NeoPixels
Now comes the fun part!
Not really, it’s pretty boring but at least you can feel good as you see yourself making progress. The NeoPixels I used come in strips that are really great as-is for some projects. This is not really one of those projects but their design still makes things way easier than ever before. Your text layout should have accounted for spacing already. If you can use parts of the NeoPixel strip without cutting them apart then great. The text design I made required each element to be separated. The example Arduino libraries have cool effects to light up NeoPixels in order so consider that when laying out your design. For instance, for text you want to plan to wire up the LEDs in order how you might write the text, that way light patterns will flow similar to how we write words. Just watch the video. Use the hot glue gun to glue in the NeoPixels but be careful to keep the glue away from the contacts. When you glue in the NeoPixels keep in mind you need to connect all the positives together and all the negatives together and you don’t want to cross the lines and add confusion. For the NeoPixels I used I marked the positive side with a red marker but newer versions may be easier to see which side is which. Accidentally wiring positive and negative backwards will damage the NeoPixel permanently. Go ahead and glue in all the NeoPixels. It’s not hard to keep the glue away from the front of the LED’s but you might want to experiment with it. A little diffusion might not be bad. Tip: temporarily tape what will be the back plastic sheet to the front where the vinyl is in order to protect the vinyl while soldering. Soldering could take a while and you might be moving the board around a lot. Blue tape is perfect for this.
After all the NeoPixels are glued in you can start soldering them together. Since this application doesn’t require any movement of the wires, I’ve found that solid wires are a good choice. You can easily cut small lengths and bend them to fit where necessary. The wires were all pulled from some old cat 3 solid core cable. There’s not much use for Cat 3 these days and the solid core (as opposed to braided copper) is perfect for this project.
Because none of the wires need to move you can strip off all the insulation at once and cutback on the effort it would take to strip ends over and over. Using a little flux seems to help a lot. Only flux what you are going to solder that day. I don’t know if the flux dries out or just gets dusty but I don’t feel like it works as well once it lays out a while. When you are applying heat to the pads on the NeoPixel watch out for melting the hot glue. If it gets around to the back side it can get in the way of good solder joints.
There was one NeoPixel I wired up backwards right at the 30th light. I’ve used strings of 30 multiple times before so that coincidence threw me. It turned out one was backwards. That one was then dead and needed to be replaced. Keep that in mind when you make your design. If you try to use all the NeoPixels you have and there is an accident you won’t have a backup.
After all the NeoPixels are connected to each other you need to run 3 wires from the first NeoPixel down to where the control board will be. Don’t be afraid to leave some extra wire in this, it will all be trapped between the two plastic sheets and will be unnoticeable. Per the Adafruit website make sure you add a 470 Ohm resistor on the data line. I put this right near the NeoPixel.
Step 9: Test Again
Almost done! At this point you should check over all the wiring being very careful to match the polarity, + and –, of all components. Make sure none of the wiring to the NeoPixels is shorted. Use a Multimeter to check that positive makes it all the way from one end to the other, do the same check for negative. The data line will not allow a continuity check through it. Remember my mistake with a backwards NeoPixel; the continuity check will not identify this error. If everything looks good go ahead and connect everything to check the operation again.
Step 10: Printing the Corners
I designed all the corners using Fusion 360. Originally printed in black ABS I am now reprinting in Silver PLA. Silver might be a little better color for my white and blue color scheme and I needed to redo the lower corner that houses the controller and battery.
If you have a 3D printer and aren’t making your own designs yet you are missing out on the potential of 3D Printing. I have attached the Fusion 360 files and the STL’s so you can modify them if you like. If you don’t have a 3D printer you know someone who does and if you don’t think you do, Makerspaces have a lot of great tools and people who like to help others. Don’t be afraid to talk to other makers like you.
Step 11: Assembly
This design uses two corrugated plastic sheets to sandwich the NeoPixels and wiring between them. The two sheets together worked better than I could have hoped. The result is a clean and sturdy package that can be carried around without too much concern for damage. Lugging it around to many of the boys matches over 3.5 days resulted in zero damage. The two halves are joined at the corners by 3d printed corner brackets. I used ABS in my printer because its durable and that’s what I have been buying. The trouble with ABS is that it can be difficult to print tall parts due to delamination caused by cooling. The corner designed to house the controller and battery holder gave me a bunch of trouble and since it’s a long print, that’s not good. I’m reprinting the part in PLA now which should be just fine for this application. Print 3 of the corner bare, 1 of the corner w controls and 5 poster plugs.
To prepare the back sheet you need to drill a hole down by the controller board corner about 2” from the side and bottom. This hole will be for routing the NeoPixel connection to the controller board and will give you an opportunity to see how your drill works on the corrugated plastic. To connect the front and back together after the connection is through the back board line the corrugated sheets up perfectly and slip a corner piece onto them. Make sure everything is positioned well and drill through the opening in the corner with the 3/8” bit being careful not to damage the printed part. I actually made an extra corner just to use as the guide but if you’re careful you probably don’t need it. Clean out the new hole and then assemble by pushing the plug into place. The screw will self-tap into the corner piece and can really tear through printed plastic so we’re going for just slightly snug. All we are trying to do is keep the plug in place, it’s not really holding the two sheets together and so the screw can essentially be barely-in and be fine. The part for the controller and battery has 2 places to drill.
How does it look?
Step 12: Conclusion
As mentioned, the sign powers up as soon as the battery is connected. This hasn’t been a problem for me but might surprise some people. The battery life was pretty good for a 1300mAh battery. I think I got about 3 hours from it. The setup is not too heavy so it was great to hang at the booth and then take to the matches. The design overall has proven to be sturdy and seems to impress. At the competition it was a big hit. Many people stopped to talk about the sign and I think next year my sign might have some competition. The above is just one way to do it. I am not affiliated with any of the suppliers or referenced tools and my opinions are my own. Feel free to ask questions and vote for my project!
Congratulations to Shambots 2030B for winning the Judges Award! Do it again next year!
Step 13: Suggested Improvements
Adding a power switch and providing provisions for wall power. [DONE, Edited above]
Other ideas might be to integrate an ESP8266 for remote control or even just add a button for switching modes to different colors or patterns.
Participated in the
Lights Contest 2017