audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DIN); audio.setVolume(21); // 0-21 audio.connecttohost("http://example.com/stream.mp3");
void loop() audio.loop();
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 datasheet
Raspberry Pi can use the HW-044 via the device tree overlay: Software Libraries & Code Examples To use the
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.