Hw-044 Datasheet -

void loop() audio.loop();

void setup() Serial.begin(115200); WiFi.begin("SSID", "PASSWORD"); while (WiFi.status() != WL_CONNECTED) delay(1000); hw-044 datasheet

Then use aplay or mpg123 to output audio directly. Despite its simplicity, users frequently encounter problems with the HW-044. Here is a debugging table based on real forums and datasheet analysis. void loop() audio

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

The HW-044 expects MSB-first , left-justified data with 1 BCLK delay after LRC transition (standard I²S). Do not invert BCLK or LRC unless your microcontroller driver specifically requires it. 7. Software Libraries & Code Examples To use the HW-044, you need a microcontroller that can generate I²S. Below are minimal examples for two popular platforms. 7.1 ESP32 with Arduino IDE #include <WiFi.h> #include <Audio.h> // I2S pins #define I2S_BCLK 26 #define I2S_LRC 25 #define I2S_DIN 22

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