Video Mapped LED Christmas Trees




Introduction: Video Mapped LED Christmas Trees

JoeJoe is a PCB designer, artist, and make-hack-tinkerer who lives in San Francisco, CA. He is cur…

For our DJ crew's annual Brass Tax Xmas Episode I constructed two spatially mapped LED christmas trees. Consisting of about 230 RGB pixels each and standing around 7 feet tall these trees were fully video capable and ran Modul8 content syphon-d into MadMapper. Here's how I went about it!

Step 1: Cut Some Christmas Trees...

No, you don't head to the forest to do this step. I engaged my trusty friend Metabeam to laser cut some christmas trees out of 3/16" plywood. In order for the pixels to be able to push in I needed to use a thin stock, and that also helped keep the weight down for transportation and setup.

The Coreldraw layout was split and cut out of two sheets of 4x4' stock.

Here's a short video in around 10x speed of the laser making quick work of a hundred or so holes.

After I had the cut plywood, I gave it to my excellent and talented friend Sherry Wong for a quick base coat of green paint. She also added a marvelous silver garland!

Step 2: Order Some LED Pixels

For this project, I chose some embedded WS2811 addressable RGB pixels in a plastic enclosure. It's hard to tell from the pictures, but these pixels have a little catch molded into the plastic so they'll grab the edges and hold tight when inserted in the proper size hole. This is a very fine line to walk since the plastic molding isn't perfect, and the laser kerf can vary depending on how flat your material is. If the holes aren't perfect it ends up being very difficult to get the pixels into the plywood, but more on that later-

The pixels showed up straight from China reeking of off-gassing plastic and glue which stunk up my whole apartment for a few days. You can find these on eBay and AliExpress quite easily in a few different form factors. If you order them from AliExpress, it's better to chose one of the air freight options instead of their default ePacket / China Post if you want to receive them in any sort of predictable and measurable timeframe.

Step 3: Inserting Pixels in the Tree

Ok, this was a huge pain. After the first 100 or so I had giant blisters on my index finger, thumb, and palm. I tried a few different techniques, but just pushing the pixel in with my right palm while supporting the hole from underneath with my left palm ended up being the way to go.

Because the plywood wasn't perfectly flat, some of the holes were smaller or larger than others; The size of the cut and the kerf are both affected by the focus from the top of the material. Whole sections of the tree would go neatly and quickly, and then the adjacent section would take 30 seconds or so to jam in a single pixel.

Overall this was a multi-hour endeavor and not exactly the highlight of this project.

As far as the wiring is concerned, I wired each tree in an identical zig-zag pattern and connected all of the JST connectors as I wired the strings. While this is fine for passing data through, there is no way that the wire could handle the sum current of the entire tree so I knew I was going to have to bring DC power in at a few points on the tree after all the pixels were inserted.

Step 4: Controller Box

For the controls, I once again used the PixLite16 board by Advatek. Each tree's WS2811 runs went to two headers on the board, one for the upper part and one for the lower part. I configured the board for 150 RGB pixels per header figuring each part would be its own DMX universe.

To protect the PCB at the club, I modified a Pelican case to hold the board and a Meanwell power supply sufficient for driving both of the trees simultaneously. Holes had to be cut in the side of the Pelican case for the ethernet cable, power cord, and the output wiring to the pixel runs (power and the data line).

Step 5: Mapping the Tree With MadMapper / MadLight

Using the MadLight functionality introduced into MadMapper, I built up the LED fixtures to make up the trees. I decided to do this in sections to keep a manageable amount of information on the fixtures editor screen.

As you can see in the pictures above, each tree ended up being composed of five parts. I set the pixel ordering to BGR for these particular modules, and the started clicking in the grid to add the addresses in the same order that I rigged the pixels into the holes. Parts 1, 2, and 3 would make up one ArtNet universe, and 4 and 5 would be a second.

After all of the parts were made, I added them to the surfaces pane and sized them so the trigger areas were all identical in size. From there I could easily drag an entire tree around in my window depending on its physical location on the stage or in relation to the projection screen.

Step 6: Final Soldering

Finally I went through the tree and added some DC injection points for power. With these little 5VDC pixels there isn't much headroom for long cable runs of the thin gauge wire that they factory uses, so I basically picked three or four points on the tree and soldered in a daisy chained jumper of 16AWG wire straight back to the power supply.

Step 7: Testing And... GO TIME!

Naturally having two giant LED xmas trees in your tiny apartment calls for a party, so we tested them out with some dinner and drinks. Everything was working as planned.

The next day I installed them both on the stage at F8 and spent the better part of the night VJing in Modul8. Mostly I cut the blue channel out of a bunch of video to keep it kind or 'christmas-y' for our party. However, with full RGB brightness turned up they were nearly blinding despite the diffused pixel enclosures!

Here's a video of an initial test and the trees in all their glory at a few points in the party.

Let's Party! Challenge

Participated in the
Let's Party! Challenge

Be the First to Share


    • Digital Fabrication Student Design Challenge

      Digital Fabrication Student Design Challenge
    • Frozen Treats Speed Challenge

      Frozen Treats Speed Challenge
    • Make It Modular: Student Design Challenge

      Make It Modular: Student Design Challenge



    6 years ago

    Hi quick question. Do you connect the ethernet directly to the computer? or does it have to go through the router?


    Reply 6 years ago

    Art-Net is a standard ethernet frame which can be multicast or unicast, so it will work either directly connected or through a switch. I often run a long cable from the VJ booth to a switch onstage though since many times we have multiple ethernet-based devices as part of the show, such as Art-Net->DMX boxes, etc.


    Reply 6 years ago

    Thanks for explaining! it helps alot


    7 years ago on Introduction

    wow!! How long did it take you to complete the build..


    Reply 7 years ago on Introduction

    These two trees actually went together fairly quickly, with the bulk of the time pushing the pixels into the holes. All in all, fabrication and mapping took maybe 8-10 hours total?

    Laser cutting: 1.5 hr, including prep of files
    Painting: Not sure, my friend did it...
    Pixel insertion: 3hrs
    Soldering/wiring: 1hr
    Framing: 1hr
    Mapping / controls: 2hrs


    7 years ago on Introduction

    Dang, You almost make this look Easy ! :P

    Wicked Job; Really Nicely done :D