3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

turn signal biking jacket

turn signal biking jacket
«
  • bike_square.jpg
  • 2597503959_6803ff964a.jpg
This tutorial will show you how to build a jacket with turn signals that will let people know where you're headed when you're on your bike. We'll use conductive thread and sewable electronics so your jacket will be soft and wearable and washable when you're done. Enjoy!

A version of this tutorial is also on my website.


 
Remove these adsRemove these ads by Signing Up
 

Step 1Supplies

supplies
.
Get your supplies. You need:

-- LilyPad Arduino main board
-- FTDI connector
-- mini USB cable
-- LilyPad power supply
-- 16 LilyPad LEDs (note: these aren't available from SparkFun yet, but will be soon)
-- 2 push button switches
-- a spool of 4-ply conductive thread
-- a digital multimeter with a beeping continuity tester. This is the one I have.
-- a garment or a piece of fabric to work on
-- a needle or two, a fabric marker or piece of chalk, puffy fabric paint, a bottle of fabric glue, and a ruler
(Available at your local fabric shop or Joann Stores.)
-- a pair of scissors
-- double sided tape (optional)
-- a sewing machine (optional)

disclosure: I designed the LilyPad, so I'll make some $ if you buy one.
« Previous StepDownload PDFView All StepsNext Step »
179 comments
1-40 of 179next »
May 27, 2012. 8:06 PMpaulolondres says:
CAN I USE A SMD STRING LED ? THAT IS SOLD AT HOOBYKING? INSTEAD OF LILYPAD LED?

THANKS
Feb 22, 2012. 7:43 PMDrWilliamHorriblePhD says:
How do we make this project waterproof? I understand it not being machine washable, of course, but I need some way to clean it, some insurance that it's not going to short and burn me because it started raining...
Apr 10, 2012. 8:13 PMTheRealJTweet says:
I WAS going to suggest Liquipel (http://www.thedailyserge.com/2012/03/tech-tuesdays-vol-25-waterproof.html?spref=fb) until I remembered that Liquipel is more of a SERVICE than a product. Add to that I don't even know if the machinery is equipped for clothing. NEVER FEAR: The solution is once again back into the capable hands of the DIY-er:

http://www.floatingpath.com/2012/02/18/nano-tech-waterproof/

This Never Wet superhyrophobic stuff works great with clothing.

Hope that the product reaches retail soon.
Jan 9, 2011. 10:07 AMlizrincon says:
I was testing the sewing on the jacket, and found that the left signals were not blinking.

I tested resistance, all was fine, so I went into the code and first changed left to right signals.

Once I was sure I had not messed up with the sewing, I modified the loop code so that both blink when testing, helping me make sure that connections are correct.

I wanted to share it here, in case someone else is testing it and wants both signals to flash:


int ledPin = 13; // the LED on the LilyPad
int leftSignal = 9; // my left turn signal is attached to petal 9
int rightSignal = 11; // my right turn signal is attached to petal 11
int signalLow = 10; // the - sides of my signals are attached to petal 10

void setup()
{
pinMode(ledPin, OUTPUT); // sets the ledPin to be an output
pinMode(leftSignal, OUTPUT); // sets the leftSignal petal to be an output
pinMode(rightSignal, OUTPUT); // sets the rightSignal petal to be an output
pinMode(signalLow, OUTPUT); // sets the signalLow petal to be an output
digitalWrite(signalLow, LOW); // sets the signalLOW petal to LOW (-)
}

void loop() // run over and over again
{
delay(1000); //wait for 1 second
digitalWrite(rightSignal, HIGH); // turn the right signal on
delay(1000); // wait for 1 second
digitalWrite(rightSignal, LOW); // turn the right signal off
delay(1000); // wait for 1 second
digitalWrite(leftSignal, HIGH); // turn the left signal on
delay(1000); // wait for 1 second
digitalWrite(leftSignal, LOW); // turn the left signal off
delay(1000); // wait for 1 second
}


Feb 22, 2012. 7:42 PMDrWilliamHorriblePhD says:
Thanks. +1
Feb 18, 2012. 1:20 PMscottstead says:
and an FYI, I'm buying a 1966 Vespa (they didn't start putting turn signals on them until 1974) - which means no turn signals. While they are not required because they're grandfathered in I feel I'll be much safer wearing my turn signals...so thanks for the idea!
Feb 18, 2012. 1:18 PMscottstead says:
The turn signal code fortunately was cached by google! This should be the final code to get it working...

START CODE:

int boardLED = 13;
int leftSignal = 9;
int rightSignal = 11;
int signalLow = 10;
int rightLow = 4;
int leftSwitch = 6;
int rightSwitch = 12;
int leftLED = 5;
int rightLED = 3;
int x, y;
int mode = 0;
int DAY = 0;
int NIGHT = 1;

void setup() // run once, when the sketch starts
{
pinMode(boardLED, OUTPUT);

pinMode(leftSignal, OUTPUT);
pinMode(rightSignal, OUTPUT);

pinMode(signalLow, OUTPUT);
pinMode(rightLow, OUTPUT);

pinMode(leftSwitch, INPUT);
digitalWrite(leftSwitch, HIGH);
pinMode(rightSwitch, INPUT);
digitalWrite(rightSwitch, HIGH);

pinMode(leftLED, OUTPUT);
pinMode(rightLED, OUTPUT);

digitalWrite(boardLED, HIGH);
digitalWrite(signalLow, LOW);
digitalWrite(rightLow, LOW);
}

void loop() // run over and over again
{
checkLeft();
checkRight();
if (mode == NIGHT)
night();
else
day();
}

void checkLeft()
{
if (digitalRead(leftSwitch) == LOW)
{
digitalWrite(boardLED, LOW);
while (digitalRead(leftSwitch) == LOW)
{
if (digitalRead(rightSwitch) == LOW)
{
while (digitalRead(rightSwitch) == LOW | digitalRead(leftSwitch) == LOW);
mode = 1-mode;
digitalWrite(boardLED, HIGH);
return;
}
}
leftTurn();
}
}

void checkRight()
{
if (digitalRead(rightSwitch) == LOW)
{
digitalWrite(boardLED, LOW);
while (digitalRead(rightSwitch) == LOW)
{
if (digitalRead(leftSwitch) == LOW)
{
while (digitalRead(leftSwitch) == LOW | digitalRead(rightSwitch) == LOW);
mode = 1-mode;
digitalWrite(boardLED, HIGH);
return;
}
}
rightTurn();
}
}

void leftTurn()
{
for (x=0;x<10;x++)
{
digitalWrite(leftSignal, HIGH);
digitalWrite(leftLED, LOW);
for(y=0;y<10;y++)
{
delay(30);
if (digitalRead(leftSwitch) == LOW)
{
while (digitalRead(leftSwitch) == LOW);
digitalWrite(leftSignal, LOW);
digitalWrite(leftLED, LOW);
return;
}
}
digitalWrite(leftSignal, LOW);
digitalWrite(leftLED, HIGH);
for(y=0;y<10;y++)
{
delay(30);
if (digitalRead(leftSwitch) == LOW)
{
while (digitalRead(leftSwitch) == LOW);
digitalWrite(leftSignal, LOW);
digitalWrite(leftLED, LOW);
return;
}
}
digitalWrite(leftLED, LOW);
}
}

void rightTurn()
{
for (x=0;x<10;x++)
{
digitalWrite(rightSignal, HIGH);
digitalWrite(rightLED, LOW);
for(y=0;y<10;y++)
{
delay(30);
if (digitalRead(rightSwitch) == LOW)
{
while (digitalRead(rightSwitch) == LOW);
digitalWrite(rightSignal, LOW);
digitalWrite(rightLED, LOW);
return;
}
}
digitalWrite(rightSignal, LOW);
digitalWrite(rightLED, HIGH);
for(y=0;y<10;y++)
{
delay(30);
if (digitalRead(rightSwitch) == LOW)
{
while (digitalRead(rightSwitch) == LOW);
digitalWrite(rightSignal, LOW);
digitalWrite(rightLED, LOW);
return;
}
}
digitalWrite(rightLED, LOW);
}
}

void night()
{
digitalWrite(boardLED, LOW);

digitalWrite(rightSignal, HIGH);
digitalWrite(leftSignal, HIGH);
digitalWrite(leftLED, LOW);
digitalWrite(rightLED, LOW);
delay(100);
digitalWrite(rightSignal, LOW);
digitalWrite(leftSignal, LOW);
digitalWrite(leftLED, HIGH);
digitalWrite(rightLED, HIGH);
delay(100);
digitalWrite(leftLED, LOW);
digitalWrite(rightLED, LOW);
}

void day()
{

digitalWrite(boardLED, HIGH);
delay(1);
digitalWrite(boardLED, LOW);
digitalWrite(leftLED, HIGH);
delay (1);
digitalWrite(leftLED, LOW);
digitalWrite(rightLED, HIGH);
delay(1);
digitalWrite(rightLED, LOW);
delay (5);
}
Jan 8, 2012. 4:30 PMhommar.aviles says:
Hi,

I'm really excited for this project. I'm using a Mac 10.6.8. I'm following the directions on the arduino page, but I didn't notice where or how to install the drivers and the lilypad arduino is not being recognized as a serial port. Any suggestions?
Dec 9, 2011. 10:54 AMlyakunina says:
"We're sorry ... the requested page cannot be found on the Computer Science Department website: /~buechley/LilyPad/build/turn_signal_code.txt"

Can you upload code again?
Oct 25, 2011. 5:06 AMkperezdupa says:
this idea is really helpful, but after you do it, is it washable????
Nov 11, 2011. 10:29 PMbyoung13 says:
I'd like to know the answer to this question, or if it can be worn while in the rain
Nov 8, 2011. 7:41 PMreverpas says:
donde puedo encontrar el codigo de este proyecto ?? se los agradeceria please
Sep 11, 2011. 7:13 AMagis68 says:
what if i use the arduino duemilanove and not the Lilypad (hard to find)???
Sep 26, 2011. 10:14 PMmman1506 says:
That's fine they're exactly the same internally
Sep 26, 2011. 2:27 PMjnewman11 says:
Great idea and everything, but did you have to use a black jacket? A nice bright color of jacket, perhaps even a contrasting one to the LEDs would be a better idea
Sep 20, 2011. 6:03 PMdaviafleming says:
This is by far my favorite and most useful (for my lifestyle) instructable yet! Especially living in Portland Oregon where biking is our preferred mode of transportation.
Sep 11, 2011. 7:07 AMagis68 says:
well this exactly i need to build riding my motorbike....also i have an extra idea to add same signals in goves.......
Jul 25, 2011. 12:34 PMben_xman says:
Mind my noobish asking, whats difference between the 168 (which has been retired) and the 328 models?
Aug 22, 2011. 7:00 PMjma89 says:
It has to do with the ATMega chip used on the board. The 168 was used the the Arduino in time past, but it has been replaced by the 328. Biggest advantages are increased program memory (32K up from 16K) and 2K of RAM (Up from 1K)

I'm sure there are other cool differences, but those two are the biggest ones to note.
Jul 31, 2011. 9:52 AMbeavercleaver says:
Very nice project, will it operate while rain soaked?
Jul 13, 2011. 2:32 AMVranov says:
Very usefull :)
Thank's - all drivers pass me by safely during night ride
Jul 3, 2011. 5:36 AMnkeller1 says:
what would be a bit better idea would be to add some red leds with the yellow leds to be able to signal when stopping?
Jun 25, 2011. 4:30 AMpizz says:
Nice idea, I'm going to try doing this on a backpack.
Jun 9, 2011. 10:22 PMbloodgarm1 says:
I even changed the positioning of the buttons... in my prototype they are on the sides of index fingers. And "jackzylkin " said about light activating when we bend our elbows.. i am interested in doing that too.
Jun 9, 2011. 10:16 PMbloodgarm1 says:
I made one similar to this using leather and different circuits... was looking for similar products i found yours ;) i used the latest ones available of sparkfun. Im trying to use this idea in different feild...
May 10, 2011. 5:04 PMhappyjo says:
I noticed your first picture appeared in the Scholastic Almanac 2011!
Congratulations!
Apr 30, 2011. 8:01 PMpoofrabbit says:
This is simply brilliant!
Mar 25, 2011. 6:22 PMmary candy says:
I love this thing!!!
it is pretty awesome.
Jan 16, 2011. 5:46 PMsillywilly says:
Very nice and innovative "ible"! One suggestion, if a person were to install this circuitry in one of those neon reflective vests like construction workers wear, there would be extra visibility plus no need to wash the garment nearly so often as a sweatshirt? :--) Also, you might have a salable product there?
Jan 12, 2011. 10:09 AMfossilfool says:
Great invention, would love to see some riding action shots! Keep it up. Fossil Fool.
Jan 7, 2011. 7:41 PMmijoette says:
Very cool! How difficult would it be to make this waterproof incase of flash showers?
Sep 28, 2009. 8:33 PMbanane says:
This is a really sweet product! I'm looking forward to make one when money will be pouring in. I might ask the same question as Poincare but... first, I know nothing about electronics and I was wondering if any LED was compatible with the other LilyPads? Can I just buy any LED and use it or do I have to somewhat work on them? Are you going to sell the LilyPad LEDs any time soon? If yes, I'll just wait for it to be available. Thanks a bunch!
Dec 12, 2010. 10:42 PMmikebook says:
I'm assuming that the Lillypad LEDs are machine washable and designed to be used in wearable applications. I'm not sure though, and that was going to be my very same question. I've been looking at some applications to justify getting an Arduino to play around with, and this is definitely going on my list.
Sep 28, 2009. 8:41 PMbanane says:
Hello again :) I don't know how to edit my message so... here it goes anyway! I noticed that the LilyPad Arduido 168 Main Board and the LilyPad Power Supply are washable but when I have my finished product, can I just throw it in the washing machine (after taking out the battery)? If not, what do I have to remove? I'm sorry if my questions are a burden.
Oct 1, 2009. 6:45 AMannabelleolivier says:
Remove battery and hand wash with mild soap, hang to dry. LilyPad LEDs are available at sparkfun. Cheers, Annabelle
Nov 28, 2010. 10:09 PMdjrock9000 says:
That totally remind me of a turn signal I had on my bike a long time ago lol. I have a few Arduino projects I have been working on that I would like to share. I have a really popular PHP Serial project I have been working on that is pretty cool. I have a special area on my blog just for Arduino projects. Here is the link http://missionduke.com/arduino-projects/
Aug 30, 2010. 2:55 PMjackzylkin says:
Hey, your instructable is great. I have thought about this idea, and can't get past the difficulty of how to press the buttons easily. Have you considered putting flex sensors in the elbows, so that an arm bent at 90 degrees triggers the lights? That is what my boy scout handbook says to do to signal a turn...
Sep 14, 2010. 9:39 PMNitemare says:
what about the jackets where you put your thumb through a hole in the sleeve? that way the switch can rest between your thumb and the first knuckle and a little squeeze of your hand can activate the switch
May 24, 2010. 8:29 AMpatenaude says:
Hi Leah,

I love the project, but I'm wondering about the design.  Each LED looks like it takes 20mA.  Putting 7 in parallel means each of the two pins will be sourcing 140 mA.  Is that driving the chip too hard? Does it get hot? 
Jul 9, 2010. 2:55 AMEonir says:
Arduino is designed to work safely from a USB, which provides a maximum of 500mA.
1-40 of 179next »

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
110
Followers
1
Author:leahbuechley