Back to the 1980s With the Graphic EQ

36,748

542

21

Intro: Back to the 1980s With the Graphic EQ

For those of you who remember the eighties, this will no doubt bring back fond memories when every piece of audio equipment in the known universe was at the time equipped with a plethora of LEDs.

More specifically the ubiquitous Graphic Equaliser or 'Graphic EQ'.

This Instructable is centred around the MSGEQ7 to create a simple 2 Channel Graphic EQ (actually a simple spectrum analyser) and documents my first, poor attempt at using the Arduino Uno R3, the Arduino development environment and coding in 'C' for well over a decade.

To make the above the circuit you require no tools, a basic knowledge of electronics and the following parts/libraries;

  1. 3 off prototyping wires male/male connectors in the picture above (Red, Black and Green) to connect to the Light Dependant Resistor (LDR).
  2. 5 off prototyping wires male/female connectors again in the picture above (Red, Black, Blue, Green and Yellow) to connect to the 8x8 Led Matrix.
  3. 2 off 8x8 Led Matrices. From leading-star on Amazon. £1.90 (This was the price at the time of purchase, but I have noticed they are slightly more expensive, priced at £2.09 at the time of writing this Instructable).
  4. 1 off LDR. From Farnell.
  5. 1 off 22K Resistor. From Farnell
  6. 1 off Arduino Uno. From Proto-Pic £18.65. www.proto-pic.co.uk/arduino-uno/
  7. 1 off Spectrum Shield. From Proto-Pic. £22.25. www.proto-pic.co.uk/spectrum-shield/
  8. The Arduino LedControl library in Git Hub. https://github.com/wayoda/LedControl/releases

The circuit allows for the display of left and right audio channels. Seven of the columns of each 8x8 display represent a scaled analogue of the following frequency components present in the audio signal path at any transient in time.

16kHz, 6.26kHz, 2.5kHz, 1kHz, 400Hz, 160Hz and 63Hz

The data sheet for the MSGEQ7 can be found here; https://www.sparkfun.com/datasheets/Components/General/MSGEQ7.pdf

The last column represents a rolling average value of all the frequency components.

Audio is supplied to the Spectrum Shield via either of the on board 3.5mm Jack sockets, the other socket is used to route this audio to a speaker.

The circuit diagram for the Spectrum Shield can be found here; http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/Arduino/Shields/SpectrumShield-v14.pdf

The LDR is used to programmatically dim the 8x8 LED Matrix displays if the ambient light level drops to allow better contrast for the viewer.

Step 1: Detailed Design

The above picture shows how to connect up the rest of the circuit to the Spectrum Shield and the two 8x8 LED matrices. There is a copy of the Arduino sketch used to drive the display attached below.

Step 2: Tidy Up

This bit is for the more experienced electronics enthusiast and requires some specialist tools, such as soldering iron, pliers, snips etc.

Now the software was working I tidied up the circuit and committed to a veroboard design which fitted neatly on top of the stacked Arduino Uno and Spectrum Shield pair.

Finally I modified the pins on the 8x8 LED Matrices such that they were perpendicular to the circuit board and would be a push fit into the 0.1" pitch headers on the veroboard.

Detailed pictures above.

Step 3: Putting It All Together

The video above shows the fully assembled design using the veroboard assembly.

There are three tracks playing on the iPod.

  1. Right Channel Frequency Sweep
  2. Left Channel Frequency Sweep
  3. Some random music with a broad spectral density (shows more lights)

Oh, and I forgot to mention. I shamelessly ripped some code to show the scrolling text at start up, though I did make some minor changes swapping row for column due to the 90 degree orientation of the displays.

Scrolling source from here; http://tronixstuff.com/2013/10/11/tutorial-arduino-max7219-led-display-driver-ic/

Full copy of software attached below.

Step 4: Closing Comments

Though I finally settled on a design using the spectrum shield, more through lazy convenience than for any other reason, I had initially started out intending to construct my own circuit from scratch.

I have included this section for useful background information, in case you wish to go down the self construct not buy route.

Using the circuit show above, which is a slightly modified rip of the MSI Corp datasheet, I assembled a single channel Graphic EQ.

The attached a video (apologies in advance for the choice of music) shows the live display in action.

The top trace on the digital scope shows the trigger line from the Arduino to the MSGEQ7 and the bottom the clocked output from the MSGEQ7. The level of which is a scaled analogue representing the frequency content from 63Hz ... 16KHz.

