“How about getting rid of that broken volume knob on your stereo and replacing it with some buttons, LEDs and Bluetooth?
What is it all about?
It’s a rather detailed (hopefully) description on how to replace a stereo system’s volume knob which uses a rotary encoder with a custom board with buttons and Bluetooth connectivity.
For starters, an important note: this project is written with the Panasonic SA-AK45 stereo system in mind (because that’s what I worked with), but will work for any other sound system using a rotary encoder for volume control (apart from the system disassembly instructions of course). Note that encoders used by other systems might (but don’t have to) have a slightly different signal profile (this can be handled easily by small adjustments in the software - more on that in the appropriate step).
With that out of the way, let’s get to the proper intro. Panasonic SA-AK45 is a stereo system from the late 90’s which I still have and use mostly as the sound system for my PC. It had a large volume knob in front, but some time ago, unfortunately, it had broken. So I decided to fix it and ended up with a custom button-based volume control with Bluetooth access (more on why I didn’t just fix the knob later).
The system comes from an era when digital controls swept the market and replaced analog ones and it is no exception here. The knob doesn’t use a potentiometer, but instead, it sits on a rotary encoder (a small device sending digital signals when you rotate it). In case of this system, this particular part is quite unorthodox and it’s difficult to find a replacement (not to mention repairing it - these things have TINY parts), so I decided to get rid of it completely, remove the knob and install our custom board with buttons and Bluetooth.
All this must be controlled somehow and we’ll use the Attiny85 microcontroller for it, as it’s cheap, accessible, pretty small and has just the right amount of resources to do the job. Anyone familiar with Arduino will be able to work with it with no problem.
For Bluetooth communications, we’ll use the HC-06 module - it’s a quite popular derivative of the ubiquitous HC-05, which differs from it by being cheaper and being able to only work as slave (which is fine for our scenario). Any other module can be used too, with minimal changes in code (see the appropriate step).
FINAL NOTE: Basic soldering/desoldering skills are required.
Now, let’s get to it.
- Panasonic SA-AK45 stereo system (or any sound system with volume controlled by a rotary encoder);
- Attiny85 microcontroller;
- DIP-8 socket (optional - for easy removal of the microcontroller);
- HC-06 Bluetooth module (HC-05 or similar will be fine too but the AT commands controlling it might differ);
- 2 LEDs (might be substituted by resistors if somebody doesn’t want the BLING - more on that in a later step);
- 2 tact switches (preferably larger ones, easy to press - these will be our volume control buttons);
- 4 resistors: 100, 1.2k, 2.2k, 100k ohm (or similar values);
- 1 100 nF capacitor;
- 2x2 square PCB female header connector;
- 4 male-male jumper/DuPont wires (20 cm or similar);
- a universal PCB (about 4x6 cm) (or a custom made one, based on the schematics attached in later steps);
- AVR programmer or an Arduino board (to program the Attiny);
- a breadboard and some more DuPont wires for prototyping (optional);
- soldering iron, soldering wire, flux, desoldering pump (optional).”