Intro: Mountain Safety Jacket: Movement Sensitive LED Jacket
Improvements in lightweight and wearable electronics are opening new possibilities for bringing technology into the backcountry and using it to increase the safety of those who explore. For this project, I drew on my own experiences with outdoor adventuring to imagine the future of my favorite outdoor clothing brands and increase wilderness safety without being GPS-enabled.
The Mountain Safety Jacket uses the Adafruit FLORA board to control FLORA Pixel LED strips embedded in the wrists and hood of a jacket. Like many headlamps, the wearer can toggle through several light settings to adjust the brightness and color of the LEDs. While the jacket is in use, a simple tilt switch senses whether or not the wearer is moving; after the wearer is motionless for 15 minutes, the circuit triggers the LEDs to flash endlessly, making the wearer more visible to rescuers. This flashing can only be deactivated by resetting the circuit using the FLORA board embedded on the back of the hood.
DISCLAIMER: this is a speculative object! It does not guarantee outdoor safety (nothing can guarantee outdoor safety) and has not been tested in a real backcountry setting (yet).
Please let me know know you think!
Step 1: Gather Materials
It's a long list! I included everything I used, but feel free to substitute with your own items where applicable.
1 Adafruit FLORA Board - $14.95
1 3.7V 1200mAh LiPo battery - $9.95
12 Flora RGB Smart Neopixels - $7.95 per 4 = $23.85 for 12 (note: when I bought these they came in a pack of 20, but I don't see that on the Adafruit site now)
1 tilt switch - $2.00
8 meters each of red, black, and white silicone-coated wire - $0.75 per 2 meters of each = $9.00
2 10k Ohm resistors (I already had these, but you can purchase them here)
Micro USB cable - this is required to connect the FLORA board to a computer, but you can just use one that you already have lying around (as long as it has an information pin). The Apple brand micro USB charger works, but certain Bluetooth headphone charger cables won't... try yours out before buying a new one!
Small bits of copper tape (the top two items on this list)
Electronics Tools - these are things I already had available to me
For soldering: soldering iron, solder, fan, helping hands, heat shrink tubing, heat gun, wire snips, wire strippers, needle-nosed pliers, solder wick and/or a solder sucker
For circuit testing: multimeter, breadboard, alligator clips
Sewing supplies - these are also items I found or had available to me
Dark red thread (or whichever color matches your jacket)
Silicone rubber sheets (like the ones found here)
Fabric scissors and thread snippers (normal scissors will do, as well)
Fabric glue (I used Fabri-Tac, found here)
Small pieces of velcro (for securing the battery)
An old jacket! The one I used for this Instructable is an old rowing jacket I've had since freshman year of high school. It's been on almost all of my outdoor adventures since then, but I felt like it was time to retire it. Perhaps there's some symbolism in using this old item to think about the future...
Step 2: Download the Code
All of the code is available here on Github. Use the MountainSafetyJacket_fullworking as the current full-function version of the code, although the version fullworking_serial may help you test parts of the code with the Serial Monitor. The demo1 code will simply cycle through all of the light settings, while the demo2 code will cycle the lights and test for motion. Other code files are available in the repository to help you test the individual components.
The code tracks the states of both the softbutton and the tilt switch. Every time the softbutton is pressed, the light setting changes (1. all LEDs off, 2. all LEDs bright white, 3. all LEDs half white, 4. all LEDs bright red, 5. all LEDs blink red). When the tilt switch senses that its state has not changed for about 3 minutes (in this draft code. This will be longer in the actual object), the LEDs will be triggered to blink endlessly until the circuit is reset by flipping the switch on the Flora board.
Step 3: Solder the Pixels and Tilt Switch
Test all of your components before soldering them: Test the Flora Pixels using the NeoPixel strandtest (instructions in the Flora Pixel Guide) by hooking them together with alligator clips. Test the tilt switch using the test circuit and code in this tilt switch guide.
For the pixels that will go around the wrists of the jacket, cut lengths of each color of the silicone-coated wire to reach from the bottom of the cuff to the middle of the shoulders (about 1m on my jacket). There are four pixels per wrist, arranged in two pairs -- two pixels on top of the wrist and two on the bottom. For the wires between the pixel pairs, measure and cut about 6 inches of each color of wire. For the wires between the pixels within each pair, measure and cut about 1.5 inches.
Mind the direction of the arrows on each pixel indicating the input and output plates. Solder these before doing the ground (black) and power (red) busses. The arrows should be pointing away from the longest piece of wire (the one that will go all the way up to the shoulder). Use the white wires to connect the input of each pixel to the output of the next. Then solder in the power and ground busses with the red and black wires.
These four pixels will be equidistant in the headlamp which will go in the hood of the jacket. Cut three lengths of about 1 inch each of each color of wire. The red and black wires (for the power and ground busses) will need to be a bit longer than the white input/output wires, so cut them them to about 1.25 inches. Cut about a 1-2ft length of each color of wire to go between the strip and the Flora board (in the middle of the shoulders). Check the orientation of the arrows and then solder them in the same way as the wrist pixels.
Test all of the pixel strips again! Attach the ends of the wires to the Flora Board using alligator clips.
Solder a 10k Ohm resistor to a 1ft red wire, then solder the other end of the resistor to one leg of the tilt switch, along with a 1ft white wire (check the tilt switch tutorial to make sure you have the correct set up). Solder a 1ft black wire to the other leg of the tilt switch. Cover exposed connections with heat shrink tubing.
Test the tilt switch again!
Step 4: Make the Softbutton
Check out the Digital Input section of this other Instructable for a better description of how the button works and how to wire it.
Cut a 6"x3" rectangle of felt. To one half of the rectangle, stick a wide piece of copper tape that goes almost entirely across the width of the felt (as shown). Cut two more strips of copper tape, each not quite half as long as the first one. Onto one of these strips, solder a 10k Ohm resistor attached to a 2ft red wire, as well as a 2ft white wire. Onto the other strip, solder a 2ft black wire. Stick these two strips onto on other half of the felt rectangle; the button is formed by folding the felt rectangle in half, hamburger style. Layer a few scrap pieces of felt on top of the ends of the copper tape to keep separation between the sides of the button, and secure everything with fabric glue. Then test the button with your breadboard and the Arduino sample sketches Button and Debounce found by going to File > Examples > 02. Digital.
Step 5: 3D Print Headlamp Cover
3D printer file available here. I have access to an Objet260 Connex3 3D printer, which is super fancy, so I printed using a blend of clear flexible and rigid material (TangoPlus 40% blend) to achieve my desired rigidity and light diffusion (for about $10). However, it's a pretty simple print that should be possible on most 3D printers. Try it out and let me know how it works!
The seam between the flat outer lip and the bubble is structurally weak, but it worked out well to allow me to sew through it, which we will do in the next step...
Step 6: Sew Silicone Casings
If you're not sure what the stitches are that I reference in this section, check out this helpful blog!
It's time to use that weird silicone rubber sheet! Cut eight 4"x2" rectangular pieces, and two ovular pieces (trace around the 3D printed cover). For the LEDs on the strips that will go around the wrists, sandwich each pair between two of the silicone rectangles. Stitch the wires into the bottom rectangle to hold the pair in place, then sew the two rectangles together using a running stitch.
Repeat this process for the headlamp pixels and the ovular silicone pieces, then sew a piece of white scrap fabric behind the bottom piece of silicone. Sew these three layers directly onto the 3D printed cover using an overcast stitch by piercing the weak seam between the lip and the bubble of the cover. If you printed in a rigid material, you may have to try hot glue or velcro.
You can further waterproof these casing by spreading silicone caulk or hot glue around the edges.
Step 7: Embed LED Strands
Mark the jacket with chalk or wax pencil to indicate the locations on the sleeves for each of the wrist pixel strips, the headlamp location on the hood, and the point between the shoulder blades where the Flora Board will rest. On my jacket, I just cut slits or X's in the locations where I wanted to embed my electronics, but there are probably better ways to do it.
For the headlamp: I used fabric glue to embed it in an oval shaped hole in the hood and tucked in the edges around it. Thread the wires through the inside of the jacket and out the hole in the back. I bundled my wire trios with masking tape labels to differentiate them before I soldered them to the Flora board.
For the wrist pixels: I used a running stitch to sew each pair into the slit I had cut in the wrist, attaching them only on two sides and not worrying about the rest. Thread them through the jacket and out the holes in the back.
For all of the long wires: stitch at least two anchor points along the path of each wire bundle; ensure that there is some slack between each anchor point.
Step 8: Embed Tilt Switch and Battery
I made a small pouch for the battery using a piece of felt and fabric glue. It is important that the battery is secure, but easily removable for charging.
I tucked the battery and tilt switch into the collar of the jacket. The collar was convenient for the battery because a piece of velcro held the felt pouch in place. If your jacket does not already have velcro in the collar, I recommend purchasing velcro to secure your battery pack in whichever way works best for you.
At first I was not sure where in the jacket to place the tilt switch, but the collar seemed like the best place for it as well. Even while strapped into a frame pack, most movement will keep a tilt switch bouncing around. However, if someone cannot move their neck and/or shoulders, the safety sequence should definitely be triggered. Therefore, I decided to tuck the tilt switch into the collar of my jacket with the battery.
Step 9: Embed Softbutton
Cut a hole over the left (or right) breast of your jacket. Use fabric glue to secure the softbutton in place so that the light settings can be toggled with an easy tap of the right hand. Thread the wires through the hole in the back of the jacket.
Step 10: Solder Components
TEST EVERYTHING AGAIN! Use the alligator clips and the test codes to test all components one more time, then detach the alligator clips and wrap the wire strands through the holes in the Flora board according to the pinout diagram above. Solder everything into place as gently as possible, then test connections by gently pulling on each wire and running the demo code.
Step 11: Take It Outside!
If you have been following this Instructable, then your electronics are not fully waterproofed. You can do this using some silicone caulk by sealing the silicone rubber casings as well as the board and wires, but you must be very careful and thorough. Unless you are confident, please to not wear this jacket in settings where the electronics could get wet.
Alright, enough said. Go for it. Take it outside to play. And let me know how this can be improved! Particularly if your name is Patagonia, Cascade Designs, Marmot, North Face, Cotopaxi, Mountain Hardwear, or my other favorite brands...