Created a small "PCB Christmas Forest" which is going to light up my study table this Christmas.
In this video, I am going to show you guys how to design these PCBs and assemble them to create a small PCB Christmas Forest.

Designing The PCBs

Sorting Out Images

To start the designing process, I need transparent PNG images of the Christmas Tree, Star, Snowflake, Candy Cane etc.
So I went online, and did an "image search" and downloaded few black-and-white images of all the items that I need to design these PCBs.

Using the good old "MS Paint" I edited all these PNG files. 
I removed the rounded base and made the base flat so that it easily sits on the base plate. Then I removed a small portion from the bottom to expose a bit of copper. Pouring a blob of solder on this plate will hold the PCB nice and tight from the front side on the baseplate. 

In my design I have 3 different sizes of the trees. If you look closely, they are all extracted from the same tree by removing the bottom layer each time and hence generating a new size of the tree. 

Generating DXF File

For the customized shapes of the PCBs, we need to generate "DXF files" to set the "Board Outlines". I am using the "paint.net" application to fill in the white spaces of the tress as I only need the borders and nothing else from the original images. Then, I uploaded the images to "https://convertio.co/" and generated the DXF files. This website allows 10 free conversions in a day unless you have a paid account with them. 

Creating the Trees

Now, lets add a "New PCB" to our project and remove the default board outlines.
Then import the DXF files via File > Import > DXF menu. Make sure you have the "BoardOutLine" selected under layers when you import the dxf file.

Now lets import the image that will go on the Top Silk Layer. Put the image over the board outline and move it to the "TopSilkLayer". Then lets go ahead and decorate our tree. Once all set, lets hide the Top Silk Layer so that we can work on the rest of items.

Using the Rectangle tool from the "PCB Tools Plate" I added a rectangle to the bottom of the PCB. I exposed the copper, so that I can use this to hold the tree on the baseplate by poring a blob of solder on it. 

Next I randomly added few LEDs here and there at the bottom side of the board. Then I added few exposed copper rectangles at the back side of the board and connected them the LEDs. Remember this is just an example, the attached gerber is totally different from what you see onscreen. 

So, this is how the tree looks like in 3D. 

Creating the Baseplate

Now to create the baseplate, we again need to add a "New PCB" to our project and remove the default board outlines.
Then go to Tools > Set Board Outline.. and select the "Round Rectangular" from the "Type" selection. Specify the height, width and the radius of the edge and hit the "Apply" button.

Then go-ahead and add the rest of the components one by one either to the "TopLayer" or the "BottomLayer" of the board and connect them using wires. I grabbed the back and the front exposed rectangles from the tree and added them to the baseplate. This way the spacings will remain intact when we solder the trees on the baseplate. That's it easy as that. Now just go ahead and download your gerber file and send it for fabrication.

So, this is how my baseplate looks like. Bit complex, but it has the exact same logic that I just showed you guys.

Ordering Process

Once I had my design ready, I just had to upload the gerber file to the PCBWay's website and select the type, color and any other customization that I want and then just send it for fabrication.
For my project, I choose the black, red and the green colors.

The Code

The code I wrote is very simple. I have just turned on and off the LEDs after a 500ms delay. The top white LEDs turn on and off in the opposite order to the rest of the LEDs.
This code is just an...

Read more »