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. ATmega328p (base of many Arduino boards) instead of ATmega32 can be also used, but due to limited pins number it supports only graphic displays 128x64.
Also, ATmega16 version can be used. The schematic is similar, but only KS0108 and KS0066 displays are supported. Because of smaller Flash size the set of suupported features is lower.
Also, ATmega8 version is under active development. But it doesn’t include some features from main branch and supports only alphanumeric displays. Also, ATmega328p can be used with the same schematics.
|Amplifier control (mute/standby external signals)||yes||yes||yes||yes|
|Digital audio control (feature set depends on used audio processor)||yes||yes||yes||yes|
|32-band spectrum analyzer (0..5kHz)||yes||yes||yes||yes|
|English, Russian, Belarusian, Ukrainian and possible other localizations||yes||yes||yes||yes|
|FM radio support||yes||yes||yes||yes|
|Up to 50 FM stations can be saved in EEPROM||yes||yes||yes||yes|
|10 favourite FM stations support (mapped to 0..9 buttons of remote)||yes||yes||yes||yes|
|RC5 remote control support||yes||yes||yes||yes|
|RC6, NEC, Samsung remotes support||yes||yes||-||-|
|Learning mode for remote control||yes||yes||-||-|
|Nice graphics (icons) on graphic LCDs||yes||yes||-||-|
|Nice graphics (fonts) on graphic LCDs||yes||yes||yes||-|
|Alarm support (per day of week)||yes||yes||-||-|
|Standby timer (adjustable from 2 minutes to 5 hours)||yes||yes||-||-|
|No-signal standby timer||yes||yes||-||-|
|Sound level meter, various modes of spectrum analyzer look’n’feel||yes||yes||-||-|
Supported audio processors:
|TDA7439||4 stereo inputs, bass, middle, treble||yes||yes||yes||yes|
|TDA7312||4 stereo inputs, bass, treble||yes||yes||yes||yes|
|TDA7313/PT2313||3 stereo inputs, bass, treble, fade, loudness||yes||yes||yes||yes|
|TDA7314||Stereo input, bass, treble, fade, loudness||yes||yes||yes||yes|
|TDA7315||Stereo input, bass, treble||yes||yes||yes||yes|
|TDA7318||4 stereo inputs, bass, treble, fade||yes||yes||yes||yes|
|PT2314||4 stereo inputs, bass, treble, loudness||yes||yes||yes||yes|
|TDA7448||6-ch input, fade, center, subwoofer||yes||yes||yes||yes|
|PT2323/PT2322||4 stereo inputs, 5.1 input, bass, treble, fade, center, subwoofer, surround, 3d||yes||yes||yes||yes|
|TEA6300||3 stereo inputs, bass, treble, fade||yes||yes||yes||yes|
|TEA6330||Stereo input, bass, treble, fade||yes||yes||yes||yes|
|PGA2310||High-end stereo volume control||yes||-||yes||yes|
|TUNER_VOLUME||Use built-in tuner (RDA580x/Si4703) volume control as audioprocessor||yes||yes||yes||yes|
|R2S15904SP||4 stereo inputs, bass, treble (found in Microlab Solo-7C)||yes||-||yes||yes|
|KS0108 type A||Monochrome 128x64 graphic display with direct CS1/CS2 polarity||yes||yes||yes||-|
|KS0108 type B||Monochrome 128x64 graphic display with inverted CS1/CS2 polarity||yes||yes||yes||-|
|ST7920||Monochrome 128x64 graphic display||yes||yes||-||-|
|SSD1306||Monochrome 128x64 graphic OLED I²C (SCK - PA4, SDA - PA2)||yes||yes||-||-|
|KS0066 16x2||Monochrome alphanumeric display||yes||-||yes||yes|
|LS020||Color 176x132 graphic display found in some Siemence mobile phones like S65||yes||-||-||-|
- KS0108 type A
- For KS0108B and ST7920 schematics is similar
- SSD1306 SDA/SCL => PC0/PC1 (DISP_STROB and DISP_DATA of parallel displays)
Supported FM tuners
|TEA5767||I²C FM tuner||yes||yes||yes||yes|
|RDA5807||I²C FM tuner with RDS support||yes||yes||yes||yes|
|TUX032||I²C FM tuner found in some Sony car radio||yes||yes||yes||yes|
|LM7001||SPI-control frequency synthesizer||yes||-||yes||yes|
|RDA5802||I²C FM tuner||yes||yes||yes||yes|
|SI470X||I²C FM tuner with RDS support||yes||yes||yes||yes|
|LC72131||SPI-control frequency synthesizer||yes||-||yes||yes|
Ampcontrol EEPROM editor
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.
Ampcontrol editor application has different versions for ATmega32/328 and ATmega8.
Ampcontrol editor is written with Qt5 and it’s sources (for ATmega32/328) are availiable at Github. For ATmega16 and ATmega8 another version should be used because of different eeprom size and layout.
Ampcontrol remote control application
Ampcontrol remote can be used to control the device (ATmega32/328 only) from PC. It works via any UART. TX pin of UART should be connected to RX pin of MCU. An appropriate COM port settings have to be set up.
Also, if you have Bluetooth adapter that provides COM port in the system, it also can be used to control the device without any wires. Bun on the device side Bluetooth-to-UART bridge should be used. HC-05 (or HC-06) module is the best choice for it. In this case Android version of application can also be used.
Remote application is also written with Qt5 and it’s sources can be get from Github.
Other hardware options:
- Atmega8-lcd branch
This branch is hardcoded to be used with 16x2 character display, TDA7313 audio processors and it doesn’t support FM radio. But it’s interface localization can be switched between Russian and English without EEPROM reflashing, and also it supports RC5 learning mode. Both m8 and m8-lcd branches has the same pinout.