MSGEQ7 reading constant values

Hi all,

My problem is that my MSGEQ7, hooked up exactly as it is here: http://nuewire.com/info-archive/msgeq7-by-j-skoba/, with the same code, only produces ~47 across all the values. I've tried all sorts. I have the right capacitors, everything. The only difference is that instead of a 200k resistor, I am using 2x 100k in series.

Any idea what might be happening?

Sam

I've never used that chip, but I'll give you a couple of suggestions...

Are the grounds from the MSGEQ7 circuit connected to the Arduino ground?

Try disconnecting the MSGEQ7 circuit and connect 5V to to the Arduino's analog input. You should get readings near 1023. If not, your problem is with the Arduino or sketch.

Are you sure you are feeding-in a good audio signal? What are you using for the audio?

There is nothing wrong with my Arduino, just connected 5V to A0. The grounds are connected.

For the audio I am using a headphone jack from either my laptop or my iPod, neither work.

Sorry for the slow reply

Sam

Well... This is getting a bit more difficult. At this point you might want to buy another MSGEQ7 chip to find-out if yours is bad or "blown". (I rarely buy one of anything... New components are almost never bad, but I like to have extras.)

There are 3 possibilities -

  1. A bad component. Since we know the Arduino is working, it could be the MSGEQ7, or one (or more) of the resistors/capacitors connected to it. Or, one of the resistors/capacitors is the wrong value.

  2. The circuit is mis-wired, or there is an open (missing connection) or a short (wrong/unintended connection). It looks like the schamatic matches the datasheet, so I don't think there is a [i[design[/i] problem.

  3. There is a bug in the sketch.

I assume you don't have a mutimeter? It might be a good idea to get one. If electronics is going to be your hobby, you need a meter. If you live in the U.S. you can order one from Jameco for about $10. An oscilloscope would be really nice, but most of us don't have one at home.

And/or, you can make yourself a little probe with an LED & resistor and you can use that to check for the presence of voltage, or to see if a signal is high or low. I actually built one into a meter probe with one LED for positive voltage and another for negative voltage. Sometimes, it's more handy than an actual meter.

Once you have a way to check voltage, you can "probe around". The first thing I'd want to check is the reset & strobe pulses. But, you'll have to put some delays (maybe 1 second) into the sketch to slow-down the signals so you can see the LED go on & off, and to have enough time to check the pulse-sequence. (It also takes time for a meter to react.)

As an experiment, you might want to try adding a delay (maybe 1mS to start with) between the reset and strobe commands (I don't know how fast the Arduino writes or how fast the MSGEQ7 responds,and it might not have enough time to "settle".) And, you can try increasing the 30uS delay (to something like 1mS). If those delays make it work, you can experiment with shorter delays.

I ordered another chip yesterday, should be here tomorrow.

I own a cheap multimeter and went over it with my grandad (I'm 17,just getting into electronics, he's been at it for years!) and we couldn't see anything out of the ordinary. Unfortunately, neither of us own a 'scope. I have been over the wiring countless times.

If the second chip works, great. If it doesn't, and it works the same, it will spur me on to fix it and get it working as then I will have two to play with!

Many thanks for your help so far

Sam

Did you get this working? I recently bought a lot of these from Ebay, and none appear to work. Mine give inconsistent output - some are constantly zero, some fluctuate at low values. I'm currently trying to get a refund from the seller, but if you have a source for working units that'd be handy! I'm in the UK.

I did, buy purchasing another chip. Mine originally came from China on ebay but i got this one from protopic