View on GitHub


Amplifier control module with spectrum analyzer and FM radio

This system is an amplifier control module supporting various audio processors with I²C interface. It can be managed either with RC-5, RC-6, NEC or Samsung infrared remote control or with front panel 5 buttons and rotary encoder. All appropriate information during control is displayed on monochrome graphic LCD. When nothing is controlled, current time, FM radio screen or results of signal spectrum analisis are displayed.

Upstream development is focused on ATmega32 MCU and 128x64 graphic displays (KS0108 and ST7920 controllers). This version provides many features, possibly missing in other possible hardware options. Alphanumeric displays with size 16x2, which based on HD44780 (KS0066) controllers are also now supported, but they don't look so cute as graphic displays.

Also ATmega8 version is under active development. But it doesn't include some features from main branch and supports only alphanumeric displays

Feature ATmega32ATmega8
Amplifier control (mute/standby external signals) yesyes
Digital audio control (feature set depends on used audio processor) yesyes
32-band spectrum analyzer (0..5kHz) yesyes
RC5 remote control support yesyes
English, Russian, Belarusian, Ukrainian and possible other localizations yesyes
FM radio support yesyes
Up to 60 FM stations can be saved in EEPROM yesyes
RC6, NEC, Samsung remotes support yes-
Learning mode for remote control yes-
Nice graphics (icons, fonts) on graphic LCDs yes-
Alarm support (per day of week) yes-
Standby timer (adjustable from 2 minutes to 5 hours) yes-
No-signal standby timer yes-
Sound level meter, various modes of spectrum analyzer look'n'feel yes-
10 favourite FM stations support (mapped to 0..9 buttons of remote) yes-
2-channels temperature control of power amplifier circuits yes-
AudioprocessorFeature set ATmega32ATmega8
TDA74394 stereo inputs, bass, middle, treble yesyes
TDA73124 stereo inputs, bass, treble yesyes
TDA7313/PT23133 stereo inputs, bass, treble, fade, loudness yesyes
TDA7314Stereo input, bass, treble, fade, loudness yesyes
TDA7315Stereo input, bass, treble yesyes
TDA73184 stereo inputs, bass, treble, fade yesyes
PT23144 stereo inputs, bass, treble, loudness yesyes
TDA74486-ch input, fade, center, subwoofer yesyes
PT2323/PT23224 stereo inputs, 5.1 input, bass, treble, fade, center, subwoofer, surround, 3d yesyes
TEA63003 stereo inputs, bass, treble, fade yesyes
TEA6330Stereo input, bass, treble, fade yesyes
PGA2310High-end stereo volume control yesyes
RDA580XUse built-in tuner volume control as audioprocessor yesyes
DisplayDescription ATmega32ATmega8
KS0108 type AMonochrome 128x64 graphic display with direct CS1/CS2 polarity yes-
KS0108 type BMonochrome 128x64 graphic display with inverted CS1/CS2 polarity yes-
ST7920Monochrome 128x64 graphic display yes-
SSD1306Monochrome 128x64 graphic OLED I²C (SCK - PA4, SDA - PA2) yes-
KS0066 16x2Monochrome alphanumeric display yesyes
LS020Color 176x132 graphic display found in some Siemence mobile phones like S65 yes-
TunerDescription ATmega32ATmega8
TEA5767I²C FM tuner yesyes
RDA5807I²C FM tuner with RDS support yesyes
TUX032I²C FM tuner found in some Sony car radio yesyes
LM7001SPI-control frequency synthesizer yesyes
RDA5802I²C FM tuner yesyes
RDA5807_DFOption for RDA5807 with direct frequency input yesyes
LC72131SPI-control frequency synthesizer yesyes

While project uses various parameters from EEPROM memory (for example, audioprocessor and tuner selection), special desktop application to edit eeprom_xx.bin was designed. It allows to load, modify and save eeprom binary file in easy way. Currently ampcontrol editor can manage only eeprom files for main (m32) branch of code, but also can be useful in combination with hex editor in other branches, for example, for localizations.

Ampcontrol editor is written on Qt5 and it's sources are availiable on Github. Exetuable for windows (statically compiled) can be downloaded from Dropbox

Project is open source and availiable under GPL license.