Control a differential drive robot. Y-axis controls forward/back speed, X-axis controls turning, and the button toggles a headlight LED.
void setup() // Set encoder pins as inputs pinMode(CLK_PIN, INPUT); pinMode(DT_PIN, INPUT); pinMode(SW_PIN, INPUT_PULLUP); hw-044 datasheet
| Symptom | Likely Cause | Solution | |---------|--------------|----------| | No sound, PWR LED off | No power or reversed VIN/GND | Check voltage at VIN pin. Reverse polarity kills the IC. | | Humming or high noise | Shared ground with high-current devices | Create a star ground. Separate digital and power grounds. | | Distorted audio at high volume | Clipping due to high gain | Reduce GAIN setting (float or GND). Lower source volume. | | Clicking or popping | Sample rate mismatch or BCLK unstable | Ensure I²S clock is continuous. Use internal PLL if available. | | Only left or right channel missing | Mono mode enabled (normal) | HW-044 is mono. Combine channels in software. | | Amplifier gets very hot | Speaker impedance too low (<4Ω) or short circuit | Use 4Ω–8Ω speaker. Check SPK+ to SPK- resistance. | | No sound with ESP32 | Wrong I²S pins or format | Confirm BCLK/LRC/DIN assignments. Use i2s_std driver. | Control a differential drive robot