I make my own Christmas lighting decorations instead of buying ready-made ones.
This year, I made a "Snowflake" pattern using a matrix of 61 white LEDs.
The finished item measures about 38 x 40 cm and is controlled by a PIC microcontroller.

It is programmed entirely in assembler, has about 30 different pattern effects with fading, random speed and pattern selections.

The video shows some of the effects (I have added more effects since then)

The ZIP file contains the current PIC HEX firmware file and templates for making the Snowflake, PCB etc.

The latest firmware can also be found on my website.

I have added the .dwg file for the Snowflake pattern to allow you to customise the size etc.
You will need a CAD program to use it. ( A good free one is A9cad by A9tech).

Step 1: What you need

A sheet of clear 2mm thick Polycarbonate/Acrylic plastic sheet (The type found in DIY stores).
(You could use a thin sheet of wood or strong cardboard instead if you wish.) about 40x37 cm (16 x 14.5 inches).

Parts list
1 x 100uF capacitor (25v electrolytic)
1 x 10uF capacitor (16 or 25v electrolytic)
2 x 0,1uF capacitor (small decoupling 50v type)
1 x 1N4002 Or 1N4001 diode
1 x 7805CT Standard 5V regulator
1 x CD4028BE Or equiv. (BCD to decimal decoder IC)
1 x ULN2803 Or ULN2803A (Darlington Transistor array IC)
1 x PIC18F1330-I/P Microchip PIC microcontroller
8 x 56 ohm resistors (0.25W carbon)
61 White LEDS (5mm) High brightness.
1 x 18pin IC socket for the microcontroller.
1 x piece of single sided pcb board at least 6.3 x 3.5 cm (2.5 x 1.38 inches)
Plenty of thin hookup wire for connecting the leds.
A 9 volts DC power supply (rated at over 100mA)
4 x m3 nuts & bolts for securing the pcb to the plastic.

The PIC18F1330-I/P is a standard 18 pin DIP version, available from suppliers such as Farnell, Mouser, RS Components etc.

The leds can be the very cheap types typically available in bags of 100 from various suppliers.

The resistors can be a higher value up to 100 ohm types if you don't mind the leds being slightly dimmer.

