Automotive 7 band audio EQ into 7 gauge display

This an idea I had a few years back, completely forgot about it. It's a stock graphic equalizer for the factory stereo. The factory stereo has been upgraded to aftermarket. It can be made to work with the aftermarket stereo but it will only ruin the sound and/or display nothing due to being out of range.

So I had this idea of re-purposing it to show engine parameters. I get a signal from a oil pressure sender send that to an Arduino which produces a tone signal which goes to the input of the EQ within a certain range. Then do the same with engine temp, rpm, maybe a boost gauge. There's adjustability to the EQ in each band, I'm not expecting to make a precision device that I will rely on, just something neat.

So the question is can an Arduino handle making multiple tones like that based on separate analog inputs? Multiple Arduinos? Or another device completely?

So you want to assign each band a different source? Nice idea :-)

Problem with digital (square wave) sound are harmonic waves, which contribute to higher frequency bands. Use the tone() function for a single (lowest band) frequency and watch the EQ display.

From the Arduino Reference Page:

Only one tone can be generated at a time. If a tone is already playing on a different pin, the call to tone() will have no effect. If the tone is playing on the same pin, the call will set its frequency.

So, I'm thinking multiple boards will be needed. But the gurus here have probably figured out a way around it by some other means. They'll chime in I'm sure.

You can play many tones using the BlinkWithoutDelay example as a pattern.

Alright, that's good news. Spanning the electronics - automotive gorge, is usually one of those rope bridges, with missing and rotted planks. This is encouraging. I guess the first thing I should do is set an EQ and Arduino up. See what I can do so far as creating tones that show up on the display without overlap.

I've just been looking at this Tone thing. If I understand it right my ATmega328 (UNO R3) has 3 timers that means 3 simultaneous tones. Would it make more sense to have some sort of pre-recorded sound clips that can be played back instead of generating a sound? Is that possible?

In either case sine wave generation is required. As the center frequencies of the gauge display are fixed, I'd vote for dedicated hardware generators.

After all it may be much easier to hack the display for direct gauge painting, that's all digital and no problem for an Arduino.