Rainbow Fire

My first printed circuit board

I had been using breadboards and perf-boards for circuits I had built, but I wanted to make the leap to designing actual printed circuit boards, so I taught myself how to use the 100% free and open source software suite called gEDA. First it involved creating schematic symbols for each of the parts, and then building the complete schematic by connecting all of the components together. The next part involved reading datasheets, and measuring part dimensions to create the PCB footprints and the solder mask outlines for each part, and finally routing all of the copper traces on each layer of the board to match the schematic.

There was quite a steep learning curve to the gEDA suite, but it meant that I was free to design anything I wanted, with any number of layers and board size, and the source code was available for me to add features. It gave me complete control.

Here are photos of the first printed circuit board that I designed around an ATmega328P and a TLC5940, which I call Rainbow Fire. It uses the same algorithm I originally developed to run on a desktop computer, but optimized to run on an 8-bit microcontroller running at 20MHz with 2048 bytes of RAM. It causes the LEDs to flicker like a fire would, but at the same time smoothly changing the colors randomly.

It also has other special effect modes that may be selected using the push button and the color/speed can be controlled using the potentiometer.

Here is a composite image made from the set of Gerber files:

Since we don't burn wood inside our fireplace, this is what we keep running inside:

Click to watch the YouTube video, though keep in mind that the 30fps video does not do it justice; it's actually smoothly changing the LED colors at almost 5000 fps!