Introduction: Make an LED Bow Tie

For my high school senior prom I wanted to wear something special. I got the idea after seeing Beka's LilyPad Arduino Blinking Bike Safety Patch. It's an inexpensive way to set yourself apart from the non hacker crowd.

Step 1: Parts and Tools


12 LEDs
Single Row Header Pins
13 Connection Ribbon Cable (enough to reach whereever you interned to store the arduino)
100K Potentiometer (Different values will work too)
9 V batteries (enough to get you through the night)
Battery Adaptor (Make one)


Soldering Iron
Wire Cutter/Stripper
Eye Protection
Heat Shrink Tubing
Hair Dryer or Head Gun
Color Printer

Step 2: The Bow Tie

This can probably be done with a real bow tie but for me cardboard worked great. First thing you need is to dounload and install GIMP from It's free image editing software that rulez! Next you'll need this image of a bow tie.

What's cool about this image is its a large cartoon bow tie with only a few colors so you can easily edit it to the size and color you want.

Now open the image in gimp.

Use the Scale Image tool under Image to adjust the size of the bow tie. I prefer adjusting by percent.

Use the Hue-Saturation tool located under Colors and adjust the color of the bow tie to match any outfit. Keep in mind it may look a little darker or lighter depending on what paper its printed on. I just used regular computer paper.

You're ready to print it out and glue (I used super glue) it onto a supportive backing; plastic, posterboard, etc. I used 2 layers of cardboard from a USPS box. Use a sharpie to color the sides black. Let it dry thoroughly.

Step 3: The Code

I took Beka's code and modified it so I could adjust the speed with a potentiometer.
Here it is.

int timer = 100; // The higher the number, the slower the timing.
int potPin = 2; // This is where you attach the potentiometer
int pins[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 12}; // an array of pin numbers
int num_pins = 12; // the number of pins (i.e. the length of the array)

void setup()
int i;

for (i = 0; i < num_pins; i++) // the array elements are numbered from 0 to num_pins - 1
pinMode(pins[i], OUTPUT); // set each pin as an output

void loop()
int i;
for (i = 0; i < num_pins/2; i++) { // loop through each pin state (there are six)
digitalWrite(pins[i], HIGH); // turn one LED on,
digitalWrite(pins[i+num_pins/2], HIGH); //then turn its opposite LED on (six positions away)

//now turn the previous LEDs off:

if (i == 0){ //turn the last LED off from the previous go 'round
digitalWrite(pins[num_pins-1], LOW); //
} else{
digitalWrite(pins[i-1], LOW); // turn off each previous LED
digitalWrite(pins[(i+num_pins/2)-1], LOW);

timer = analogRead(potPin);

delay(timer); // pausing



Step 4: Wire It Up!

So you have you cardboard bow tie and your programmed ardunio so all thats left to do it put everything together.

First, mark out where you want your LEDs then use a pen or awl to punch out you holes. If you make them too big you'll have to hot glue them in so keep it a tight fit.

Next, bend all all of your ground (short) leads down towards the center of the tie. Then use a piece of wire to connect all the grounds together.

Now its time for the hard part. You have to solder all of the possitive leads to their correspoing wire on the ribbone cable. I use shrink tubing to make things look tidy. If you understand how the code works than you know that the LEDs connected to 1 and 7 will be lit at the same time, then 2 and 8, and so on. So you need to solder the LEDs accordingly. Beka's diagram may help explain it all.

Solder the ribbon cable to the connectors.
Connect the cable to the arduno.
Attach you potentiometer to the arduino.
Attach to you battery to the arduino.
You are done.

Step 5: Final Thoughts

Unexpectedly, I had great time at prom. The music was lame but my girlfriend look beautiful and everyone loved my tie. A good night in my book.

Get the LED Out! Contest

Participated in the
Get the LED Out! Contest