# ReBoots Animated LED Boot Laces

## Overview

http://youtu.be/TFK8Jd3VwEU

Glowing, animated boot laces. &nbsp;A sensor in each&nbsp;heel, watching you, weighing your every step, waiting for the opportune moment to light&nbsp;your stride and set your dance moves on fire.&nbsp; NeoPixels are glued to light pipe laces and programmed to animate and glow.

Zip into&nbsp;the ReBoots and become the cyborg you've always wanted to be.

![](https://cdn-learn.adafruit.com/assets/assets/000/023/614/medium800/sensors_IMG_3252.jpg?1425268755)

### Part: Pro Trinket
quantity: 2
Pro Trinket 5v
[Pro Trinket](https://www.adafruit.com/product/2000)

### Part: Battery Connector
quantity: 2
JST Battery Connector
[Battery Connector](https://www.adafruit.com/product/1769)

### Part: Neopixels
quantity: 2
Individual Neopixels
[Neopixels](https://www.adafruit.com/product/1559)

### Part: Battery
quantity: 2
500 mAh Lithium Polymer Battery
[Battery](https://www.adafruit.com/product/1578)

### Part: FSR
quantity: 2
Force Sensitive Resistor
[FSR](https://www.adafruit.com/product/166)

### Other Materials

- Killer Boots with Laces - I used&nbsp;[Demonia's Gothika600UV in Silver](http://www.amazon.com/Demonia-Womens-Gothika600Uv-Boots-Silver/dp/B003HVP2PC/ref=sr_1_4?s=apparel&ie=UTF8&qid=1424214357&sr=1-4&keywords=demonia+cyber+silver). This project relies on the laces being mostly&nbsp;a _decorative_ feature, not load-bearing…the boots are actually adjusted and closed with buckles and zippers.
- LED Shoelaces or Light Pipe -&nbsp;[I used 3 sets of these shoelaces from Flammi](http://www.amazon.com/gp/product/B00MVG3IV4/ref=oh_aui_detailpage_o05_s00?ie=UTF8&psc=1)
- 30awg silicone wire

### Tools Needed

- Soldering iron & accessories
- 3d Printer (optional)
- Hot glue gun
- Lighter
- Stapler
- Spray glue
- Needle & strong thread (a thimble helps too)

# ReBoots Animated LED Boot Laces

## Wiring

![](https://cdn-learn.adafruit.com/assets/assets/000/023/562/medium800/sensors_boots-diagram.png?1425008912)

### Wiring
The force-sensing resistor (FSR) connects to Pro Trinket pins A5 and GND (it can connect in either direction).

Easy peezy.

# ReBoots Animated LED Boot Laces

## LED Assembly

### 3D Printed Cases

These little 3d printed cases snap onto your NeoPixels&nbsp;and hold the light pipe shoelaces firmly in place against the LED&nbsp;for maximum brightness.

&nbsp;

Print them in white or transparent ABS or PLA.

![sensors_neopixel_case.jpg](https://cdn-learn.adafruit.com/assets/assets/000/023/325/medium640/sensors_neopixel_case.jpg?1424394195)

Info: 

[Download from Thingiverse](http://www.thingiverse.com/thing:690190)
 **If you don’t have access to a 3D printer, don’t worry!** The light pipes and pixels could also be joined with caps of hot glue, Shapelock (aka Instamorph or Friendly Plastic), Sugru or Apoxie Sculpt.

### Power&nbsp;and Ground Wires

Grab a tape measure&nbsp;and determine&nbsp;the distance between your shoelace holes.

Double the shoelace-hole-distance measurement. &nbsp;Lay out four&nbsp;30awg wires (2 for each boot) and make one mark for each NeoPixel's&nbsp;placement. &nbsp;I marked every 2" since my shoelace holes are 1" apart.&nbsp;

&nbsp;

Go outside. &nbsp;Grab a lighter with a hot, focused flame and char&nbsp;the shielding at each mark. &nbsp;Let it cool off a bit.

&nbsp;

Scrape off the ash and you'll have a nice bit of stripped wire at each mark.

![sensors_IMG_3292.jpg](https://cdn-learn.adafruit.com/assets/assets/000/023/504/medium640/sensors_IMG_3292.jpg?1424887575)

![sensors_IMG_3301.jpg](https://cdn-learn.adafruit.com/assets/assets/000/023/505/medium640/sensors_IMG_3301.jpg?1424887619)

![sensors_IMG_3305.jpg](https://cdn-learn.adafruit.com/assets/assets/000/023/506/medium640/sensors_IMG_3305.jpg?1424887614)

String all the NeoPixels&nbsp;onto your wires, being sure they're all aligned the same way -- all the "+" holes should go along one wire and all the "-" holes along the other.

&nbsp;

Slide one NeoPixel&nbsp;to each bare wire spot and twist it around 2-3 times to secure the bare wire to the solder pad. &nbsp;Once you have them all in place, solder each wire to each pad.

![sensors_IMG_3306.jpg](https://cdn-learn.adafruit.com/assets/assets/000/023/507/medium640/sensors_IMG_3306.jpg?1424888073)

![sensors_IMG_3307.jpg](https://cdn-learn.adafruit.com/assets/assets/000/023/508/medium640/sensors_IMG_3307.jpg?1424888086)

![](https://cdn-learn.adafruit.com/assets/assets/000/023/511/medium800/sensors_IMG_3308.jpg?1424888501)

### Data&nbsp;Wires

Connect all the "out" pads to the "in" pad of the next pixel, making sure your NeoPixel&nbsp;spacing matches up with your lace hole spacing.

Since my boot laces were exactly 1" apart, I cheated a little and simply stapled the data line holes together. &nbsp;If yours are a different distance you'll need to fiddle with stripping and soldering wires to get them to end up the right distance, but for 1" spacing, staples work brilliantly. &nbsp;&nbsp;

**However, for the connections&nbsp;that go&nbsp;across the ankle this will NOT work. &nbsp;** Any flexing of the strip will eventually break the staples, so only staple&nbsp;the NeoPixels&nbsp;that will be on the shin or the top of the foot. &nbsp;Use flexible stranded wire to connect the pixels that are anywhere near the ankle.

Solder the staples and stranded wires into place.

This is a great time to hook up your pixels&nbsp;with some alligator clips and the [NeoPixel Strandtest code](../../../../adafruit-neopixel-uberguide/arduino-library), and test to be sure all the pixels are working. &nbsp;I keep a Gemma pre-loaded with this code near my workbench for just this purpose.

![](https://cdn-learn.adafruit.com/assets/assets/000/023/512/medium800/sensors_test.jpg?1424888601)

### Adding the Light Pipe

Get out your LED shoelaces and cut them down so they fit nicely between opposite&nbsp;shoelace holes in your boots. Remember they'll be a little longer for the top holes and shorter for the bottom holes, for most boots.

![](https://cdn-learn.adafruit.com/assets/assets/000/023/513/medium800/sensors_IMG_3314.jpg?1424888664)

Pop your 3D printed 'cases'&nbsp;onto your NeoPixels, add a blob of hot glue right in the hole and shove the light pipe in while the glue is wet. &nbsp;When it dries it will hold the light pipe beautifully&nbsp;perpendicular to the LEDs. &nbsp;Hooray! &nbsp;If needed, add another blob of hot glue to the outside of the case for extra support.

&nbsp;

Now you have a creepy glowing alien spinal column to play with. &nbsp;Take some artsy photos.

![sensors_IMG_3322.jpg](https://cdn-learn.adafruit.com/assets/assets/000/023/515/medium640/sensors_IMG_3322.jpg?1424888757)

![sensors_IMG_3334.jpg](https://cdn-learn.adafruit.com/assets/assets/000/023/516/medium640/sensors_IMG_3334.jpg?1424888806)

![sensors_IMG_3324.jpg](https://cdn-learn.adafruit.com/assets/assets/000/023/517/medium640/sensors_IMG_3324.jpg?1424891116)

Once the glue is set, thread the light pipes through the shoelace holes, making sure the first NeoPixel&nbsp;in the sequence is at the top. &nbsp;I had to do some dissasembly on my boot to get them between the boot facing and boot liner -- each pair of boots is different so get a little creative. &nbsp;Sew or glue them in place.

Bend the pipes across and use hot glue to secure the other end in the opposite lace hole.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/023/332/medium800/sensors_IMG_3250.jpg?1424396559)

# ReBoots Animated LED Boot Laces

## Sensor Assembly

Adding the force sensitive resistor (FSR) into the heel of the boots will give you an opportunity to trigger animations, change modes, or just flash to the beat when you step down with each heel. &nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/023/326/medium800/sensors_IMG_3227.jpg?1424394416)

### Hook it Up

Hook up two long 30awg&nbsp;wires to the pads on your force sensitive resistor. &nbsp;

It's possible to solder these wires to the pads securely, but it is NOT easy to do. &nbsp;Be quick and neat, or the plastic tabs may&nbsp;melt. &nbsp;

[More connection options & info about FSRs](../../../../force-sensitive-resistor-fsr/connecting-to-an-fsr)

For all that it's difficult, soldering is probably your best bet since this will go under your heel. &nbsp;Nobody loves a bulky connector stabbing them with every step.

![](https://cdn-learn.adafruit.com/assets/assets/000/023/328/medium800/sensors_IMG_3226.jpg?1424394703)

### Placement

Open up the liner inside the heel of your boot and find a good spot for the sensor. &nbsp;(If there is any metal in there, screws or whatnot, cover it&nbsp;up with electrical tape first)

Poke a little hole in the boot right at heel level and thread the wires through to the outside. &nbsp;This will keep them safe from pulling and tearing when you're dancing or putting the boots on. &nbsp;(A needle threader works great for getting small wires through a very small hole.)

Feed the wires up the side of the boot to the cuff area,&nbsp;where they will attach to the Pro Trinket.

Later you'll want to use some spray glue to secure the sensor and liner back in place, but first let's test and make sure it all works.

![](https://cdn-learn.adafruit.com/assets/assets/000/023/329/medium800/sensors_reboots_wire_sensor.jpg?1424395474)

# ReBoots Animated LED Boot Laces

## Trinket Assembly

### Battery Connector

Solder a JST battery connector to the pads on the back of your Pro Trinket.

![sensors_IMG_3246.jpg](https://cdn-learn.adafruit.com/assets/assets/000/023/334/medium640/sensors_IMG_3246.jpg?1424397196)

### Hook it All Up

Decide where on your boots the Pro Trinket will live. &nbsp;You may want yours on the inside (for slickness) or the outside (for rocking your cyber style). &nbsp; Be sure the battery port and USB port are accessible, and be sure the reset button is safe from accidental squeezing when your boots are on.&nbsp;

Poke the wires from the NeoPixels&nbsp;and the sensor through&nbsp;the boots so they all happily meet&nbsp;at the Pro Trinket. &nbsp;Flex the boot a bit and make sure you have enough slack in the wires that they won't break if you dance too hard. &nbsp;

Solder the wires on according to the wiring diagram. &nbsp;Take your needle and thread and stitch the Pro Trinket to the boot so it stays securely in place.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/023/518/medium800/sensors_IMG_3345.jpg?1424889243)

# ReBoots Animated LED Boot Laces

## The Code

### Software Setup

If this is your first time using Pro Trinket, take a look at [Introducting Pro Trinket](../../../../introducing-pro-trinket/overview)&nbsp;to get a guided tour. &nbsp;&nbsp;

Once you've got your Pro Trinket&nbsp;up and running with [Arduino](../../../../getting-started-with-flora/download-software), you'll need to install the FastLED library.

### FastLED Library

You will also need to install the **FastLED** library in Arduino (`Sketch > Include Library > Manage Libraries...`)

### Libraries? Why? What's a Library?

In a nutshell, Arduino libraries&nbsp;have&nbsp;a lot of pre-written functions that make your neopixels easy to command. &nbsp;You can do fancy stuff without being a code guru. Yay Libraries!

FastLED is a fast, efficient, easy-to-use Arduino library for programming addressable LED strips and pixels. &nbsp;It has a lot of features to get your animations up and running fast -- and it has a lot of code samples available if you're just learning to code.

[All about Arduino Libraries](../../../../adafruit-all-about-arduino-libraries-install-use/arduino-libraries)&nbsp;will&nbsp;tell you everything you ever wanted to know about libraries, including more detailed installation instructions.

Once your curiosity is satiated and your library is installed, copy and paste the code into your Arduino window.

Go to your Tools menu and select "Pro Trinket 5V USB"&nbsp;from the list of boards. &nbsp;Plug your&nbsp;Pro Trinket&nbsp;into your computer via the onboard USB port. &nbsp;Press the "reset" button on your Pro Trinket and wait for the blinky red light, then click the upload button in Arduino.

```
#include &lt;FastLED.h&gt;

#define LED_PIN     3
#define NUM_LEDS    16          //change this to reflect the number of neopixels in your boots

#define SENSOR_LOW  35          //these numbers will change the sensitivity of the sensor.  Lower numbers = harder step to trigger
#define SENSOR_HIGH  65   


CRGB leds[NUM_LEDS];
CRGBPalette16 currentPalette;
TBlendType    currentBlending;

uint8_t thishue = 0;
uint8_t deltahue = -3;     //controls how quickly the rainbow fades from one color to another. Negative numbers make the rainbow 
                           //  aapear to crawl "down" and positive numbers make it crawl "up"
 

const int STEP_PIN = A5;  // Analog input pin that the force sensitive resistor is attached to
int sensorValue = 0;        // value read from the pot
int ledMode = 0;  

void setup() {
  // initialize serial communications at 9600 bps:
  Serial.begin(9600);
 pinMode(STEP_PIN, INPUT_PULLUP); 
 FastLED.addLeds&lt;WS2812B, LED_PIN, GRB&gt;(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );

 
}

void loop() {
  
  // read the analog in value:
  sensorValue = analogRead(STEP_PIN);              
  // print the results to the serial monitor:
 Serial.print("sensor = " );                       
  Serial.println(sensorValue);      

    switch (ledMode) {
       case 999: break;
       case 0: rainbow(); break;           //mode that's running all the time            
       case 1: fire(); break;             //mode that runs when sensor is triggered               
    }
  if (sensorValue &lt; SENSOR_LOW){
  Serial.println("leds triggered"); 
  ledMode=1;
}  
if (sensorValue &gt; SENSOR_HIGH){
  Serial.println("leds not triggered"); 
  ledMode=0;

}  
}

//RAINBOW EFFECT

void rainbow()
{ 
 thishue = thishue + 1;
 fill_rainbow(leds, NUM_LEDS, thishue, deltahue);
 FastLED.show();
 FastLED.delay(100);                       //change delay number to speed up or slow down the animation
}


//FIRE EFFECT by Mark Kriegsman

void fire()
{
  currentPalette = LavaColors_p;  
  Fire2012WithPalette(); // run simulation frame, using palette colors
  FastLED.show(); // display this frame
  FastLED.delay(100);  
  
}

#define COOLING  55  // Less cooling = taller flames. Default 55, suggested range 20-100
#define SPARKING 120 //Higher chance = more roaring fire.  Default 120, suggested range 50-200

void Fire2012WithPalette()
{
  random16_add_entropy( random());
  static byte heat[NUM_LEDS];
    for( int i = 0; i &lt; NUM_LEDS; i++) {
      heat[i] = qsub8( heat[i],  random8(0, ((COOLING * 10) / NUM_LEDS) + 2));
    }
    for( int k= NUM_LEDS - 3; k &gt; 0; k--) {
      heat[k] = (heat[k - 1] + heat[k - 2] + heat[k - 2] ) / 3;
    }
    if( random8() &lt; SPARKING ) {
      int y = random8(7);
      heat[y] = qadd8( heat[y], random8(160,255) );
    }
    for( int j = 0; j &lt; NUM_LEDS; j++) {
      
      byte colorindex = scale8( heat[j], 240);
      leds[ (NUM_LEDS-1) - j ] = ColorFromPalette( currentPalette, colorindex);  //upside down fire!!  reverse it: leds[j] = ...
     
    }
}

```

Plug in your LiPo battery and the boots will come on in Rainbow mode. &nbsp;Step or press down on the sensor in the boot heel, and they will switch to Fire mode.

You may need to tweak the SENSOR\_HIGH and SENSOR\_LOW numbers until you have a satisfying rainbow-to-fire ratio.

# If you encounter trouble…

Any time you&nbsp;hit a roadblock&nbsp;with a neopixel&nbsp;project, we’ll usually ask that you start with the “strandtest” example from our own Adafruit\_NeoPixel library. This helps us narrow down whether it’s a hardware or software issue. The library is installed similarly to FastLED or any other in Arduino (`Sketch > Include Library > Manage Libraries...`)

You’ll find the strandtest example under&nbsp; **File→Sketchbook→Libraries→Adafruit\_NeoPixel→strandtest**

**If strandtest fails to run, this suggests a hardware issue** …for example, connecting to the wrong Gemma&nbsp;pin.

If you’re new to Arduino programming and LEDs, we usually suggest starting with the Adafruit\_NeoPixel library…it’s pretty basic, the strip declaration is more conventional, and we can stay on top of keeping it compatible with our own products and the most mainstream Arduino boards.

As FastLED is a more “bleeding edge” third-party library, **we can’t always guarantee compatibility across versions or with specific boards.** You can find help through their **[community on Google+](https://plus.google.com/communities/109127054924227823508)**. This is potent stuff, written by people with a deep appreciation for LED art, and we wanted to showcase it.

# ReBoots Animated LED Boot Laces

## Finishing

![](https://cdn-learn.adafruit.com/assets/assets/000/023/543/medium800/sensors_IMG_3228.jpg?1424902892)

Once you're happy with your sensor placement and the code is all working, use some spray glue to glue down the sensor and the heel pad inside the boot.

Plug in your battery and tuck it someplace safe. &nbsp;

Try them on, stomp around, and set the place on fire!

![](https://cdn-learn.adafruit.com/assets/assets/000/023/544/medium800/sensors_IMG_3252.jpg?1424902996)


## Featured Products

### Adafruit Pro Trinket - 5V 16MHz

[Adafruit Pro Trinket - 5V 16MHz](https://www.adafruit.com/product/2000)
 **Deprecation Warning: The Pro Trinket bit-bang USB technique it uses doesn't work as well as it did in 2014, many modern computers won't work well. So while we still carry the Pro Trinket so that people can maintain some older projets, we no longer recommend it.** Please...

In Stock
[Buy Now](https://www.adafruit.com/product/2000)
[Related Guides to the Product](https://learn.adafruit.com/products/2000/guides)
### Flora RGB Smart NeoPixel version 3 - Sheet of 20

[Flora RGB Smart NeoPixel version 3 - Sheet of 20](https://www.adafruit.com/product/1559)
So, you want lots and lots of NeoPixels? And you want them for less? Not a problem! Here's a sheet of Flora NeoPixels fresh from the (reflow) oven. Cut them off as you need 'em and save a pretty penny while you're at it.  
  
**Each order comes with 20 pixels on a...**

In Stock
[Buy Now](https://www.adafruit.com/product/1559)
[Related Guides to the Product](https://learn.adafruit.com/products/1559/guides)
### Round Force-Sensitive Resistor (FSR) -  0.3 ~ 10 Newton Force

[Round Force-Sensitive Resistor (FSR) -  0.3 ~ 10 Newton Force](https://www.adafruit.com/product/166)
FSRs are sensors that allow you to detect physical pressure, squeezing and weight. They are simple to use and low cost. This sensor is an Alpha MF01A-N-221-A01&nbsp;with 1/2 diameter sensing region.

We used to stock the Interlink model 402 FSR - the Alpha version is almost half the price...

Out of Stock
[Buy Now](https://www.adafruit.com/product/166)
[Related Guides to the Product](https://learn.adafruit.com/products/166/guides)
### Lithium Ion Polymer Battery - 3.7v 500mAh

[Lithium Ion Polymer Battery - 3.7v 500mAh](https://www.adafruit.com/product/1578)
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This battery has a capacity of 500mAh for a total of about 1.9 Wh. If you need a larger (or smaller!) battery, <a...></a...>

Out of Stock
[Buy Now](https://www.adafruit.com/product/1578)
[Related Guides to the Product](https://learn.adafruit.com/products/1578/guides)
### JST-PH 2-Pin SMT Right Angle Connector

[JST-PH 2-Pin SMT Right Angle Connector](https://www.adafruit.com/product/1769)
A simple 2-pin connector that is compatible with the "JST PH 2-pin" connector - perfect for soldering to the bottom of our [3.3V Logic Trinket](//www.adafruit.com/products/1500) and [5V Logic Trinket](//www.adafruit.com/products/1501)! These mate perfectly with...

In Stock
[Buy Now](https://www.adafruit.com/product/1769)
[Related Guides to the Product](https://learn.adafruit.com/products/1769/guides)
### Silicone Cover Stranded-Core Wire - 2m 30AWG White

[Silicone Cover Stranded-Core Wire - 2m 30AWG White](https://www.adafruit.com/product/2006)
Silicone-sheathing wire is super-flexible and soft, and its also strong! Able to handle up to 200°C and up to 600V, it will do when PVC covered wire wimps out. We like this wire for being extremely supple and flexible, so it is great for wearables or projects where the wire-harness has to...

In Stock
[Buy Now](https://www.adafruit.com/product/2006)
[Related Guides to the Product](https://learn.adafruit.com/products/2006/guides)
### Silicone Cover Stranded-Core Wire - 2m 30AWG Yellow

[Silicone Cover Stranded-Core Wire - 2m 30AWG Yellow](https://www.adafruit.com/product/2004)
Silicone-sheathing wire is super-flexible and soft, and its also strong! Able to handle up to 200°C and up to 600V, it will do when PVC covered wire wimps out. We like this wire for being extremely supple and flexible, so it is great for wearables or projects where the wire-harness has to...

In Stock
[Buy Now](https://www.adafruit.com/product/2004)
[Related Guides to the Product](https://learn.adafruit.com/products/2004/guides)

## Related Guides

- [Fiddy - the FTDI Clip](https://learn.adafruit.com/fiddy-ftdi-pogo-pin-clip.md)
- [Unibeam](https://learn.adafruit.com/unibeam.md)
- [Adding Third Party Boards to the Arduino v1.6.4+ IDE](https://learn.adafruit.com/add-boards-arduino-v164.md)
- [DIY Pocket LED Gamer - Tiny Tetris!](https://learn.adafruit.com/diy-3d-printed-handheld-pocket-game-tiny-tetris-snake.md)
- [Morning Star POV Double Staffs](https://learn.adafruit.com/pov-dotstar-double-staff.md)
- [Wizzy: A Needle Felted Cat](https://learn.adafruit.com/wizzy-a-needle-felted-cat.md)
- [Ray Gun Blaster](https://learn.adafruit.com/ray-gun-blaster.md)
- [Pro Trinket as a USB HID Mouse](https://learn.adafruit.com/pro-trinket-usb-hid-mouse.md)
- [Portable Trellis Sound Board](https://learn.adafruit.com/portable-trellis-sound-board.md)
- [Talking d20 20-Sided Gaming Die](https://learn.adafruit.com/talking-d20-20-sided-gaming-die.md)
- [Adafruit Pro Trinket LiPoly/LiIon Backpack](https://learn.adafruit.com/adafruit-pro-trinket-lipoly-slash-liion-backpack.md)
- [Neopixel Crystal Chandelier with CircuitPython Animations and Speed Control](https://learn.adafruit.com/neopixel-crystal-chandelier-with-circuitpython-animations-and-speed-control.md)
- [Using NeoPixels and Servos Together](https://learn.adafruit.com/neopixels-and-servos.md)
- [Animated Scrolling "Mario Clouds" TFT Jewelry](https://learn.adafruit.com/scrolling-mario-clouds-tft-jewelry.md)
- [Light of Your Life Wedding Bouquet](https://learn.adafruit.com/light-of-your-life-wedding-bouquet.md)
