This the main project documentation page for the snowflake project.
The snowflake project is a winter decoration consisting of a number of snowflake boards connected to one single string of wire. Each snowflake contains its own microcontroller and 19 bright and beautiful white LEDs.
Using very small and bright LEDs creates a unique and beautiful effect, like the sunlight sparkling in snow crystals.
At the start, the individual snowflakes will communicate with each other and determine their own location in the strand. Next, they display light patterns, which are synchronized between all boards.
Technically, the design is dead simple. The MCU is driving each LED individually with one GPIO. Each board has an input and output line for the bidirectional communication between the boards.
Guides and Articles
You find a large number of articles and guides covering various topics about the snowflake decoration:
- How to Write Custom Snowflake Patterns (1)
- Programming the Snowflake Decoration
- How to Wire the Snowflake Decoration
- Snowflake Configuration
- Recreating the Human Perception of the Snowflake Sparkling Effect
- Snowflake Project Videos
- Snowflake Decoration Available on the Pimoroni Store
Manual Build and Assembly
Soldering the snowflakes is quite difficult, because of the small size of the LEDs on the front side. Besides this difficulty, everything else is very simple. Just add the LEDs, the MCU, and resistors to the board – done.
There is a header on each board you can use to program the Atmel SAM D20 E15 microcontroller. You will need a programmer, like the Segger J-Link to do this.
If you order the boards, make sure to use a high-quality board manufacturer (e.g. Eurocircuits or PCBWay). The fine lines and pads on the front only look nice if they are produced in a very precise way.
Hardware and Software Files
You can find all the files in the following GitHub repository:
The repository includes the following files:
- Component List (BOM)
- Board Design
- Eagle files
- Gerber files
- Documentation of how to build/connect the flakes.
- Firmware binaries
- Firmware source code.
There is a simple simulator, to develop new patterns locally without an actual snowflake decoration: