This project is for a maker that is a bit more experienced. But also a great way to usher in the new year if you are ambitious. Give it a try
NeoPixel display for the holidays. This DIY project is brought to you by Mark Komus a maker using Hackster.io.
The NeoPixel Matrix display is made from WS2812B LED light strips and features holiday animations. Mark states in his introduction that he wanted to create a large array of NeoPixels to play animations at Christmas.
Set up the Grid first, in order to have everything in place for testing. For Mark’s project, he used a grid 15 pixels wide and 20 pixels high. The strips of LEDs were cut into lengths of 20 pixels, of the total amount of density which was 300 NeoPixels. The strips were bought at 30 pixels per meter for a total of 10 meters. Strips were cut with scissors a the designated points and some sections were 10 pixels long and needed to be spliced together and soldered into place.
The next step is connecting the strips to power. The system is simple enough but can be a bit confusing. You need wire long enough to go from the end of one strip to the beginning of the next strip. The total number of connections is 14, with 3 wires, red, black, and white, which make up 84 solder points on the strips. This is what takes the most time, but Mark has said, “It takes some time, but is worth it!”
Note: Be sure to solder the data out on the first strip, to the data on the next strip. It can get a bit confusing. Ask Mark, he knows from experience.
Mount the strips on a board or backing that is black, using clips and black electrical tape.
The next step is to wire up the grid to an RP2040. For Mark’s project, he used an Adafruit QtPy RP2040 and then brought a lead wire from the data in at the starting strip to the I/O pins on the RP2040. He used Pin A3.
For power connect the power supply 5V and grounds at the start of the grid, also. You will need a ground at the RP2040 and if you want the same power supply to power the RP2040, hook up a lead to the proper PIN, on the QtPy it was labeled 5V.
A quick note: Full brightness of any one NeoPixel is 80mA, 300 of them draws, at peak, 24 amps! Mark recommends and used 30% power. To run at full brightness a power supply of greater than 24 amps is necessary.
You will need CircuitPython if you use the RP2040 board. Those instructions on how to install CircuitPython can be found here. The instructions for this build are in the nightly build for December 8, 2022. Any release after 8.0 should be sufficient.
The code is set up to run through three animations,
- Scrolling Messages
- Sparkling lights and snow falling over a Chrismas Tree
- Growing and shattering Isicles that drip
Code files include
- snow.py (helper file)
- sparkle.py (helper file)
Let your imagination run the show, set up a larger or smaller grid, but most of all have a great time building your Holiday NeoPixel Display.
Hackster.io | Hackster.io
For the past 8 years, I have been writing about embedded technologies, added to my technical, academic, and medical editorial experience, with companies like Elsevier and Cambridge University Press. I tell people to read what I write, not try to pronounce my last name. I am always available for comments and suggestions you can reach me at email@example.com and I promise I will take the time to reach back out to you. I live in the North East with my wonderful family.