Strictly speaking the code to control the MSGEQ7 need only issue the one reset pulse and continually cycle 7 pulses. In the end I settled for issuing a reset pulse each read cycle, mainly because it made the code easier.

Have fun.

Share

Recommendations

  • Audio Contest 2018

    Audio Contest 2018
  • Plastics Contest

    Plastics Contest
  • Optics Contest

    Optics Contest

21 Discussions

0
None
akantor30

3 years ago

Do you have any recommendations for speakers to use for this?

1 reply
0
None
SteveQuinnakantor30

Reply 3 years ago on Introduction

Hi, I cheated and used a Sonivo and WOWee one, both of which are mono, but powered and loud so suited my purpose. In reality any stereo capable speakers would do. You could use PC speakers. It really depends on what quality of reproduction you desire.

0
None
Istarian

3 years ago on Introduction

Pity it's a retired product (the Spectrum Shield). At least they sell the DIP version of the chip.

1 reply
0
None
SteveQuinnIstarian

Reply 3 years ago on Introduction

I know, I actually made this in Jan of '14. However, when I put the Instructable together I suspected this may be the case, so added the end section. Though I have seen some surplus stock available if you shop around. Or if you are really adventurous you could make your own PCBs as the Eagle files are available.

0
None
Nighter3D

3 years ago on Introduction

Ah the MSGEQ7 analyzer chip. a very fun chip of which i often wonder why i don't see many others around. beats having to wrestle with FFT/FHT and Bandpass filters.

I myself am working on a Spectrum analyzer based on the MSGEQ aswell. tough rather then use leds im planning to use a bunch of old IN-13 Neon bargraphs. Your Arduino code will help me nicely deal with a couple of quirks i'm stuck with atm so thanks for sharing!

1 reply
0
None
SteveQuinnNighter3D

Reply 3 years ago on Introduction

You're very welcome. I do like the MSGEQ7, easy to use and everything on one chip. Ideal for the first time hobbyist. So many LEDs for so little effort. :-)

I have a couple of other projects for which I am carrying out DSP, though mainly image recognition using the Spartan 3 and 6 from Xilinx.

I look forward to seeing your Instructable in the future.

0
None
eryl

3 years ago on Introduction

Not actually a graphic equaliser, but a bargraph display. An equaliser allows you to adjust the balance of the frequencies. This just displays them.

2 replies
0
None
fstedieeryl

Reply 3 years ago on Introduction

More specifically, a sprectrum analyzer - NOT a graphic equalizer.

0
None
SteveQuinnfstedie

Reply 3 years ago on Introduction

Ah, such a strong reply and the use of capital letters an'all to vent your spleen, not quite what I had imagined to be in line with this site's 'be nice' policy being neither positive nor constructive.

In mitigation the manufacturers of said MSGEQ7 do indeed refer to the chip and I quote 'Seven Band Graphic Equaliser IC'.

My Instructable was merely a 'tongue in cheek' reference to the 1980s and how the electronic audio devices of the time had many LEDs serving no real purpose.

It was not in any way meant to mislead or cause the distress it clearly has, nor had I for one minute assumed it would evoke such passion.

If it helps 'fstedie' you are indeed quite right the MSGEQ7 actually a series of band pass filters with peak detection and if employed in an actual Graphic EQ would only form part of the device. The ability to selectively attenuate (I choose my words carefully) the same frequencies in the audio path being the other.

I have changed the text in the Instructable to reflect this fact. I sincerely hope this makes it all better again.

0
None
sWillyPs

3 years ago on Introduction

As others have said, this isn't a graphic equalizer, this is a spectrum analyzer. The two often go hand in hand, with the spectrum analyzer being a display, the Graphic equalizer being a device to adjust output levels of each individual frequency spectrum.

0
None
dawankler

3 years ago on Introduction

Cool project, but it's not a graphic equalizer. Graphic EQs have the graphic half and the filter/equalizer half. You've built a low res spectrum analyzer.

0
None
ir jammer device

3 years ago

Hello can you this build this is one ir jammer device is for bill acceptor send inrfomation to the bill acceptor writing me if this email please rewe.dekra@web.de

0
None
nonobadog

3 years ago on Introduction

Right, this is misnamed a bit. There is no equalizer function here at all. But it is a neat display.

0
None
mike_skinner

3 years ago

and BOOM! great job! :0)

0
None
tomatoskins

3 years ago on Introduction

This looks beautiful! I love the video showing the EQ in action.