USB Powered RGB LED Christmas Tree




Introduction: USB Powered RGB LED Christmas Tree

About: An IT Professio​nal from the West Midlands, with an interest in history, food, wine and all things technical​.

I decided that I would make a few pre Christmas gifts for a few of my fellow geeky friends at the Makerspace I'm a member of fizzPOP. I decided that rather that build them entirely myself I would produce a kit so they could have some fun building them themselves. This Instructable also forms part of the gift, as its the instructions on how to assemble but I have also included the eagle files so people can order the PCB's themselves (I ordered mine from Seeed Studio), along with the code for the micro controller.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: The Schematic

The electronics design is based is based loosely on a previous project (and Instructable) I did for lights for a sleigh. I stuck with the ATTINY85 for the micro controller but rather thank power it from 12v I opted for USB power via a diode.

The other big difference is the use of individual through hole 5mm RGB LEDS. I couldn't find a library containing them so I created my own. I added a 0.1uf capacitor across the Power pins of each LED as recommended.

Step 2: PCB Design

The PCB design is pretty self explanatory, with the only unusual thing been the shape of the board. I utilized the new ability to link Eagle to Fusion 360 to import the shape. This made things much easier! I should point out that I am not a PCB layout professional so I am sure someone with more experience could do a better job. I have however like with the Schematics included the files.

Step 3: Assembling the PCB's

If you are not experienced at soldering there are plenty of good guided on Instructables, I would suggest you review one of these first.The PCB's are pretty self explanatory to assemble, but I have outlined the key steps below. As is normal practice start with the low profile components first.

  1. Add the resistor (in the bottom position) and diode making sure the power diode is correctly oriented as per the PCB silk screen.
  2. Install the DIP socket (notch to the top) and the switch.
  3. Fit he USB socket, its a little fiddly to solder as the pins just barely reach through the board but with a fine tipped iron and a little patience they are not too difficult.
  4. Add the Capacitors the orientation does not matter.
  5. Finally install the LED's. They need to bent at right angles to the board, if you insert them up to the shoulder in the lead and then bend this seems to get them to approximately the correct position. They must be installed the correct way around this is indicated by the flat on the side of the LED and is show on the silk screen.

Once all the components are soldered in place trim of the excess leads saving the ones from the diodes and resistors as these will be needed later.

You will notice that not all of the component positions are populated this is intentional leaving opportunity for future hacking.

Step 4: Joining the PCB's Together

The two PCB's just slide together but if they are a little stiff you can use sand paper to open the slot up a little. Once they are together comes the fiddly bit, using the trimmed resistor and diode lead to link them together in the obvious way.

Step 5: The Code

The code is based off the code from my Sleigh Light Instructable with a couple of subtle modifications. The file is of course attached.

Step 6: Programming the AT Tiny 85

There are plenty of Instructables showing you how to add the Arduino boot loader and your program to your ATTINY85 so I wont cover that here. I will however point out that you will need to set the fuse to 'internal 8MHz'.

Step 7: The Finished Product

All in all I pretty happy with the out come of this project. I think I might have ago at creating more kits as gifts if this is successful.

Step 8: Making the Kit

Just a quick note on making the kit. I bagged up the parts and PCB's in Anti static bags. I decided to provide the chips pre programmed.

Step 9: Future Modification

As with all projects there is always something you can do to improve it.

When I designed the board I included the ability to in the future add USB control. I decided not to included it in the standard version and leave it as potential modification people could make themselves. Not sure if this was worth the effort.

It would of been nice to maybe add some "snow" to the PCB using the silk screen, I was rushing at the time so I didn't end up doing this.

Unless the Micro USB cable is super flexible it has a habit of causing the tree to not stand straight. It might of been worth adding a little 3d printed pot with a weight to make it more stable.

LED Contest 2017

Participated in the
LED Contest 2017

Arduino Contest 2017

Participated in the
Arduino Contest 2017

1 Person Made This Project!


  • Finish It Already Speed Challenge

    Finish It Already Speed Challenge
  • Arduino Contest 2020

    Arduino Contest 2020
  • First Time Author Contest

    First Time Author Contest


Jacks how2s
Jacks how2s

2 years ago

This is awesome! I would love to try this.