Arduino-based, simple, built-in woofer on a chip with an FM receiver

Arduino creates a lot of interesting devices and systems. But not so many of them are used in real life. In most cases, these are toys or just projects just for fun. Even more rare are projects that are related to high-quality sound reproduction.
At the same time, on Arduino you can implement quite decent audio projects for everyday use. What we did was creating a high-quality stereo amplifier with a built-in FM-receiver and a control system. Actually, you can do without an FM receiver and connect other sound sources. But we found this combination convenient. Plus I wanted to make the project self-sufficient - turned on, played, have fun. We are already getting.
By design, the amplifier should provide very high sound quality at low power. In principle, for a home (and the system was conceived precisely as a home one), enough 2 x 20 watts. And the neighbors will treat you well, and the sound will be very worthy.
What did we use?
- D-Class Digital Amplifier, 2 x 20W SANYO.
- Hi-Fi Audio Processor (TDA8425)
- FM radio.
- Real time clock (RTC).
- 2 valcoders with handles.
- Actuator (BM146).
- Module for connecting a character display (IIC LCD).
- Freaduino UNO, 3.3V / 5V, ATMEGA328, 16 MHz.
- IFC remote control with receiver.
Arduino controller can be used, in principle, any.
We took the display WEH002002ALPP5N00001 - it turns out very nice. If you are indifferent to beauty, try the LCD for Arduino.
Still need a power supply. We used the PS-65-15 - a 65 W power supply. 15B. Enough for our purposes. Actually, you can use any 9-15 volts and power from 40 watts.
Well, and another red LED - everyone will do.
Software and Sketch
(download links)
Sketch
Libraries
Library for IIC LCD Ardiuno1.0
Library for IIC LCD latest
How to connect elements to Arduino?
The scheme is quite simple, so let's get by with the text.
OLED display with IIC LCD module installed:
C ---> 2
D ---> 3
L ---> 4
Valkoder (from MP1093 set) left:
A ---> A0
B ---> A1
S --- > 9
+ power supply
Valkoder (from MP1093 set) right:
A ---> A2
B ---> A3
S ---> 10
+ power
LED:
---> 6
MP1094:
signal ---> 7 (first contact square pad)
on the MP1094 signal location:
1 signal
2 GND
3 VDD
Relay:
---> 8
MP1095:
SDA ---> A4
SCL ---> A5
+ power
MP1090S:
SDA ---> A4
SCL ---> A5
IN_SEN ---> VDD
IN_RST ---> 13
These signals are output to the 10-pin MP1090S connector.
Signal location on connector:
- 1 (marked with a square pad) - SDA
- 2 SCL
- 3 IN_SEN
- 4 IN_RST
MP1243:
SDA ---> A4
SCL ---> A5
input 1 ---> AUX
input 2 ---> FM
The MP1090S and MP1243 modules must be powered by Arduino.
Control
The functions of the amplifier are activated by two valcoders, with buttons on the axis. The right-hand encoder controls both volume and AUX / FM sound source selection.
The left-hand encoder controls the timbre (low-high), balance, station frequency selection, clock (how would it be without them?).
Here's how it looks and works:
We prefer to make cases from PVC, and now we are just making an excellent case for the amplifier.
The device turned out to be really high-quality, and the power is enough to enjoy the sound in a room whose area does not exceed 40 square meters. Do you have more? Next time we publish an article on the creation of a more powerful amplifier.
If someone wanted such an amplifier home, then the above items can be found here or in any other place where peripherals for Arduino are sold.
If you are implementing this project, we will be happy with ideas and suggestions for improving it.