Hw-044 Datasheet -

| Module | Input | Channels | Power (5V, 4Ω) | SNR | Complexity | |--------|-------|----------|----------------|-----|-------------| | | I²S Digital | 1 | 3.2W | 94dB | Low (no ADC needed) | | LM386 | Analog | 1 | ~1W | 70dB | Very low | | PAM8302 | Analog | 1 | 2.5W | 85dB | Low | | MAX98306 | I²S | 2 (Stereo) | 2x3.7W | 93dB | Medium | | DFPlayer Mini | Serial/MP3 | 1 | 3W | 80dB | Medium (with SD card) |

audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DIN); audio.setVolume(21); // 0-21 audio.connecttohost("http://example.com/stream.mp3"); hw-044 datasheet

| HW-044 Pin | Arduino Due Pin | |------------|------------------| | BCLK | Pin 3 (DAC1) | | LRC | Pin 2 (DAC0) | | DIN | Pin 9 (DAC2) | | Others | Same as above | 5. Gain and Channel Configuration (Pin Strapping) The HW-044 module allows you to configure the amplifier gain and audio channel selection by connecting the GAIN and SD_MODE pins to either VIN, GND, or leaving them floating. Gain Settings (via GAIN pin) | GAIN Connection | Gain (dB) | Output Level (max) | |----------------|-----------|--------------------| | Float (default) | 9 dB | ~1.4x input | | VDD (VIN) | 12 dB | ~2.0x input | | GND | 15 dB | ~2.8x input | | Not available* | 18 dB * | Not on HW-044 | | Module | Input | Channels | Power

# Enable I2S dtoverlay=max98357a

void setup() Serial.begin(115200); WiFi.begin("SSID", "PASSWORD"); while (WiFi.status() != WL_CONNECTED) delay(1000); Use an Arduino Due or Zero for best

| HW-044 Pin | ESP32 GPIO Pin | |------------|----------------| | VIN | 5V (or VIN) | | GND | GND | | BCLK | GPIO 26 | | LRC | GPIO 25 | | DIN | GPIO 22 | | GAIN | Float (default) or to VIN/GND | | SD_MODE | Connect to 3.3V (High) | 4.2 Connection to Arduino Uno (Using I²S Library) Note: Standard Arduino Uno does not support I²S natively on all pins. Use an Arduino Due or Zero for best results, or a software bit-banging library.

For 44.1 kHz / 16-bit stereo, BCLK = 44,100 × 16 × 2 = 1.4112 MHz. The HW-044 handles this easily.