Step 1: What You'll Need...
1 x Breadboard
1 x Solderable breadboard or PCB (if you want to solder this to make it more stable. I'd recommend it)
1 x 9V Power Supply (I used a wall wart. You might want 12V if you're somehow managing to use the entire 5 meter strip, I only used a small section of it so 9V was enough for me. The 5V from the Arduino, I found, was not enough)
1 x LED Strip (I used the 5050 version which contains all three colors on each node. However, in some ways, I feel like the 3528 could create a better visual since each color is separated. It's up to you which you would like to use)
1 x Audio Jack
1 x 3.5 mm Audio Cable
1 x 3.55 mm Audio splitter (1 male to 2 females)
3 x N-channel MOSFET Transistors
3 x 10k ohm resistors
1 x 200k resistor
2 x 100nf ceramic capacitor
1 x 10nf ceramic capacitor
1 x 33pf ceramic capacitor
1 x Arduino Uno
1 x MSGEQ7 Integrated Circuit
1 x 8-pin IC socket (if you plan on soldering to a PCB of some sort. The chip can easily overheat and fry if you try to solder it directly)
An assortment of Jumper wires
1 x Clear Casting Resin (There are a variety of options when it comes to this but I simply linked the type that I used. 16 oz was just enough for my project but I bought the 32 oz just in case. It worked well enough and was simple to use. It was my first time using casting resin so the 1:1 ratio required from this type was the easiest to work with.)
1 x 3.5mm Male-Female Stereo Feed Through
1 x 2.1mm DC Power Inline Plug
1 x 2.1mm DC Power Panel Mount Jack (This is the one I used but I would recommend something longer as it didnt even fit all the way through the wood I used for the box. It still worked but it is far from ideal. But one with a longer jack if possible)
4 x 10mm insulated standoffs for your circuit board and/or arduino
Soldering Iron with Solder
Power sander (not needed but helpful)
Hot glue gun
Step 2: Wiring...
Step 3: The Code...
int analogPin = 0;
int strobePin = 2;
int resetPin = 4;
int filterValue = 170;
int ledPinR = 9;
int ledPinG = 10;
int ledPinB = 11;
for (int i = 0; i < 7; i++)
spectrumValue[i] = analogRead(analogPin);
spectrumValue[i] = constrain(spectrumValue[i], filterValue, 1023);
spectrumValue[i] = map(spectrumValue[i], filterValue, 1023, 0, 255);
Step 4: Casting the Resin...
Here is the steps I took to cast my resin.
1. Find what you want to use as a mold. I used a Crystal light drink mix container because I thought the shape was interesting but really you could use anything. You want a mold made of plastic (don't use any kind of paper or anything) or you can make a mold yourself out of a yard sign like in lonesoulsurfer's projects. Keep in mind that the resin will get very hot when casting so don't use too thin of a plastic or you might make a huge mess and ruin your mold. Also, you might have to destroy the mold to get out the dried resin so use something you don't mind throwing away afterwards.
2. Find a way to suspend the LED strip into the mold so that the wires are left exposed (you still need to solder these after so you definitely don't want them cast in there!! I just hung them with string into the contained. If you tape anything for any reason, it will become unstuck when the resin is casting from all the heat so keep that in mind. This part can be hard to get right so think hard and find a method that works for you. Mine ended up working fine but the LED strip became a bit crooked which was a bit annoying.
3. The clear casting resin is a two part mixture. The type I used was a 1:1 ratio for the resin and the hardening catalyst. You'll want to pour equal amounts into two separate cups then add them together at the same time into a mixing bowl. Stir them together for two minutes until you don't see any swirls in the mix and then you're ready to pour. Please please pleasewatch this video or read the instructions that come with the resin before you begin. You may even want to do a test casting before you move forward with a big cast so that you don't screw up your project and waste a lot of this stuff.
IMPORTANT NOTE: Don't dilly dally around during this part. You don't have a ton of time to work here before the chemical reaction occurs and the resin starts to harden. You don't necessarily have to rush but don't take breaks during this process. You'll also wanna be sure to wear gloves because this stuff is a skin irritant and a pain to get off.
4. Pour the mixed resin into your mold until the desired height and tap the sides to let some of the bubbles up. The resin has a degasser and will send bubbles to the surface. Every few minutes, you might wanna check to see if there are bubbles on the top. If so, you can breathe hot air onto it to remove these bubbles.
5. Wait 24-48 hours for it to finish hardening. You want it to be completely hardened before you start to sand off the imperfections.
6. As far as sanding, there are techniques to sand it to a crystal clear polish but I preferred it to be visibly sanded to give it a frosted texture that would help diffuse the lights. WEAR A MASK when sanding this stuff cause I'm pretty sure you don't wanna be breathing it in.
Step 5: Soldering the Circuit Board (optional But Recommended)
I strongly suggest purchasing a protoboard (also called solderable breadboard) like the one included in the materials list and posted above. It makes things so easy and you basically just have to follow the breadboard layout as you solder. It really couldn't be simpler so take my advice and do it!
The process is pretty straight forward, just solder everything exactly how it is on the breadboard and youll be fine. The one thing of note is DO NOT solder the MSGEQ7 directly. Use the 8 pin socket like I told you! Trust me on this one. You don't wanna fry the chip and you will likely fry it if you try to solder the IC directly. One you have EVERYTHING soldered how you want, you can plug the MSGEQ7 into the 8pin socket (make sure its facing the right way according to the diagram I posted earlier). Voila! youre done. any free areas you have on the board can be drilled to make room for your standoff screws. Just make sure you're not drilling through anything important or you're going to be really upset.
Step 6: Building an Enclosure...
1. You will want to drill holes in the side of the box once its complete in order to have spots for your panel mount jacks (the audio and the power plug) and also some holes in the bottom for your standoffs. As you can see, I used an Arduino holder that was 3D printed. However, you can mount the Arduino directly with standoffs if you so choose.
2. If you want to paint or stain the wood, now is the time to do so. I used black spray paint because I didn't want the enclosure to distract from the focus of the project which is the flashing LEDs. This is up to you so get creative!
3. Connect the DC Power Inline plug into the Arduino and connect the wires to your DC Power Panel Mount. Each panel-mount jack is different so use your multimeter to find out which pin is which (mine was a 3pin plug but I only needed to use two of them).
4. You will also need to put your feed-through stereo plug in the hole you drilled and screw it in. Take the audio jack you wired earlier and plug it onto the male end of your audio panel mount jack.
5. For the lid, you will want to drill a hole in the middle for the wires from your LED strip to come through. At this point is when I soldered these wires to the ones coming from the circuit board. Also you can now hot glue your resin mold to the lid and it will hold it just fine.
6. Once everything is hooked up. Close up the box and it's time to see your project in action! Exciting, huh?