BlinkM project with Audio as analog input

Hey Guys,

Let me start by saying I am really really new at electronics. I went into this project barely knowing what a resistor is. I am trying to build a coffee table that uses BlinkM LEDs and an arduino uno board. I have attached the schematic that I just finished designing and was wondering if someone could take a look at it and check my work. I have three potentiometers to use as controls for color brightness etc. I also have an 1/8" Audio Jack that I would like to use as analog input to make the LEDs pulse to music. I was hoping someone would take a look at this and double check my work before I sink a ton of money into buying everything I need and finding out it doesn’t work. :slight_smile:

Thanks in advance!

LED Table Schematic (Schematic).pdf (23.9 KB)

Okay, so you've got +5 & Gnd across the pots, with the wipers going into analog inputs. You've +5 & gnd going out to the LEDs, with pull up resistors on the other 2 pins, apparently those 2 pins are arduino outputs. With no code, is hard to say. I'll go look up BlnkM and see what it does.

There's a transistor which I am not really what is supposed to be doing. Is A0 an input also? If so the transistor may be an attempt at an amplifier, but I don't think it will work like this. You've got 5V on the collector, yet no current will flow unless the emitter is low and the base gets driven high. And then if you do that, you will smoke A0 as an output since you have no current limiting built in. The TIP131 is a power driver amplifier, not really the part you want here.

I think what you want to do is look up inverting amplifier and envelope follower circuits and sample that as an input to make decisions on. BJT transistors are current controlled devices,

Out of curiosity, why wouldn't you go with regular rgb leds and led driver chip for a tiny fraction of the cost?

Reading the BlinkM datasheet, it does lots of neat stuff via serial commands (via the Wired library I assume?). Just need to get your audio input worked out.

Nothing that can't be accomplished with the arduino though. All the blinkm is is an attiny45 and an rgb led. Why would you use 12 attiny's and spend over $100 in blinkm's when you can accomplish the same thing in software on one arduino with an led driver and some charlie/multiplexing?

There are numerous ways to skin a cat! This may be a little more money, but it sure eases assembly. Just install the BlinkMs and run 4 wires along. Versus building up 12 circuit cards to be driven with multiple LED drivers, and then running at least 4 wires (R G B and return, or 5V and R G B). I'd say is not a bad way to start. Then the time can be spent figuring out the audio input circuit and the coding for the BlnkMs.

While I certainly see your point, it just seems a little unnecessary to me. However, you are right that if this is the approach that the OP takes, it will definitely be much simpler and easier! If that is the case, this IC seems to do the job, and then some. I could imagine having different LEDs or colors for the different frequencies .

Also, I know that my idea is a dead one, but just in case someone uses it, 3 of these PWM chips could accomplish the same thing as the blinkm. EDIT: You can get these as free samples from TI here:

I guess simplicity is the main reason I decided to use the blinkms. When I first went into this project and started reading about controlling color changing LEDs it all seemed a bit overwhelming. But when I found the blinkMs, I could finally wrap my head around what I needed to do and how I was going to program it (yes it does use the wired library btw). Maybe if I can get this working then on my next project I will try to move into some more complex, but cheaper ways like you described, bilbo. :) But for now, my electronics knowledge basically consists of what I remember from my electronics science kit I used to play with when I was ten and what I have taught myself for this project. Working with individual ICs seems a bit over my head. Thank you for the advice though. I bookmarked those pages so that maybe in the future once I am a bit more advanced I can go that route and save some money.

I am happy to hear that it sounds like the only thing I really got wrong was that transistor. I had a feeling that this part was not going to work. I got the idea from another project I saw where someone used this transistor to make just a simple circuit that had LEDs pulsing to music with just a TIP31 12v power and a group of LEDs. No arduino or anything. And with my vague understanding of what a transistor does, I was hoping the arduino could just read this as input, but I was also pretty sure that nothing is ever that easy. So am I on the right path with using a just a transistor, just using the wrong one, or do I have to do something a little more complex to get this to work? I'm not really familiar with envelope follower circuits or inverting amplifiers. I guess I will go read about those tonight when I get off work.

Thanks so much for taking the time to look at my schematic and help me with this, CrossRoads. It has been a lot of fun trying to figure all this out and teach myself about electricity, but at a certain point you need the help of an expert.

You're welcome ranimmo. Re-reading my post, looks like I stopped mid-thought for some reason. Give us some idea of how the 10 blinkm's are intended to work based on what the music does. There was link to a frequency analyzer chip there, I think it puts out a DC level at 7 different times for 7 frequency bands, so you wait until the indicated time then sample the DC out and drive the blinkm for that band with the digital equivalent. That'd be one way, pretty straightforward. Could probably do left & right channels with 2 chips (need to read the datasheet again, maybe it's a stereo chip). The other way to amplify the incoming audio some and sample it and do your own processing. If you're doing audiowork you shoudl get yourself some kind of scope. I use this one, Virtual Analyzer, free download from I have used it with a microphone just anaylsing sound, you could make up a test probe with a 1/8" stereo jack to go in your sound card input port also. Or, build up a little USB scope from a $89 kit from, I use mine a lot for debugging.

I have used a blinkm in a project before and it is really simple to use and while expensive, saves a lot of hassle as far as wasting time on getting driver chips running. The only issue here is that out of the 6 analog inputs, you only have 4 available as the wire library is going to take analog 4,5 as it's 2 wire interface.

Thats great that you've decided to go with the BlinkM's, they seem like a great way to get back into the electronics world.

Maybe I'm missing something, but it looks to me from the datasheet of the frequency chip that you can put an unamplified audio input on the input pin, and it does the rest for you (the datasheet mentions that it has a built in amplifier). Also, the datasheet says you can combine L and R onto the input pin, it just won't distinguish which frequencies are on which side. All you have to do is pulse the 'strobe' pin, and it will send the amplitude of the one of seven channels to the arduino's ADC. Each time you flash the strobe pin, the frequency range advances. You could have the arduino take all seven channel readings, then update the BlinkMs, then repeat. I dont do a very good job of explaining this, but I found a good tutorial here:

Best of luck!

After spending some time on google trying to educate myself a bit further, I discovered this project using a microphone as input for an Arduino:

I don’t know why this idea didn’t occur to me in the first place. Seems like this is a better option to make LEDs pulse to music as this way you don’t need a cable running across the living room into the table. Plus it makes it more interactive as you can make noises yourself to light up the table, and everyone has fun with things that are interactive. I added that amplifier circuit to the schematic (as well as a few push buttons unrelated to the amplifier, just adding a bit more control) and have attached an updated version. I don’t really understand how this works so I am hoping I added it to my design correctly, and would love it if someone looked it over to make sure I did it right.

Still not sure if this is the way I want to go though, cause at a party it might be kind of annoying to have the LEDs pulsing to the sounds of people talking rather than the music that is playing. That tutorial you posted bilbo, seems like it would be the best option for getting input from an audio device, as it looks pretty simple to wire up. Now that I am thinking about it, I might do that instead. I’ll have to mull this one over.

Anyway, thanks again to everyone for all the help!

LED Table Schematic (Schematic).pdf (37.7 KB)