Skip to product information
1 of 4

Axiometa

Audio Amplifier (MAX98357A)

Audio Amplifier (MAX98357A)

SKU:AX22-0053

Out of stock

Drive speakers directly from your microcontroller with this powerful I²S audio amplifier. The MAX98357A delivers 3.2W into 4Ω or 1.8W into 8Ω speakers, perfect for adding clear audio output to voice projects, music players, or notification systems. Just send digital audio over I²S and the amplifier handles everything else, including DAC conversion and filtering. Gain can be adjusted via jumper pads (3dB, 6dB, 9dB, 12dB, or 15dB), with 9dB set by default. You can also configure stereo mode by selecting left or right channel, though it defaults to mono for simpler single-speaker setups. Two screw terminals make speaker connection straightforward. Drop it into any AX22 backplane and start playing audio with Arduino IDE, MicroPython, or MicroBlocks.

Regular price $5.49
Regular price Sale price $5.49
Sale Sold out
Taxes included. Shipping calculated at checkout.
View full details
  • - 22 mm × 22 mm square
    - 4× ⌀2.7 mm Mounting Holes
    - MAX98357A Class D amplifier
    - Output power: 3.2W @ 4Ω, 1.8W @ 8Ω
    - Configurable gain: 3/6/9/12/15 dB (default 9dB)
    - Channel select: Left/Right/Mute/Mono (default Mono)
    - 3.3 V, 5.0 V
    - Arduino IDE Compatible
    - MicroPython Compatible
    - MicroBlocks Compatible

    Material Datasheet 

Technical Resources

Audio Amplifier (MAX98357A) - (AX22-0053)

PCB FRONT

PCB BACK

🟢 Live 3D Model

🖱️ Click & drag to rotate
/*
 * ESP32-S3 MP3 Loop Player
 * 
 * USAGE:
 * 1. Place a file named "0001.mp3" in the root of your SD card
 * 2. Connect SD card module
 *    - CS   -> GPIO 15
 *    - MOSI -> GPIO 11
 *    - MISO -> GPIO 12
 *    - SCK  -> GPIO 13
 * 3. Connect MAX98357A I2S amplifier:
 *    - BCLK -> GPIO 14
 *    - LRC  -> GPIO 41
 *    - DIN  -> GPIO 1
 * 4. Upload code and the file will play on loop
 * 5. Adjust volume by changing the number in audio.setVolume(16)
 *    (Range: 0-21, where 21 is loudest)
 */

#include <SPI.h>
#include <SD.h>
#include <Audio.h>

// SD Card pins
#define SD_CS 15
#define SD_MOSI 11
#define SD_MISO 12
#define SD_SCK 13

// I2S pins for MAX98357A
#define I2S_DOUT 1
#define I2S_BCLK 14
#define I2S_LRC 41

Audio audio;

void audio_eof_mp3(const char* info) {
  Serial.println("Track finished - restarting");
  audio.connecttoFS(SD, "/0001.mp3");
}

void setup() {
  Serial.begin(115200);
  delay(1000);

  // Initialize SD card
  pinMode(SD_CS, OUTPUT);
  digitalWrite(SD_CS, HIGH);
  SPI.begin(SD_SCK, SD_MISO, SD_MOSI, SD_CS);

  if (!SD.begin(SD_CS)) {
    Serial.println("SD card failed!");
    while (1) delay(1000);
  }
  Serial.println("SD card OK");

  // Initialize audio
  audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT);
  audio.setVolume(16);

  // Play file
  if (audio.connecttoFS(SD, "/0001.mp3")) {
    Serial.println("Playing 0001.mp3");
  } else {
    Serial.println("File not found!");
  }
}

void loop() {
  audio.loop();
  delay(5);
}