
3-channel audio amplifier. Mains-powered and with digital volume control. Includes a 3D printed enclosure matching the Teensy DSP/DAC, OLED display and rotary click-encoder control
Almost 2 years later, and I just posted an update about the DSP/DAC, where I describe making the DSP 24-bit capable, which allows digital volume control without loosing quality. In there I also allude to the fact that my efforts to implement analog volume control have failed. In the previous post for this project I reported I figured out the issue, so what happened?
In short, while I thought I figured out what I did wrong (tying the grounds of the analog outputs together), in reality this was not the case, even in the original carrier-board design. So I never really figured out why I almost blew up my speakers, and I had to come up with a different approach.
One idea was to design a 3-channel amplifier from scratch. TI has some really cool amplifier chips, and I got pretty far designing a PCB around the TPA3251:

But analog design is such a dark art that I never felt confident enough to order the board and spend money on not-so-cheap components. It would be too disappointing to go through all that trouble and expense only to find out my design doesn’t work or sounds horrible.
Another approach I pursued for a while was using off-the-shelf volume control modules. Sure Electronics have this adorable, cheap module that is normally controlled by the included rotary knob. I’m not sure what chip these are built around, but at EUR7 each I just got a couple to try them out, and they really work. Since I wanted to use a pair (I needed at least 3 channels), and I didn’t want to use the included knob, I set out to reverse engineer the serial protocol used to control the volume. It’s a weird, non-standard protocol, but I was able to figure it out, and to control the volume from my own software. So I started designing a PCB. I could plug the modules into pin-headers to connect the power and audio signals, but I would also have to add connectors to the PCB for the cables that normally run to the rotary knobs:

In the end, while I think this would work, I still don’t know what the problem with the first PCB was, and I’m afraid of really destroying my speakers. So I gave up on the whole idea and reverted back to using the fixed-gain amplifier modules I already had. With the improved DSP this actually works like a charm, and I like the look of the setup:

So I’m ending this project, at least for now. Maybe I’ll revisit it to add analog volume control after all, but for now I am happy to listen to music with this setup.