Header Ads Widget

How to make Arduino based digital audio system?

#Arduino Project

There are multiple music systems available in market, but lets make our own digital music system using Arduino nano board and TDA7439 which is three band four channel digital audio processor. The core of this system is off course the Ardunio Nano which is programmed to take inputs from rotary encoder and tactile switches and control Radio module, BT Module and sound processor IC TDA7439 and display results on 0.96inch OLED.

Power amplifier is not built here, so external power amplifier of your choice can be connected to the output of this processor.

Here is the view of assembled main board, radio board and front panel.

Arduino Sound Processor

Watch out the video to see the system fully functioning. 


Let us see the features of this system:

•  It has four input channels
        CH-1 for Bluetooth Module
        CH-2 for Radio (with fixed station frequencies)
        CH-3 for Auxiliary Input-1
        CH-4 for Auxiliary Input-2

•  Four Switches to
        Select Input Channels
        Mute
        Select Next Radio Station
        Select Preset Sound Equalizer Settings

 •  Rotary Encoder to 
       Change Volume Level
       Change Bass Level
       Change Mid Level
       Change Treble Level
       Adjust stereo balance level

  •  OLED to display all the selected values above


I have done few modifications in TEA5767 foot print and rotary encoder board to mount them as per my need.

- Drill hole in TEA5767 foot prints and solder 4pin 2.0mm male headers and solder TEA5767 module on top side of PCB with header pins carefully

- Rotary encoder comes with 5pin right angled male header which I replaced with 5pin simple male header to fit in front panel board. Also used general purpose PCB to extend the rotary encoder physical position that is optional.

I have used rotary encoder of below pin configuration. You can use any encoder module compatible to this. (Image taken from https://www.electronicscomp.com/)
Important Note: Please solder one wire directly from MH-M18 BT module ground pin to main board ground terminal to reduce noise during Bluetooth mode.

There are four pins on side of BT module out of which one pin is gnd, one is VCC and rest two unknown pins. Use the ground pin as shown in this image. I have connected it to pin-4 of TDA7439 IC.


For Connecting the 14pin cable to main board refer to below diagram and follow pin number labels in yellow.

While designing the mail PCB my idea was different, I dint though of making a front panel. Later I decided to make a perfect audio system hence front panel was designed and these additional connections to different parts of PCB is required rather than having 14pin single line connections for all wires.

Here is the connection diagram:

Arduino Sound Processor

Also refer below the pin connection of Radio board which will help to plug correctly in main board. Polarities are marked looking at bottom of board.

Note: After powering ON the system, it initializes the radio board and OLED. If radio board is not plugged in the main board, Arduino may keep waiting for feedback from radio and may get stuck there.

Use proper length antenna cable to connect to radio board for better reception.
You can change the radio frequency set points in program based on available frequencies in your city or country.

Here are the schematic of all three different parts of complete system.
Arduino Audio Processor
Main Board


Front Panel
Front Panel

TEA5767 Radio Board
Radio Board


Here is the code for Arduino that need to be programmed in Arduino board through Arduino IDE.


Part List (Main Board):
Component Part# Value Quantity
Capacitor C1, C15, C16, C17, C23, C24, C25, C26 100n / 25V 08 nos.
C2, C3 1n / 25V 02 nos.
C4 to C11 470n / 25V 08 nos.
C12, C13, C19, C20 2.2uf / 25V 04 nos.
C14 10uf / 25V 01 no.
C15 to C17, C23 to C26 100nf / 25V 07 nos.
C18 100uf / 25V 01 no.
C21, C28 18nf / 25V 02 nos.
C22, C27 22nf / 25V 02 nos.
C22, C27 22nf / 25V 02 nos.
C29, C30 5.6nf / 25V 02 nos.
C31 1000uf / 25V 01 nos.
Diode D1 to D4 1N4001/td> 04 nos.
LED 3mm (Optional) D5, D6 Red or Green 02 nos.
Resistor R1, R2 100 Ohms, 1/4Watt 02 nos.
R3, R4, R10 to R15 10 KOhms, 1/4Watt 08 nos.
R5, R8 2.7 KOhms, 1/4Watt 02nos.
R6, R7 5.6 KOhms, 1/4Watt 02nos.
R16 1 KOhms, 1/4Watt 01 no.
R17 330 Ohms, 1/4Watt 01 no.
Jump Wires J4 to J16 As Per Size 13 nos.
Female Header For Arduino Nano 15pin, 2.54mm 02 nos.
SL2 (for Radio Board) 6pin, 2.54mm 01 nos.
Male Header SL1 (for 12V Supply) 2 Pin, 2.54mm 01no.
For Audio Output 3 Pin, 2.54mm 01no.
Arduino Ardunio Nano Module 01no.
ICs U1 LM7809 01no.
U2 LM7805 01no.
SDIP30 TDA7439 01no.

Part List (Front Panel):
Component Part# Value Quantity
Capacitor C1 10uf / 16V 01 no.
C2 100n / 25V 01 no.
C3 470uf / 16V 01 no.
Jumpers J1 to J5 As Per Size 04 nos.
LED LED1 5mm Red 01 no.
BT Module MH-M18 MH-M18 01 no.
Female Header For MH-M18 06pin 2.54mm 01 no.
For OLED 04pin 2.54mm 01 no.
Male Header For Connecting Main Board 14pin 2.54mm Right Angled with 14 Pin RMC - Polarized Header Wire/Cable - Relimate Connector 01 no.
For Rotary Encoder 05pin 2.54mm 01 no.
Resistor R1 330 Ohms 1/4 Watt 01 no.
OLED 0.96 inch 4Pin 128 x 64 White OLED 128 X 64 Pixel 01 no.
Rotary Encoder From electronicscomp.com Product Code: EC-2176 01 no.
Switch S1 to S4 12mm - 4 pin - Tactile/Micro Switch 04 nos.

Part List (Radio Board):
Component Part# Value Quantity
Module Radio Module TEA5767 01 no.
Male Header SL1 06 Pin 2.54mm Right Angled 01 no.
For TEA5767 Board 04 Pin 2.0mm 02 nos.
IC U1 LM1117 01 no.
Capacitor C1, C2 100nf 16V 02 nos.

I haven't added IR remote functionality as OLED and IR remote libraries create issue. Still I will try to add remote function to it by some other way soon.

Click here to download Eagle board files for making pcb.

Till then enjoy the music.


Return to List of content                                                Goto to DIY Project List

Post a Comment

1 Comments