DIY Christmas Lights

December 24, 2011 Meet iFixit — Bob

‘Twas the night before Christmas, when all over the house
The lights were flashing like crazy, thanks to Carl Friedrich Gauss.

Here at iFixit, we’re natural tinkerers, tweakers, and fixers. Many of us spend our free time on side projects and activities which could only be described to normal people as “crazy” or “insane”. Mine happens to bring Christmas cheer to local family and friends, so I thought I’d share it with all of you this year as well. And it probably falls into the “crazy” category.

The Christmas lights I’ve put up at my parents house for the past few years would make Clark Griswold proud. Yes, it’s one of those displays where the lights flash in sync with the music.

Now I could have gone out and purchased an off-the-shelf solution (like a Light-O-Rama system), but that’s just not how I roll. It would be way more fun to build this thing myself! So back in fall of 2008, armed with nothing more than a bit of money and a half-complete bachelors degree in Computer Engineering, I set off to build my own animated Christmas lights show.

Like all good engineers, I started by doing research. Lots and lots of research. I had plenty of experience building digital systems that ran on DC power at a friendly 5 volts, but controlling 32 channels of Christmas lights running on 120V AC power was new to me, and the last thing I wanted to do was burn down my parents’ house for Christmas.

After reading a few scattered articles I’d found around the web, I stumbled upon the Do It Yourself Christmas forums. DIY Christmas is a place for light show tinkerers to meet up, share experiences, and provide tips on everything from hardware controllers to sequencing music. These were my kind of people!

I opted to design my own controller rather than get in on a group-buy for an existing design. To save time, I decided to piggy back on the FPGA board I’d already learned how to use in school. I just needed to design a peripheral board that would let me control 32 channels of lights.

The FPGA board on the left receives lighting information from a computer via the serial cable for each of the 32 channels. Each channel is represented by a single byte, where 0-255 represents 0% – 100% brightness. After decoding each channel, it controls 32 outputs which travel over to the board on the right. For each of the 32 channels, the board on the right will show its status on an LED and send it out to the yard over a standard Cat 5 Ethernet cable.

That bridge board in the middle? That’s a painful reminder that no matter how rushed you are to get something done, you should always double check things you use from the internet. I happened to find a PCB design for the large connector that someone had been kind enough to post on their blog, which saved me a lot of design time because that connector has 50 pins on it. Unfortunately, the original author had connected all the pins backwards, so pin 1 was actually pin 50, pin 2 was actually pin 49, and so on. That bridge board was something I threw together quickly to reverse all the pins on the connector.

Out in the yard, there are 8 electrical gang boxes, each of which has four outlets. These four outlets are individually controlled by the four channels that come in over the Ethernet cable. The power itself doesn’t come over the Ethernet cable, though. The Cat 5 wire inside is so tiny that it can’t handle powering the lights, so there’s a small board inside each gang box called a solid state relay.

The control signal over Ethernet is just 5V and a couple milliamps. This needs to switch 120V at several amps, depending on how many strands of lights I have plugged into the outlet. This calls for a relay, which is basically just an electronically-controlled switch. When my low-voltage control electronics trigger the relay, it opens the floodgates for the wall socket power to come through. This lets you control big-power things with small-power electronics.

An important part of this setup are those tiny square black chips in the picture. Those are opto-isolators, and they’re pretty clever little chips. The last thing I want is a stray power surge in my high-voltage circuits to get into my low-voltage circuits, because that would most certainly destroy a lot of expensive electronics. Those chips allow you to keep the two sides safely isolated. When the low-voltage side triggers the opto-isolator, it turns on a tiny LED inside the chip. That LED triggers a photodetector, which turns on the high-voltage side of the circuit. The two circuits are linked, but completely electrically isolated from each other. Cool beans!

The last piece of the puzzle is sequencing the lights to music. Thanks to the hard work of a fellow DIYer,  Vixen is freely available software for doing just that . It even has a plug-in system if you want to make it run your own custom-built controllers, like I did.

It’s been a lot of work getting the display up and running. Sourcing parts, designing logic boards, writing embedded control software, plugging in all the lights, and sequencing the show certainly takes quite a time commitment, but seeing the smiles on peoples faces when they watch it makes all the work well worth the effort every year.

From our epilepsy-inducing houses to yours, have a very happy holidays and a wonderful new year!

But I heard him exclaim, as he drove out of sight
Merry Christmas to all, and to all some bright lights.

Maker Faire 2011

April 14, 2011 Events, Meet iFixit, Site News — aguenther

Maker Faire 2011Maker Faire is once again invading the San Mateo County Event Center May 21-22, and we need your help to run the iFixit Repair Center!

Maker Faire is the epitome of the do-it-yourself mentality. There is no larger concentration of geeky hobbyists and enthusiastic inventors than at Maker Faire. Sharkmobiles, underwater concerts, robotic giraffes, Tesla coil symphonies and a life-size game of mousetrap are just a few of the awesome exhibits staged outside the main hall.

