The TPA3110 is a Class-D stereo audio amplifier module intended to drive two speaker channels. Use the analog left/right inputs (L and R) with ground, apply power on VIN+ and VIN-, and connect speakers to the differential outputs (L+/L- and R+/R-).
| Pin | Signal | Description |
|---|---|---|
L |
analog | Left-channel line-level audio input to the amplifier. |
GND |
ground | Audio input ground/reference for the L and R input signals. |
R |
analog | Right-channel line-level audio input to the amplifier. |
VIN+ |
power | Positive DC supply input for the amplifier, typically 8–24 V. |
VIN- |
ground | Negative DC supply input / power ground return. |
L+ |
analog | Positive amplified speaker output for the left channel. |
L- |
analog | Negative bridged speaker output for the left channel. |
R+ |
analog | Positive amplified speaker output for the right channel. |
R- |
analog | Negative bridged speaker output for the right channel. |
| From | To | Wire |
|---|---|---|
board:5V |
x1:VIN+ |
red |
board:GND |
x1:VIN- |
black |
board:D9 |
x1:L |
green |
board:D10 |
x1:R |
blue |
board:GND.1 |
x1:GND |
black |
This example was written and compile-checked for the arduino-uno. Codey Online adapts it to any other supported board for you.
// Canonical beginner example for the TPA3110 2x15W Amplifier
// This sketch generates a simple left/right test tone using PWM on pins 9 and 10.
// Connect the amplifier inputs to the Arduino, and wire speakers to the amplifier outputs.
const int leftPin = 9; // Connect to L
const int rightPin = 10; // Connect to R
void setup() {
pinMode(leftPin, OUTPUT);
pinMode(rightPin, OUTPUT);
}
void loop() {
// A basic stereo test: left channel gets a pulse train, right channel stays quiet,
// then the roles swap. The amplifier board will filter the PWM into an audible tone.
// Left channel active
for (int i = 0; i < 200; i++) {
analogWrite(leftPin, 180);
analogWrite(rightPin, 128);
delayMicroseconds(400);
analogWrite(leftPin, 0);
analogWrite(rightPin, 128);
delayMicroseconds(400);
}
delay(300);
// Right channel active
for (int i = 0; i < 200; i++) {
analogWrite(leftPin, 128);
analogWrite(rightPin, 180);
delayMicroseconds(400);
analogWrite(leftPin, 128);
analogWrite(rightPin, 0);
delayMicroseconds(400);
}
delay(300);
}
Describe what you want to build. Codey Online writes the code, draws the wiring diagram, compiles it and flashes your board straight from the browser.
Start for free