For a while now I've wanted to make a better Christmas sweater. After a while, I noticed that all the Christmas sweaters in the stores start looking the same, nothing really stands out. I decided that it is time to make something unique.
I had seen some light up Christmas sweaters, but I found that they always skimped on the number of LEDs, so I decided my Christmas sweater would light up, and contain a generous number of LEDs. I had also seen singing Christmas sweaters, but they are all only able to sing one song, so I decided that my Christmas sweater would be able to sing at least three. With my idea in mind, I set out to build it. Two iterations and a fair bit of smoke later it is complete!
This Instructable will teach you how to make your very own super awesome Christmas sweater, including the mistakes I made along the way!
Step 1: Materials
The first step is to gather your materials. The list below is simply what I used, feel free to experiment and try using different materials to accomplish the same goal, or to improve upon it! Maybe you want twice as many LEDs, if so, then go for it!
You will need:
- 1 Christmas Sweater
- 1 Arduino Nano
- 1 piezo buzzer
- 3 buttons
- 3 10k Ohm resistors
- LED string (Fairy lights, as little or as much as you want, depending on how many LEDs you want. You can also wire in individual LEDs, but this is less work.)
- 220 Ohm resistor (This is only needed if your fairy lights don't have one built in.)
- bread board and jumper wires (For prototyping.)
- soldering iron and solder
- switch (Any old switch will do. I found mine on the ground at the bus stop.)
- felt and yarn (For covering up the circuit.)
- thread and needle (Choose a colour that will blend in with your Christmas sweater.)
- wire (I used yellow hookup wire.)
- 9V battery
- 9V battery holder or attachment thingy
You may have noticed in the image above that I included conductive thread in the materials shot. That's an interesting story. I'll explain later in the Instructable.
Step 2: Assemble Arduino
If you're like me, you sat down at your computer ready to start coding and prototyping, before realizing that your Arduino Nano came with some assembly required. Luckily, it was pretty easy, I just had to solder on some headers. If you've never done this before, you just drop the short end of the headers through the holes in the Arduino, and solder them to the metal rings on the board. Make sure you do this from the top so that your Arduino fits into your bread board. Above are some before and after pictures. I left the headers that were supposed to be soldered onto the back off, because I wanted my Arduino to sit as flat as possible on my sweater.
Step 3: Prototype Circuit
I will try my best to explain it in words, but above I also included a picture of the bread board I assembled, and a schematic which I drew.
Here is what needs to be done to wire this project:
- Pin 13 on the Arduino should be connected to the positive leg of your buzzer, and the negative leg should be connected to ground.
- Pin 10 on the Arduino must be wired to the 220 Ohm resistor, and the resistor wired to the positive wire of your LED string. The negative wire of your LED string should be wired to ground.
- Wire one side of each of the buttons to pin 2, pin 5, and pin 8. Wire the same side of each of the buttons to a 10k Ohm resistor, and wire that resistor to ground. Then wire the other side of the switches to +5V on the Arduino.
Later we will also attach the 9V battery, as shown in the schematic diagram. You don't want to attach it yet, because the circuit will use the power from the computer while programming and debugging.
Step 4: Code! and Debug
The title of this step is over enthusiastic. I don't like coding much, but it is necessity, so I borrow it from other people. The code for this project was borrowed from https://www.hackster.io/joshi/piezo-christmas-song...
Much thanks to Joshi, it would have taken me forever to try and program this project from scratch, and there would have been a lot more smoke. I didn't change much, other than the pins used, and I added the LEDs, and made them blink along with the music. I also changed some of the notes to make it sound better to my ear. You can download my modified code from the link in this Instructable.
Once you have the code uploaded to your board, it is time to debug. If you are lucky, your invention will work right away, if you're like me, you never wire anything right the first time, so debugging is a necessity. This project in particular didn't take long to debug, but it was dramatic. The Arduino smoked twice before I finally got everything working. Here are some things to watch out for:
- Make sure everything is connected to ground PROPERLY.
- Make sure that you actually plugged the things that were supposed to be connected to ground, to the ground pin, unlike me who wired a few things to +5V instead because I was tired and not thinking.
- Make sure you have the polarities right. LEDs won't light up if they are wired backwards.
- If there is smoke, something is wrong, post a picture of your circuit in the comments and I will try to help.
Once your circuit works, celebrate! The complicated part is over. Now just unplug your computer from the Arduino, and wire the negative side of your 9V battery to the GND pin on the Arduino, and the positive terminal to the VIN pin. If it turns on and the circuit works just as well as before, awesome! You succeeded! If the Arduino starts smoking, then you plugged your battery in backwards. Its okay, just unplug it really fast and correct your mistake. I did that a few times and my Arduino survived.
Step 5: Sew on the LED String
This step was pretty easy, but just took a while. Essentially, I just lay out the LED string along the sweater how I wanted, in this case the decision was easy, just a back and forth curve across the Christmas tree, but you may choose different shapes depending on your sweater. Once the LED string was all laid out, I went over it with a needle and thread thoroughly stitching the LED string down. The better you do this step, the longer your sweater will last, so I put a lot of time into this, really making sure I got the string well attached. By the end it was pretty much part of the sweater. If you are looking for a more temporary and faster sweater, you could use hot glue, it is just a bit messier.
Step 6: Modify Components for Use With Conductive Thread and Sew... FAIL
It wouldn't be a proper project if everything didn't go south at some point. Originally, instead of using wire in my sweater, I wanted to sew everything together with conductive thread, to increase the flexibility and durability of the sweater. To accomplish this, I made a bunch of little wires with rings on the end which I soldered to the legs of all the buttons to make them sew-able, except for the buzzer and the resistors, which had long enough legs that I could just twist them into a circle. I also soldered the resistor directly to the buttons and used that as the sew-able connection. This all seemed like a great idea until I sewed everything onto my sweater and it developed a mind of its own. All the conductive thread connections were not insulated, so every time I took a step the sweater would start playing jingle bells. This was annoying, but it was late and I decided it was good enough to show off at school the next day. It all worked just as badly as the night before until I played a game of holiday trivia during our holiday assembly, and ended up diving across the stage and ripping out all of the connections in my sweater. That was when I decided that I would be rebuilding it when I got home.
Despite everything falling apart, two useful things came from this iteration of the sweater. The first was that I found a good switch to use, and soldered it in line with the positive end of the battery. A switch is really important because you want to be able to turn your sweater off if it gets stuck singing jingle bells in an infinite loop. The other thing that remained was the way I soldered the resistor for the fairy lights, bending one of the ground pins under the Arduino, soldering on the resistor, and then bending it out of one of the screw holes near pin 10. This worked really well, and limited the mess of wire, and protected the more fragile resistor. I also left the resistors soldered to the buttons, because that was also a good idea. Other than that all the wiring got ripped out.
Step 7: Now Do It Properly
After my conductive thread catastrophe I decided I would rip everything out and solder the circuit together with wire, so I did exactly that. It was less fun than using conductive thread, but the project definitely no longer feels possessed by the short circuit ghost. One additional thing I did was to cut off all the unnecessary pins from the Arduino's headers so that they wouldn't get in the way, and make the Arduino sit flatter without poking through the sweater into the wearer.
Once the circuit was successfully soldered I sat down for an hour and a bit and sewed all the wire down to the sweater to make sure that nothing would come up and break. Unfortunately, while I was doing this, one of the resistors broke off, so I decided I would reinforce all the soldered connections with hot glue to add some strength and ensure they won't break as easily. I am hoping this sweater lasts me a few Christmases.
Step 8: Make It Look Pretty
This is the fun crafty step. Once I finished soldering and sewing, I decided to make it look nice. I accomplished this by hot gluing squares of felt over the circuit, to cover everything up. I then added some yarn as ribbon to make them look like presents under the tree. The yellow presents cover the buttons, that way I know where to press, and the red squares cover everything else. The big red square at the bottom is only glued on three sides with the top side left open as a pocket for the battery. This step is optional, personally I sometimes like to leave circuits uncovered, that way people believe you when you say you made something, but in this case I covered the circuit to protect it, also because the hot glue made everything look a little ugly.
Step 9: Celebrate!
Congratulations! Your incredible Christmas sweater is done. The last thing left to do is to wear it out in public so that the whole world can experience your amazing work, also please share a picture with me if you make some variation of the project, I like to see other people make my projects.
If you liked this instructable, please vote for it in the the Christmas Decoration Contest.
If you have any suggestions, or see that I have made any mistakes, please leave a comment! It helps me learn.
Thank you for reading this instructable, have a Merry Christmas and a Happy New Year!