Project showcase: Audio Spectroscope

Made using 129 ICs and over 1200 components in total this massive project delivers a stunning-looking audio spectroscope without any microcontrollers or other digital signal processors.

Theory of operation:

The device consists of 11 PCBs, one backplane and 10 display modules. On the backplane there are 2 3.5mm TRS sockets. Both of them are connected together, and the user can plug the source to one of the sockets, and headphones or speakers to the other, so there’s no need to use a splitter. Next using a set of jumpers (JP1, JP2, JP3) the user can use either the left, right or both channels as the input for the spectroscope. Jumpers feed into a preamp with user-adjustable gain (U4A), so both quitet and loud listeners can see the spectroscope work. The series shottky diode (D4) protects the preamp from voltage spikes coming from the audio input.

The preamp feeds into 10 active band-pass filters that separate the audio signals into different bands. Those bands are: 32Hz, 63Hz, 125Hz, 250Hz, 500Hz, 1kHz, 2kHz, 4kHz, 8kHz and 16kHz. Each band is connected to a separate display module connector.

Each display module has two peak detectors connected in series. The first detector made up of U3A, D1 and U3B has a smaller hold capacitor C12 and it’s quickly discharged by R34. Output of this peak detector will show the current amplitude of a filtered audio signal. Next peak detector (U3C, D2 U3D) has a larger hold capacitor and it does not have a discharge resistor. Since it’s connected to U3D and D2 it will still discharge, because of non-zero leakage currents of those components. Output of this slow peak detector will show the maximum amplitude of the audio signal and hold it there for a short while.

Both the fast and slow peak detector outputs are connected to 12 comparators each. Reference levels for the comparators are set by a long voltage divider in the middle. If a voltage on the input line is higher than the reference voltage set by the resistors, a comparator pulls the output low. In effect, the higher the voltage on the input line, the more comparators are switched off, and the more of their outputs have a logic low. On the fast side the comparators connect to logic NOT gates through some simple Resistor-Diode level shifters. On the slow side the comparators feed through voltage level shifters into Ex-OR gates. Each Ex-Or gate is connected to both it’s own comparator, and the next comparator. If both of the comparator outputs are the same, the gate’s output is low. Only in a situation, when the current level is different from the next one, the gate has a logic 1 on its output. As a result, for example, the fast side outputs ‘000001111111’ while the slow side will only output ‘000001000000’.

The LEDs are driven by a pair of transistors each (Q2, Q3, Q4 …). One transistor is controlled by the slow side, while the other one is controlled by the fast side. Transistors are connected in such a way, that either one can independently turn the LED on. Current of the LEDs is set by the series resistors (R8, R9, R10 …), During the assembly of the first prototype I bought new red and green LEDs, but used old yellow LEDs that I had in stock. Since the old LEDs were much dimmer than the new ones, I used a lower value of resistance for yellow LEDs.

I used a set of long M3 screws to tie all the display modules together and used a simple aluminium case case. I’ve used thin strips of gray foil to stop light from bleeding between LEDs. In this preview you can see the first prototype, which had several major errors - on the preview only 9 display modules are fitted - last module is broken and I gave up trying to fix it.

You can find all the design files in the Github repository here:

10 Likes

I think this is a great use of this category, and clearly lots of work went into it :brain: cheers.
:mouse:

3 Likes

:clap: :clap: :clap:
“My favorite programming language is … solder” (Bob Pease)

3 Likes

it’s very nice, it’s how we would have done it in 1970,1980,1990
demonstrates understanding of analog techniques.

I didnt know those dual BC547s existed, useful for current mirrors I gues…

2 Likes

Two transistors in the same package do create thermal coupling (but for really good thermal coupling they would have to be on the same die) but the real reasons are probably much more mundane.

  1. Individual transistors are cheap, the package (and the work to do the packaging) is most of the cost.
  2. Needs less board space, thus higher PCB density.
  3. SMT placement is needed for half the packages, so that saves more time and thus money for mass production.

all true
I use alot of SMT complementary NPN+PNP + 4 resistor combos like Diodes Inc DCX123, UMD22 etc
they come in various R2/R1 ratios
image

Since you apparently use a lot of them…
How often are those transistors on the same die?
Are other tricks used such as (extra) thermally conductive epoxy?

These trannies - I dont actually know if they are same die, or just same package.
In the old days with used thermal epoxy, mechanical clamps,
and of course the veritable CA3046 and there were plenty of metal can single die dual transistors for current mirrors / differential amplifiers etc 2N2223 I think

You can use BCM847 - they are matched to within 2mV. Perfect for current mirrors or differential pairs.

There are also matched versions of dual 2N3904:
https://www.mouser.com/datasheet/2/115/DIOD_S_A0004366104_1-2512655.pdf

Nice work! And really neat schematics and layouts, too. Commendable! :wink:

2 Likes