I have talked about this to several people and have described the details to a couple, but I figured I should finally document the setup I have for my Halloween/Christmas/everyday computer-controlled lights.
I have never really done traditional Christmas lights at any of the places I have lived in Portland. Between high ceilings, basement offsets, and multi-story houses, the eves have always been between 1.5 and 2.5 stories up. I have never (until recently) had a ladder that could do that. Besides, even if I did—did I want to spend a cold afternoon stringing up lights in December, not to mention the even colder afternoon in January taking them down?
I have always stuck to lining the windows in lights. Because most of my lights are not Christmas-specific (they’re a lovely shade of red), I have a tendency to leave them up year-round, still on the timer. The ones wrapping the large front window of the enclosed porch are a bit more visually interesting than a generic porch light.
This year, I thought I would try something different. And I thought I would start with Halloween. Limor Fried, Ada of AdaFruit, has a wonderful string of waterproof RGB lights for sale. She actually has several varieties, but I went with the cheap one with fewer lights. There is a more expensive one with twice as many lights, but in the dark of my porch, even the one with “sparse” lights has to be run at half brightness. There is also one where each light is individually set to a specific color, but that was also (much) more expensive and looks more suited to an animated marquee.
The lights themselves are stung up on the enclosed porch. There are two strings with a little Arduino brain serving as keystone between. I can change the program can to fit the season. Currently, it is an extremely slow fade between red and orange for a few cycles, then fades over to a ghastly green and purple, then back again. My eventual goal is to also throw in a few flashy strobes of bright white, like lighting bolts.
Toward Christmas, I expect to emulate a more conventional string of Christmas lights. After that—who knows? I may switch it back to red or I may do something else.
The schematic itself is fairly simple. It’s a doubling of the example circuit used to demonstrate interfacing the lights with the Arduino, so in this case it is two independently addressable strings of lights. It looks a little something like this, though on a Proto Shield and not a breadboard (and is found at my DualRGBInterface project on github):
The current state of the firmware is also on github in my MultiRGB repository.
It is a little difficult to capture how truly amazing this looks in real life. The best I could do was a picture (orange) and a short video of one of the color-change cycles (red to purple).