We have been going to Maker Faire every year to spread our knowledge of how to fix things. This year we are hoping to teach more people than ever. This is where you come in.

Enjoy working on your motorcycle? Have you built your own computer? Replaced components of your roadbike? We need you! Volunteer to teach others what you know. We are looking for people who are passionate about repair and reuse. You don’t have to be an expert – but you do need to be enthusiastic about what you do know and eager to share. Volunteers will draw on their collective repair experience to help Maker Faire attendees fix their broken stuff. In addition, volunteers will receive free admission to Maker Faire as well as an iFixit t-shirt.

To volunteer, fill out our Maker Faire volunteer form.

All volunteers will receive an email confirming their volunteer status within a week. Volunteers will be assigned to one or more shifts depending on their preferences and availability.

We are updating our Maker Faire 2011 page with the latest news, so check back periodically for additional information. You can email us at with any questions. Volunteer space is limited, so sign up now and help contribute to this awesome event!

Achieving Technical Writing Excellence

March 23, 2010 Hardware, Meet iFixit, Site News — Miro

Taking apart a Mac Mini for a repair guide

We strive to provide iFixit users with the best technical documentation possible. Each guide we create is evaluated by a number of staff members. The final product is published on our site only after all i’s were dotted, t’s crossed, and spells checked.

I asked one of our technical writers, Walter Galan, to share some of his methods for creating awesome iFixit repair guides and teardowns.


1. Writing is a working process with many steps in between. Your first draft is more likely to be just that — your first draft. Don’t expect to write words of wisdom on your first attempt.  Take the time to read what you’ve written; many times you will notice that your writing may not match your train of thought.

2. Make sure to edit your work multiple times. Editing your work is at least half of the equation, and proofreading is just as important as editing. Careless grammatical errors can easily ruin an excellent piece of writing. Always proofread what you write with the utmost care. Use a dictionary if you’re unsure of a word’s spelling, and use a thesaurus to avoid repetition of one word throughout the text.

3. When developing technical documentation, you must first and foremost consider your audience. Ask yourself, who will be reading this document? What level of technical understanding do they have? You always have to be conscious of your audience, for they are the ones who will be gaining the most from your words. Write for them — not yourself.

4. Appreciate criticism. Learn from criticism. People are naturally prone to despising others’ opinions, so this takes practice and a positive mental outlook. As a writer, learn to interpret the suggestions of others into your writing. Great technical documentation is a work of many thoughts and suggestions blended into an all-in-one product.

There is always something that can be improved upon. By taking the time to evaluate your work and not being afraid to enlist the help of others, you virtually guarantee that you will become a better writer.

Thanks a bunch Walter!

MacWorld meetup

February 8, 2010 Meet iFixit — Kyle Wiens

We’re looking forward to MacWorld this week, and we’re going to have an informal user meetup Thursday night at 8:00.

Meetup highlights:

  • Connect and network with fellow Mac hardware geeks
  • Meet the iFixit team
  • Learn about the future of iFixit

Interested? Send an email to We’ll email you back with a location. Space is limited, and first-come-first-serve, so please only RSVP if you are sure you can make it. Once we have all the spots filled, we’ll update this post.

We’re looking forward to MacWorld this week, and we’re going to have an informal user meetup.

Meet iFixit: Mitra’s Upgrade Success Story

May 19, 2009 Meet iFixit, Repair Stories, Site News — Miro

Mitra works for iFixit as a Visual Designer. Most of the website graphics on our site have been shaped or created by her genius. She is the first person to write an article for the “Meet iFixit” series — personal blog posts written by iFixit employees relating some of their tech-related experiences. The following article is written solely by her, with a couple of edits here and there by yours truly. Enjoy.


Last week I finally got enough motivation to fix my old 15″ PowerBook. The process was more fun and interesting than I expected. My repair story started in January of 2008 when I made the choice to update my computer system. My 2004 15″ PowerBook was making strange clicking sounds and the battery was dead (I had to keep it plugged in all the time). It was time for a faster machine and I needed a bigger monitor. I decided to get a 24″ iMac and retired my old laptop for use on special occasions.

In December my laptop totally died. It would display a panic message and then freeze when I tried to turn it on. From that point, it took 4 months to convince myself that I could fix the PowerBook. I started by using the ID your Mac help guide to figure out what kind of laptop I had. Next I consulted a few tech savvy friends to confirm my suspicion that the hard drive was the cause of my problem. Then I went about getting everything I needed to make the repair.

To fix my computer I bought a replacement hard drive, a battery, and a tool kit. I used the step by step iFixit guide for hard drive replacement, and an OS operating system CD. I was a little nervous getting started.

I used a cupcake baking pan to organize the screws as I took the laptop apart.

There were a few moments when I wondered if it was ever going to turn on again. Looking at the inside of my computer was strange.

I swapped the hard drive and put the pieces back together. I swapped out the old battery and installed the OS. It was easy.

It took about 30 minutes to replace the hard drive… And installing the software took 3 hours. I’m happy to have a working laptop now. Thanks to everyone who helped!