Codey OnlineArduino & ESP32 component library › TPA3110 2x15W Amplifier
TPA3110 2x15W Amplifier
Sensors

TPA3110 2x15W Amplifier

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-).

Width: 33.1 mm

Pinout — TPA3110 2x15W Amplifier

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.

Example wiring diagram — TPA3110 2x15W Amplifier

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

Example Arduino code — TPA3110 2x15W Amplifier

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);
}

Related components

18650 Battery Shield with USB-C Charger and 5V Boost Converter

18650 Battery Shield with USB-C Charger and 5V Boost Converter

2.4 inch OLED Display I2C 3.3V

2.4 inch OLED Display I2C 3.3V

3.5 inch TFT LCD Shield

3.5 inch TFT LCD Shield

50kg Load Cell Weight Sensor

50kg Load Cell Weight Sensor

Build your Arduino or ESP32 project with AI

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