Ever had the thought, "spiked collars are just so plain and boring"? Yeah, me too. That's why I decided to spruce things up a bit by creating a light-up animated spiked collar, perfect for use at Burning Man, or at weddings, or on Tuesdays.
This one can optionally be connected to a motion sensor to make the wearer's movements influence the lights. Because, why not?
- 1 x ATtiny85 microcontroller (ATTINY85-20SU-ND)
- 1 x JST 2-pin male header (455-1704-ND)
- 2 x 1x5 0.100" female header (S6103-ND)
- 24 x 1206 0.1µF capacitor (1276-1165-1-ND)
- 4 x 1206 1kΩ resistor (RHM1.00KCJCT-ND)
- 1 x 1206 470Ω resistor (P470FCT-ND)
- 1 x 1206 blue LED (732-4989-1-ND)
- 69 x WS2812B 5050 RGB LED
- 1 x lithium-ion 3.7V rechargeable battery (5-hour charge or 12-hour charge)
- 1 x lithium-ion battery charger
- 1 x JST-PH battery extension cable
- 1 x leather guitar strap
- 1 roll of 7/32" wide adhesive copper tape
- 1 tube Loctite Threadlocker Blue 242
- 1 package leather snaps
- 1 x Arduino UNO board
- 95 x Collar spikes (7mm diameter with 8mm M3 screws, from this seller)
- (optional) 1 x "CJMCU" ADXL345 accelerometer board (from this seller)
Adhesive vinyl (12.67" x 2" minimum size)
- Flat-head screwdriver
- Leather punch
- Leather snap setting tool (included in leather snap set in parts list)
- Scissors or snips capable of cutting thin leather (or laser cutter)
- Soldering iron with fine tip
- Arduino Uno and hookup wire (for programming the choker driver board)
- Pointy tweezers
- X-acto utility knife
- Masking tape
- Waxed paper
Step 1: Assembling the Controller Circuit Board
You will need one of these to drive all of the other boards. It has an ATtiny85 (Arduino-compatible) microcontroller on it that controls the LEDs on the choker and reads motion from the (optional) accelerometer board.
To make everything small, I chose to use surface mount parts for this project. These can be tricky to solder, so if you don't have experience, I'd recommend searching for an Instructable on SMT soldering, or check YouTube for videos on the subject.
Solder the resistors (R1,R2,R3,R4,R5) and the capacitor (C1) to the board first. The orientation doesn't matter, and this gives practice in soldering surface mount components. Be sure to use 1kΩ resistors for R1,R2,R3 and R4. Use a 470Ω resistor for R5. Use a .1µF capacitor for C1.
I'm not going to go into too much detail on how to do this, but here are a few tips. My technique is to add a small amount of solder to one of the pads, remove the soldering iron and allow the solder to cool. Carefully place the part in the proper place with tweezers with one side resting on that solder that you just added. Place a small amount of pressure on the top of the part with the point of the tweezers and re-heat the solder with the iron. The component will drop down into the liquid solder. Remove the iron and wait a couple of seconds for the solder to cool. The component should now be solidly held in the proper place. If it isn't, re-heat the solder once again, carefully position the component into the proper place, and remove the iron to allow the solder to solidify. At this point, soldering the other side of the component is relatively easy since it is already held in place.
Next, move on to the LED (D1) and 8-pin ATtiny85 (U1). The orientation matters for both of these, so be careful. (Note: The only purpose of the LED is as an indicator to let us know that the program on the ATtiny85 is running properly. If you prefer not to have this indicator, you can skip installing D1 and R5.) The cathode (green side on the LED that I used) should be nearest R5. Be sure to place pin 1 of the ATTiny85 (U1) toward the power connector (U2). This pin is marked by a dot on the board.
Lastly, solder the through-hole components, including the two 2-pin JST battery connector and the two 1x5 female headers for the accelerometer (which double as programming headers)
The mounting holes
The three large, copper-plated mounting holes are used to connect ground (top hole), LED serial data out (middle hole) and 3.7V power (bottom hole).
Step 2: Programming the Controller Circuit Board
I used an Arduino UNO board to act as a programming device for the controller by following this Instructable. In it, it shows the following mapping from Arduino pins to ATtiny pins for programming:
- Arduino +5V → ATtiny Pin 8
- Arduino Ground → ATtiny Pin 4
- Arduino Pin 10 → ATtiny Pin 1
- Arduino Pin 11 → ATtiny Pin 5
- Arduino Pin 12 → ATtiny Pin 6
- Arduino Pin 13 → ATtiny Pin 7
The connection points are indicated in the picture above. Note that one of the connection points is the large circular mounting hole between the two sets of 0.100" headers. I simply held the bare end of the programming wire (Arduino pin 12) in contact with this hole while programming. Admittedly, this is an inelegent method, but it works.
(When I originally designed this board, I couldn't figure out how to run this signal out to the 0.100" headers without interfering with the function of the accelerometer board. This is the data signal for the WS2812B LEDs. After rethinking this problem, I realized that this signal could be connected to the header corresponding to the inverted chip select pin of the accelerometer without causing a problem, as LED data is never written at the same time as the accelerometer is read. I designed a second revision of the controller board that fixes this and a couple of other things that I wish I'd done differently the first time. I intend to post the differences in the design to accomodate these changes when I get around to building the second version.)
The battery should not be connected when programming the board. In fact, you don't need it for this step at all.
The program source code for the choker can be found here. It uses a modified version of the Adafruit_NeoPixel library that allows for dynamic brightness scaling of the LEDs to limit the overall current draw from them. I made this modification for two reasons:
- An array of 69 WS2812B LEDs will require up to 3 Amps of current if driven at full brightness. This exceeds the capability of the battery, and is far too bright for practical use as a wearable choker, if you want anyone to be able to stand looking at you for more than a second or two.
- I wanted to ensure that the collar would continue to function on a single battery charge for at least 12 hours.
After successfully programming the board, the blue LED should start blinking on and off.
Step 3: The LED Boards
The second circuit board is the LED choker section.
I used 23 of these to build this choker. Each of these boards has three WS2812B (Neopixel) LEDs.
Again, these are surface mount parts, so care needs to be taken when soldering. For each board, first solder the 0.1µF capacitor in the same manner as on the controller board. Be sure to place the capacitor so that neither it nor the solder connecting it will interfere with the placement of the top spike. In other words, avoid the top circular mounting hole as much as possible.
Solder the three WS2812B LEDs starting with the one nearest the capacitor (top) and working down. After each LED was soldered, I tested it by connecting it to the powered controller board. This proved useful in locating bad solder connections and parts. This is done by supplying ground to the top mounting hole (by the capacitor), data signal from the powered controller board to the middle-top mounting hole, and power (3.3V - 5V) to the bottom hole. The LEDs are programmed in sequence, starting with the one at the top. By soldering the LEDs one at a time, it is easy to find bad connections. If you solder all of them at once and then test the board, it can be difficult to locate the cause of non-illuminating LEDs.
Got that one working? Great! Now do that 22 more times.
Step 4: Shaping the Leather
For this project, I wanted 2" (51mm) wide leather. I used an inexpensive guitar strap as the source leather. It's wide enough and long enough for the job. Use the shiny side of the leather for the outside of the collar. The adhesive vinyl will attach better, and it looks really good.
To shape the leather, there are at least two choices:
- Do it by hand
- Use a laser cutter
Mark the leather with ruler and pen. It should be 2" wide. The length will depend on neck size. For the one I built here, I used 15 2/3". This length was comfortable around the neck with enough overlap to support the snaps. Cut the leather out using sturdy scissors or tin-snips. Round the corners.
Carefully measure the positions of the LED circuit boards across the collar. If you want to match the horizontal spacing of the LEDs to the vertical spacing on the circuit boards you will need 0.53" center-to-center spacing You can use one of the LED circuit boards as a template to mark the hole positions and cut the holes with a leather punch. Be sure to use the right-size punch for the M3 spike screws. There will be 24 columns of holes. The right-most column need only have three holes, since this is where the controller board goes, which has only three holes. You can skip the middle bottom hole for this one. The distance from the left and right edges of the collar to the nearest column of holes is 1.7"
If you have access to a laser cutter, like an Epilog, this is the far easier way to go. Use the attached choker.dxf file to make the cuts on a laser cutter. The .DXF file has the leather cutting path at the top, the vinyl cutting path (used later) in the middle, and an illustration of where the circuit boards get attached at the bottom. Assuming that you want to make one exactly the same size (15 2/3" long) as I did, you can use the leather cutting path at the top to cut the outline and the circuit-board mounting holes. If you need a different collar length, you will need to modify the file appropriately.
Step 5: Shaping the Vinyl
The purpose of the vinyl is to serve as a sort of flexible mother board to connect all of the individual circuit boards together. Copper tape is attached to the back (sticky) side of the vinyl to provide the power, ground, and data interconnect signals.
Just as for shaping the leather, there are at least two choices for shaping the vinyl:
- Do it by hand
- Use a vinyl cutter
The vinyl is 2" wide by 12 2/3" long. Carefully measure and mark this rectangle and cut out using scissors. Don't peel the vinyl off of the backing yet. Align one of the LED circuit boards against the right and left edges and use them to mark the rounded corners. Round the four corners of the vinyl with scissors. Place the vinyl (still attached to its backing paper) over the leather and center it over the holes. Tape in place with masking tape, or some other easily removable tape. flip the leather over, and use a pen to mark each of the hole locations on to the paper side of the vinyl. Remove the tape from the vinyl and use the leather punch at each of the hole marks to cut holes for the spike screws.
If you have access to a vinyl cutter, this is the far easier way to go. Use the choker.dxf file. The vinyl cutting path is the middle section. If you have chosen to have a different number of LED boards, or a different spacing, you will need to modify the cutting path appropriately.
Step 6: Adding the Copper Tape
As was stated before, the copper tape acts as the electrical board traces for this flexible circuit board. It provides the power, ground, and data interconnect signals between the individual printed circuit boards.
Find a good work surface, and carefully peel the vinyl off of its backing paper. If you used a vinyl cutting machine to cut the vinyl, use pointy tweezers or some other tool to carefully remove the unnecessary vinyl from the holes. When I made this, most of the hole vinyl stayed attached to the paper backing, but I had to remove a dozen or so holes with tweezers.
Tape the vinyl, sticky-side up, to the work surface with masking tape. Use bare minimum of overlap of the masking tape on the vinyl. This will make it easier to remove later. The side with the three-hole column should be on the left now.
Measure and cut a length of the copper tape to go all the way across the across the top row of holes. This will be the electrical ground connection for the circuit boards. If the tape has a paper backing, remove it. Position the copper tape, sticky-side down, on the vinyl so that the top edge of the tape lines up with the top edge of the holes. It's fine if the holes are not completely covered, but try to get this as close as possible without completely covering the top of the holes.
Cut another piece of copper tape the same length and attach it across the bottom row of holes, with the bottom edge of the tape lined up with the bottom edge of the holes. Again, try not to completely cover the holes. This is the power connection for the circuit boards.
Cut one short piece of copper tape to connect the remaining hole on the left column straight across to the adjacent hole to the right of it. The tape should be long enough to mostly cover both holes, without completely doing so. Put this one in place. This is the data signal from the controller board to the first LED board.
The remaining copper tape pieces are each placed diagonally from the third hole from the top on one column to the second hole from the top on the column to the right. These chain the data-out from one LED board to the data-in of the next board. For each of these, cut a short piece of copper tape that is long enough to almost (but not quite) completely cover both holes and carefully put it in place. Repeat this 22 times.
When finished, there should be one hole without copper tape. It is the third hole from the top on the far right side. This is intentional.
Step 7: Finishing the Copper Tape
You will need a work surface that can stand a little cutting with an X-acto utility knife for this part. Tape a section of waxed paper larger than the vinyl to this surface (wax-side up). Carefully remove the masking tape used in the previous step from the vinyl. Flip the vinyl over and lay it on the waxed paper, sticky-side down. The adhesive on the vinyl should adhere to the waxed paper well enough that it won't move around during this part, but will still be removable later.
You should see copper tape through all of the holes (except one). Starting with the bottom row of holes, make two cuts to copper the with the utility knife in each hole. The first cut is near the left side from the top to the bottom. The second is one the right side from the top to the bottom (see pictures). Be sure to cut only the copper in the vinyl holes. Do not cut the vinyl itself. Bend the cut copper up using the tip of the utility knife and fold it over the vinyl above the top edge of the hole to form a tab.
When the circuit boards are later put in place, this tab will make electrical contact with the copper surrounding the circuit board mounting hole.
Repeat this process with all of the holes, cutting and folding in the directions indicated on the diagram.
Step 8: Attach the Leather, Vinyl and Screws
Peel the vinyl off of the waxed paper and apply it to the shiny side of the cut leather. Be careful to line up the holes. Thread the 8mm M3 pike screws through all 95 of the holes from the back side of the leather. You may need to support the vinyl with fingers or some tool while inserting the screws to make sure the screw goes through the hole and doesn't separate the vinyl from the top surface of the leather. You should see the small copper tab next to each screw on the top (vinyl side).
Step 9: Add the Snaps
The four snap holes will be roughly 0.4" from the top and side edges at each corner of the leather. This may need to be adjusted to fit the individual. Mark the location of the two holes on one end. Select the proper punch size for your snaps and punch those two holes with the leather punch. Overlap the collar as it will be when worn, and use the holes that you just punched to mark hole locations for the other end. Punch out those holes.
Attach the snaps according to the instructions. Be very careful that the snaps face the correct directions. Here's a handy video describing the general snap setting process. When done, you can try the collar on.
Step 10: Connecting the Circuit Boards
With the vinyl side up, arrange the choker so that the three-screw column is to the right. Attach the controller board to the three hole column of screws. Fit the circuit board on to the screws with the components facing up. Hand tighten down three of the spikes onto the screws. Put one of the LED boards on the next column of screws. The side of the LED board with the capacitor should be at the top. Add four spikes to these screws and hand-tighten down.
Test the collar by attaching the battery. If all goes well, you should see the LEDs on the LED board light up and start cycling colors. If nothing happens check the connections and try tightening the screw spikes. Be careful not to touch metal (like a screwdriver) across the spikes, as could cause a short-circuit and damage the battery or the boards.
(For the second version of the circuit boards, I am changing things so that the spikes are not part of the circuit to avoid the possibility of short-circuits.)
Skin contact does not short the spikes and screws. If the wearer is particularly damp (say, from dancing), the perspiration will have little effect on the function of the collar. At most, this might slightly reduce the charge on the battery.
You can put each of the LED boards into place at this point to try the whole collar, or proceed to the next step of making the boards semi-permanently connected by adding Loctite to the screws.
When you are ready to finish up, remove any circuit boards from the collar and remove the battery from the controller board. Put some Loctite in a small dish or bottle cap and get a toothpick handy. Add the circuit boards back one at a time, starting with the controller board. Place each board in place on the screws. One screw at a time, dip the toothpick in the Loctite and apply to the threads on the end of each screw for this board. Don't put too much on and be careful not to get the loctite on the circuit board or the copper tape at the base of the screw. Next, put the spike nut in place and hand tighten. Holding the spike with one hand, use a screwdriver on the screw to fully tighten the spike in place.
After fully connecting each board, test the connection by plugging in the battery, and observing the LEDs. Tighten and adjust as necessary to make sure that the connections are solid. Unplug the battery. Repeat for each of the circuit boards, making sure of the orientation of each along the way (the capacitor is at the top).
Once everything is in place, let the collar sit for enough time for the Loctite to cure (see package).
This is a good time to make sure that the battery is fully charged, by plugging it into the battery charger.
You are now ready to put on the collar and hit the town. Use the JST-PH battery extension cable between the collar and the battery to allow the battery to be placed in a pocket or somewhere else on your person.
And now, on to the final step.
Step 11: The Grocery Store
Wear your collar to the grocery store for some shopping. Yes, this is a mandatory step. If you build one, I expect a grocery photo in the comments.