~/workshop $ cat ./inventory/max98357a-i2s-amp-breakout/README.md

MAX98357A I2S Class-D Amplifier Breakout (2pcs)

category
Bench stock
qty
2
status
owned / untested
maker
Maxim Integrated (MAX98357A/B die); generic breakout, resold as "DIY-Module 2PCS MAX98357 MAX98357A"
MAX98357A I2S Class-D Amplifier Breakout (2pcs)

Overview

A digital (PCM/I2S) input Class D mono amplifier. It takes I2S audio straight from a microcontroller and drives a speaker directly — no separate DAC needed, since the chip decodes I2S internally and amplifies with Class D efficiency. Pairs naturally with the INMP441 mic for a mic-in/speaker-out audio pipeline, or with any I2S audio source (e.g. streamed/decoded PCM) for playback.

Key specs

  • Operating voltage: 2.5–5.5V DC
  • Logic level: 3.3V or 5V I2S input (both work)
  • Output power: up to 3.2W into a 4Ω load (at 5V)
  • Interfaces: I2S in (DIN/BCLK/LRC), speaker out (bridge-tied, do not connect either output pin to GND)
  • Gain: adjustable via GAIN pin — 3dB, 6dB, 9dB (default/floating), 12dB, or 15dB

Pinout

Pin Function
VCC Power (2.5–5.5V)
GND Ground
DIN I2S data in
BCLK I2S bit clock in
LRC I2S word/LR clock in
SD Shutdown / channel select (pull low to disable; also selects L/R/mono mix depending on level)
GAIN Gain select (leave floating for default 9dB, or tie to VCC/GND/via resistor for other steps)
+ / - (speaker out) Bridge-tied speaker output — connect only to the speaker, never to ground

Wiring / typical usage

Power from 3.3–5V (5V gives full rated output power). Connect DIN/BCLK/LRC to the host’s I2S bus (can share the bus with an I2S mic like the INMP441 — mic on RX, amp on TX). SD pin needs to be pulled high (often tied to VCC or a GPIO) to enable the amp; leaving it floating/low keeps it shut down. Speaker connects across the two bridge-tied output pins — a standard 4–8Ω small speaker (e.g. the DWEII 4Ω units also in this library) works directly, no external components required.

Code / libraries

  • ESP32 (Arduino/ESP-IDF): same driver/i2s.h I2S peripheral used for the INMP441 mic drives this — just configure it as an I2S output (TX) instead of input.
  • Adafruit’s Adafruit_MAX98357A guide/examples (board-agnostic I2S output pattern) is the standard reference even for non-Adafruit breakouts of this chip.
  • Config notes: default gain (SD/GAIN pins floating high) is 9dB — fine for most small-speaker use; recheck gain setting if driving louder/larger speakers to avoid clipping.

Source material

  • Datasheet/specs: SparkFun MAX98357A breakout page, Adafruit MAX98357 I2S Class-D Mono Amp guide (PDF), DFRobot MAX98357A wiring/pinout wiki
  • Purchase link: Amazon, “2PCS MAX98357 MAX98357A I2S…” (seller: DIY-Module)
  • Product photo: /inventory/max98357a-i2s-amp-breakout/product-photo.jpg — SparkFun’s own MAX98357A breakout photo. Representative, not exact — the owned units are a different (generic/DIY-Module) breakout of the same chip; pin layout/labels should match since MAX98357A breakouts are near-universally laid out the same way, but the silkscreen/board shape will differ from this photo.

Verification

Chip specs and pinout verified against Maxim's MAX98357A datasheet via SparkFun/Adafruit/DFRobot documentation — high confidence for the chip. The specific DIY-Module board's silkscreen labels not independently confirmed — cross-check against the physical board before wiring.

Notes / gotchas

  • Bridge-tied output: never connect one of the speaker output pins to ground expecting a single-ended signal — both pins are live, only the speaker goes between them.
  • SD (shutdown) pin matters — a board that “does nothing” is very often just sitting in shutdown because SD was left floating/low instead of pulled high.
  • Used in: Pocket Speaker — driving the DWEII speaker below off a T-Display’s I2S output.