The PAM8403 amplifier module stereo audio solution is the go-to choice for small, battery-powered speakers in Indian maker projects. Available for as little as ₹25–₹60, the PAM8403 delivers 3W per channel of clean Class D audio from a 5V supply — perfect for DIY Bluetooth speakers, portable radios, and IoT notification devices. This guide covers the PAM8403’s specifications, wiring for different audio sources, power supply optimisation, and complete project examples.
Table of Contents
- PAM8403 IC Overview and Specifications
- Module Variants Available in India
- Wiring the PAM8403 Module
- Power Supply for Best Performance
- Using with Arduino and Bluetooth Modules
- Complete Project: Portable Stereo Speaker
- Frequently Asked Questions
PAM8403 IC Overview and Specifications
The PAM8403 is a 3W stereo Class D audio amplifier from Diodes Incorporated (formerly Consonance). It is one of the most popular small amplifier ICs worldwide due to its filterless design, low EMI, and high efficiency.
Key specifications:
- Output power: 3W per channel into 4Ω at 5V (both channels driven). With thermal and voltage overhead, typically 2.5W sustained.
- Supply voltage: 2.5–5.5V — works from 3× AA batteries (4.5V), 4× AA (6V — marginal), single Li-Ion cell (3.7V nominal, 4.2V full charge), or USB 5V.
- Efficiency: 85–90% typical at full power — far better than Class AB amplifiers which waste 50–70% as heat.
- SNR: 95 dB — excellent for the price point.
- Shutdown pin (SHDN): Active-LOW shutdown for power saving — pull LOW to mute and enter 50μA sleep mode.
- Built-in overcurrent and thermal protection.
The filterless output uses BTL (Bridge Tied Load) topology — no output coupling capacitors needed, driving the speaker directly from the H-bridge outputs. Both speaker terminals carry a differential signal — do NOT connect either speaker terminal to GND!
Module Variants Available in India
Several PAM8403 module variants are available in India:
- Basic 5-pin module (₹25–₹40): Smallest variant — VCC, GND, Left IN, Right IN, and power LED. No volume control or mute switch. Use with external potentiometer.
- Module with volume control (₹40–₹80): Adds a small potentiometer on the board for manual volume adjustment. Most popular for DIY speakers.
- Module with USB input (₹60–₹100): Adds a Micro-USB port for 5V power and sometimes a 3.5mm audio jack input. Easiest for phone-to-speaker connections.
- Stereo amplifier board with filter (₹80–₹150): Adds LC output filter (inductor + capacitor) to reduce high-frequency switching noise for improved audio quality with sensitive speakers.
Wiring the PAM8403 Module
// PAM8403 Module Wiring
// Left channel
// L+ (Input+) → Left audio signal (from phone, DAC, or Arduino)
// L- (Input-) → GND (if signal is single-ended)
// OR → Inverted signal (for differential BTL input)
// Right channel
// R+ (Input+) → Right audio signal
// R- (Input-) → GND (single-ended)
// Power
// VCC → 5V (USB) or 3.7-4.2V (Li-Ion)
// GND → Common ground with audio source
// Speaker outputs
// LOUT+ and LOUT- → Left speaker (4Ω or 8Ω)
// ROUT+ and ROUT- → Right speaker (4Ω or 8Ω)
// NEVER connect either OUT terminal to GND!
// Input coupling capacitor
// Add 10μF electrolytic capacitor in series with each audio input
// if audio source has DC offset (e.g., Arduino DAC output)
Power Supply for Best Performance
The power supply significantly affects audio quality:
- USB power bank: Best option for portable builds. Most Indian power banks (Realme, Xiaomi, Ambrane) output clean 5V that works well with PAM8403.
- Li-Ion cell (3.7V): Works but at reduced power. A 3.7V LiPo (common 18650 cell) gives approximately 1.5W per channel. Add a TP4056 charging module for safe charging. One 18650 cell (2600mAh) runs a PAM8403 at moderate volume for 4–6 hours.
- AC adapter: Use a 5V 1A or 5V 2A phone charger. Avoid very cheap chargers with switching noise — they cause audible hum through the speakers.
- Arduino 5V pin: Adequate for headphone-level volumes but avoid driving large speakers — the Arduino’s onboard regulator cannot supply the 600mA peak current that PAM8403 draws at full power.
Add a 100μF electrolytic capacitor across the VCC-GND pins of the PAM8403 module, as close to the chip as possible. This local decoupling capacitor prevents supply voltage dips during audio peaks from causing distortion.
Using with Arduino and Bluetooth Modules
Arduino DAC → PAM8403
Arduino UNO does not have a DAC — it uses PWM audio. Use the Arduino tone() function for simple sounds, or use the TimerFreeTone library for better PWM audio quality. For music playback, use Arduino Mega with the TMRpcm library and an SD card, outputting to a single-channel PAM8403 configuration.
// Simple Arduino PWM audio → PAM8403 (mono)
// Connect Arduino Pin 11 (PWM) → 10kΩ → PAM8403 Left Input+
// Connect PAM8403 Left Input- to GND
// Add 10μF capacitor in series between Pin 11 and input
#include <TMRpcm.h>
#include <SD.h>
TMRpcm audio;
void setup() {
SD.begin(10); // SD CS pin
audio.speakerPin = 11; // PWM output to amplifier
audio.setVolume(5); // 0-7
audio.play("song.wav"); // 8kHz, 8-bit WAV from SD card
}
void loop() {}
Bluetooth A2DP → PAM8403
For wireless audio from a phone, add a cheap Bluetooth audio receiver module (available in India for ₹100–₹200). Connect its 3.5mm audio output (or solder directly to its DAC output) to the PAM8403 inputs. This is the simplest way to build a DIY Bluetooth speaker — no microcontroller needed. A YX5200-5V BT module + PAM8403 + speaker + Li-Ion cell + TP4056 charger makes an excellent portable speaker for ₹400–₹600 total.
Complete Project: Portable Stereo Speaker
Bill of Materials for a complete DIY Bluetooth stereo speaker (India prices, March 2025):
- PAM8403 module with volume knob: ₹60
- Bluetooth 5.0 receiver module (XY-BT-Mini): ₹150
- 2× 3W 4Ω 2-inch full-range speakers: ₹120
- 18650 Li-Ion battery (2600mAh): ₹150
- TP4056 charging module with protection: ₹40
- Push button switch: ₹10
- 3D printed or wooden enclosure: ₹100–₹500
- Wires, connectors, heat shrink: ₹30
- Total: approximately ₹660–₹1,100
Connections: Phone Bluetooth → XY-BT-Mini module (Bluetooth receiver) → PAM8403 inputs → Speaker terminals. Battery → TP4056 input. TP4056 output → power switch → PAM8403 VCC.
Frequently Asked Questions
Can I use 8Ω speakers with the PAM8403?
Yes. The PAM8403 drives both 4Ω and 8Ω speakers. With 8Ω speakers at 5V, output power is approximately 1.5W per channel (half the 4Ω power). Sound quality is typically better with 8Ω speakers because they are less demanding on the amplifier, but maximum loudness is lower. For portable battery-powered speakers, 8Ω speakers also extend battery life.
Why does my PAM8403 hiss or produce background noise?
Common causes: insufficient input signal level (the PAM8403 has fixed gain, low input level → amplified noise floor), ground loop between audio source and amplifier power supply, or digital switching noise from nearby microcontrollers. Solutions: keep Arduino/ESP32 ground connected to PAM8403 GND via a single point (star ground), add 100Ω series resistors on audio inputs to reduce RF coupling, and keep amplifier away from switching power supplies and microcontrollers.
How do I control volume from an Arduino?
Connect a digital potentiometer IC (MCP41010, ₹30–₹50) between the audio source and the PAM8403 input. The Arduino controls the MCP41010 via SPI to set the resistance (0–10kΩ in 256 steps), effectively creating a programmable volume control. Alternatively, use a PWM signal through an RC filter to modulate the signal amplitude — less precise but very simple to implement.
What is the difference between PAM8403 and PAM8406?
PAM8406 is an enhanced version that operates at higher voltages (2.5–6V), has better EMI performance, and supports 5W per channel into 4Ω at 6V supply. PAM8406 is a drop-in replacement for PAM8403 in most designs. In India, PAM8403 modules are more widely available and cheaper, making them the default choice for projects running on USB 5V or Li-Ion.
Add comment