The Arduino Mini Amplifier is a compact audio system that merges vintage analog and modern digital components. It combines a Philips TDA8425 audio processor and an Arduino Nano, supporting Bluetooth and line-in audio, spectrum analysis, stereo modes, and software-controlled tone adjustment.
![]() |
Finished prototype of the Arduino Mini Amplifier. |
The Arduino Mini Amplifier is organized into six major subsystems: the audio processor, spectrum analyzer, Bluetooth source, power amplifier, control interface, and power management unit. This modular setup allows each part to operate with minimal interference from the others, making designing and PCB routing easier. The system uses separate paths for analog and digital ground signals (these are called GNDA for analog ground and GNDD for digital ground). Their connections are limited to specific points, which helps prevent unwanted electrical noise from the MCU from reaching the analog audio circuits.
The audio section is centered on the TDA8425, a dual-channel audio processor developed by Philips in the late 1980s. Originally used in televisions and high-end audio receivers, this device offers precise analog tone control and volume control with excellent linearity and low total harmonic distortion. Despite its age, the TDA8425 remains highly regarded for its analog fidelity and simplicity. Although this chip was manufactured in the 1980s, it can still be purchased at local and online electronics stores.
![]() |
Bottom view of the assembled PCB with Arduino Nano. |
In this project, it performs input source selection, tone adjustment, and stereo effect management, while maintaining a fully analog signal path. The Arduino Nano communicates with the TDA8425 via an I²C interface, issuing control commands to configure volume, bass, treble, and stereo modes in real-time.
A distinctive feature of the amplifier is its 16-channel real-time spectrum analyzer. The spectrum analyzer in this amplifier is a pure software implementation. Rather than relying on analog filter banks or external ICs, the amplifier’s Arduino Nano samples the audio waveform directly through its ADC, processes the data using an FFT algorithm, and visualizes the results on the LCD as a bar-graph style spectrum.
To prevent weak signals from being invisible and strong signals from saturating the display, the firmware applies a dynamic scaling process, and it adjusts the gain level of the spectrum data based on the overall amplitude of the audio input. As a result, the spectrum display maintains consistent visibility regardless of the input volume level.
Finally, the analyzer data is rendered on a 16×2 LCD as a continuously updating frequency display.
Because the NE5532 buffers offer excellent noise performance, high slew rate, and flat frequency response, the analyzer introduces negligible distortion, ensuring the display remains accurate and responsive without affecting the main audio path.
To accommodate modern audio sources, the amplifier integrates an AC6939-based Bluetooth module capable of receiving stereo A2DP audio streams. The module’s outputs are capacitively coupled and routed into the TDA8425 input selector, where they are treated as one of the primary sources alongside the wired line input.
The Yamaha YDA138, a compact Class-D audio power amplifier IC, serves as the final stage of the system. It delivers up to 2×10 W RMS into 8 Ω loads, providing sufficient power for desktop or bookshelf speakers while maintaining excellent efficiency and low thermal output.
![]() |
Thermal view of the top side of the amplifier after 1hr of continues operation. |
The amplifier output is routed through an LC low-pass filter to remove PWM switching components before reaching the output connectors. A relay-controlled switching system, driven by the Arduino, toggles between speaker and headphone outputs. This ensures safe operation and prevents simultaneous loading of the Class-D output stage. Additionally, a digital mute control line is managed by firmware, enabling silent mode transitions and power-on muting to eliminate switching pops.
The core component of the system, Arduino Nano, is responsible for orchestrating all signal routing, mode selection, and user interface tasks. The Arduino Nano interacts with the TDA8425 and other subsystems through I²C, manages ADC sampling for the spectrum analyzer, and updates the 16×2 LCD display. Four front-panel tactile buttons (UP, DOWN, OPTION, and MUTE) provide intuitive navigation through system parameters and tone adjustments.
The firmware, developed using PlatformIO, is based on standard Arduino libraries. The codebase utilizes non-blocking state machines and timer-driven routines, ensuring smooth LCD refresh, responsive button handling, and real-time spectrum updates without introducing latency or jitter.
Through this user interface, the user can control virtually every function, from tone adjustment to input source selection.
![]() |
Top view of the assembled PCB. |
The high-quality PCB for this project was fabricated by PCBWay, the project's generous sponsor, which provides comprehensive manufacturing, assembly, CNC, and 3D printing services. The complete PCB design files are available for direct order through the PCBWay project page. Check out the PCBWay website for its manufacturing capabilities and pricing.
The Arduino Mini Amplifier PCB is designed using KiCad and optimized for manual assembly without requiring specialized equipment. Although the board primarily uses SMD components to achieve a compact layout and short signal paths, all component footprints are carefully selected to be hand-solderable using a fine-tipped soldering iron and standard tools. (A hand-soldering guide is included in the project documentation, outlining the recommended soldering order.)
The Arduino Mini Amplifier project is an open hardware project. All its design files, firmware source code, documentation, and other resource files are available at the git repository: https://github.com/dilshan/arduino-mini-amp.
Comments