Overview
The TPA3118 PBTL is a high-efficiency Class-D mono digital amplifier board built around the Texas Instruments TPA3118D2 chip. Configured in PBTL (parallel bridge-tied load) mode, it delivers up to 60W into a single 4Ω speaker from a 24V supply, making it perfect for subwoofers, single-channel home audio, large Bluetooth speaker builds, and DIY guitar amplifiers.
The board accepts a wide DC input range of 4.5V to 24V, includes a mute switch, and features 4 large output filter inductors that smooth the Class-D switching output before it reaches the speaker. Class-D efficiency is typically 90%+, so the heatsink stays cool even under sustained high-power output. Onboard you also get input audio terminals (line-level), output speaker terminals, and a power input pair.
At a Glance
Specifications
| Parameter | Value |
| IC | TPA3118D2 (Texas Instruments) |
| Topology | Class-D Digital, PBTL Mono |
| Supply Voltage | 4.5V - 24V DC |
| Output Power | 60W RMS into 4Ω @ 24V (10% THD) |
| Output Power | 30W RMS into 8Ω @ 24V (10% THD) |
| Speaker Impedance | 2Ω - 8Ω |
| Input Sensitivity | Line level (~700 mV RMS) |
| Input Impedance | ~10 kΩ |
| Frequency Response | 20 Hz - 20 kHz (-3 dB) |
| SNR | > 100 dB |
| THD+N | 0.1% @ 1W |
| Idle Current | ~30 mA |
| Mute Switch | Onboard slide / jumper switch |
| Protection | Over-current, over-temperature, DC, short-circuit |
Pinout Diagram
Wiring Guide
Basic Setup — Wiring an Audio Source and Speaker
The simplest setup: wire a power supply, an audio source (phone, laptop, MP3 player), and a single speaker. Make sure the mute switch is in the unmute position before testing.
| Board Terminal | Connect To |
|---|---|
| Power IN + | +12V to +24V supply (12V is a great starting point) |
| Power IN - | Supply ground |
| Audio IN + | 3.5mm jack tip (left) or shorted left+right |
| Audio IN - | 3.5mm jack sleeve (ground) |
| Speaker Out + | Speaker + terminal |
| Speaker Out - | Speaker - terminal |
From a Microcontroller (DAC or PWM)
To play tones or audio from an Arduino, ESP32, or Raspberry Pi, connect the MCU's DAC or PWM output to the Audio IN + via a coupling capacitor. This blocks DC bias and protects the amp.
| Source | Output Pin | Connection |
|---|---|---|
| Arduino UNO | D9 (PWM) or DAC0 | Via 1µF cap to Audio IN+ |
| ESP32 | GPIO 25 or 26 (DAC) | Via 1µF cap to Audio IN+ |
| Raspberry Pi | 3.5mm headphone jack | Direct to Audio IN+/- |
| Pico | PWM via low-pass filter | Via 1µF cap to Audio IN+ |
From a Bluetooth Audio Receiver
Pair this amp with a small Bluetooth audio module (KCX_BT_EMITTER, JL5315, or similar) for a wireless DIY speaker build. Wire the receiver's analog left + right outputs together for mono input.
| BT Module | Amp Board |
|---|---|
| L_OUT + R_OUT (joined) | Audio IN + |
| GND | Audio IN - |
| VCC (5V) | Use a separate 5V buck regulator from the 24V rail |
Code Examples
The TPA3118 is an analog-input amplifier — there's no digital control on this board. Code examples below show how to drive it from an MCU's DAC for tone generation.
Arduino — Generate a 1 kHz Sine Wave
// Arduino - drive TPA3118 with a square wave tone
// Connect D9 -- 1uF cap -- Audio IN+
// Audio IN- to Arduino GND
void setup() {
pinMode(9, OUTPUT);
}
void loop() {
tone(9, 1000); // 1 kHz tone
delay(500);
noTone(9);
delay(500);
}
ESP32 — DAC Sine Wave
// ESP32 - DAC sine wave through TPA3118
// GPIO 25 (DAC1) -- 1uF cap -- Audio IN+
#include <math.h>
#include <driver/dac.h>
void setup() {
dac_output_enable(DAC_CHANNEL_1); // GPIO 25
}
void loop() {
static float phase = 0;
float sample = sin(phase) * 0.5 + 0.5; // 0..1
dac_output_voltage(DAC_CHANNEL_1, (uint8_t)(sample * 255));
phase += 2 * PI * 1000.0 / 8000.0; // 1 kHz at 8 kHz sample rate
if (phase > 2 * PI) phase -= 2 * PI;
delayMicroseconds(125);
}