Tools and stuff
A sturdy workbench
Fine tip soldering iron and solder.
A heavy duty "Stanley" type retractable DIY knife for scoring the plastic sheet.
A metal "straight edge" for guiding the knife when scoring the plastic sheet.
Tape measure or ruler.
Pen for marking cuts and a sharp Bradawl for marking drill holes.
Small pliers and cutters for the wiring work.
General purpose clear glue for fixing any loose leds.
Printer, Paper and clear adhesive tape.
Safety equipment: Eye protection for soldering, trimming wires etc.
Antistatic ESD protection: A Wrist strap and ideally a ESD workbench mat are recommended.
5mm & 3.5mm metalwork drill bits for drilling led and pcb mounting holes.
A general purpose drill (I used a rechargeable type)
Tools and equipment for etching a pcb using the "Toner transfer" or other methods - there are various tutorials elsewhere so I won't go into it here.
A programmer that supports the PIC18F1330. Ideally a Microchip "PICkit 2" or similar clone type.
(Note. Older types of programmer/software (eg JDM) may not support this chip.

I like it. But, I might suggest replacing some of the white LEDs with blue ones to define/distinguish the snowflake shape a little better than just a bunch of white LEDs.
hi i post a youtube link&nbsp; to my movie of my xmis decoratjon whit the snowflake :):P.<br /> hoop ou like it<br />
http://www.youtube.com/watch?v=lJtLA7EfgGQ<br /> oops forgot the clip .<br />
<div id="result_box">I have a question that you print that image in your zip file that is signed so that the signed parts of the solder the components to come out if the other side of the solder side.<br /> Thanks</div>
Great instructable! I just built one, and it came out really well. Would you consider posting the source code so I can play with my own patterns more easily? I was hoping to have it complete before christmas, but the LEDs took a while to ship (I found them on ebay for a reasonable price). I can supply a pic of my snowflake if you like. Happy New Year to you! Thanks again! --Neil.
Hello Neil, Sorry, I don't release the source code for my projects. Perhaps next Christmas I could add a user config facility via the serial link? Please do post your snowflake photo here. Thanks, Dave
Thanks for your work on this project. I built four for xmas gifts this year. They went over great with the family. Thanks
What values did you use for the resistors? Did you spec if for full current draw with one LED or eight?
I used 56 ohm resistors to ensure no damage to LEDs or the PIC. Each port only has to drive one led at a time and the max allowed current per port is 25mA according to the Microchip datasheet. The voltage drops of the leds (about 3.2 - 3.6V) and the ULN2803 drivers (about 1V) actually limit the current to around 10mA so you could use lower value resistors if you want. Probably the minimum value you could get away with would be 33 - 22 ohm depending on your LEDs spec. I have seen designs that don't use any resistors at all but that may risk damaging the PIC or LEDs if it stopped multiplexing for any reason.
Hmmm. Clearly I failed to undetand the design. I thought each port would have to drive an entire row (or column) at a time. Or, I missed a bit of subtlety. Thanks!
Very nice. But don't build it if you are in Boston! The ever paranoid spastic Public Safety folks will arrest you.
This is a great project! Any chance you have the snowflake pattern in one piece, say in .SVG or .AI format? Would love to modify it a bit and get a few stars cut out on a laser cutter from places like Ponoko.
I made the pattern using a freeware CAD program (A9CAD) and have now uploaded the .dwg file. I have just tried to convert it to .SVG format using another utility (Dwgsee+) but it did not convert it properly. Perhaps you may know of a better way to convert it.
Thanks for the .DWG file! I've tried a few utilities, and have had no luck getting a usable .SVG file. I'm going to work on a new vector file from scratch over the weekend using Inkscape and the Ponoko guides. I'll share whatever I come up with!
This is a very cool design, but it's much easier and cheaper to run to Wal-Mart or Target to buy the same thing. The circuitry is then in a weather-tight enclosure and can stand up to anything Mother Nature dishes out. Nice job on the design.
But then you can't modify the patterns or any other aspect of the code :) Just pot the circuit board in some epoxy, hot melt glue the solder connections, easy isn't always better.
Awesome project. Any tips for drilling the acrylic to avoid cracks from stress? I heard you can use masking tape but it hasnt been effective for me on past projects
When drilling plastic - use plastic drill --- regular twist drills are beveled at about 13 degrees, plastic drills are at 45 degrees or a 90 degree point. This prevents the jamming that causes the cracking in the first place -- if you have access to a grinder, re-shapening the tip to the new angle works great and will last a long time, much cheaper than buying special bits.
Forget about using tape when drilling through plastic. The only way that works is if you use a drill press that has an adjustable speed. Even then, if you dont drill with very light pressure, the plastic will still crack. The best thing you can use is a "step up" drill bit (about $20 at the usual home centers). This bit looks simillar to a funnel, with several diameter "steps". I do a lot of work with acrylics and I have yet to crack anything with this bit! Just be sure that you go slow and don't apply too much pressure when drilling! Also, drilling in reverse may work on some types of plastic, but here again, more times than not, the plastic can crack from the heat.
A few drilling tips. Use a dull bit. Tape the back side to help stress. Use smaller bits first then move up to the size you need.
I've found it works well to drill in reverse so as to melt the plastic instead of drilling normally having it catch and then having it break. The holes need to be filed down after but it keeps it from breaking.
I didn't have that problem. Perhaps it depends on the type of plastic? I bought mine several years ago and I think they are polycarbonate. I just marked each hole then drilled it not too fast to melt the plastic.
Thanks for including the video. It really ties the whole project together. Great instructable!
<ul class="curly"><li>Very * very * nice !</li></ul>I like so much the idea and the pattern. <br/>Maybe you could save some parts using charlieplexing, but it could lack in luminosity and all in all final circuit seems not so complicated. <br/>Indeed I think it is better place LEDs this way than make * another * led cube!<br/>
Thanks! I decided against charlieplexing in this project because previously I tried using it to reduce hardware, causing the LEDs to be much dimmer and it also made a little EMI due to the extra switching.
That is some very impressive work you had done! 5 stars!

About This Instructable


85 favorites


More by unusualelectronics: LED Animated Christmas Tree 2015 Animated Christmas LED Snowflake Window Decoration
Add instructable to: