I am trying to play I2S audio on the ESP32-S3 (1.28inch-BOX) using the Arduino IDE and the ESP32-audioI2S library.
Following previous support advice, I am using GP10 for DOUT and managing PA_CTRL (GP46) properly. The ES8311 initializes successfully via I2C (address 0x18), and the amplifier turns on. However, when streaming audio, I only hear crackling noises, not the actual audio.
My Current Setup:
- I2C: SDA = 15, SCL = 14
- I2S: BCLK = 9, LRCK = 45, DOUT = 10, MCLK = 16
- PA_CTRL: 46
It seems there is a clock synchronization issue or an incorrect I2C register configuration for the ES8311.
My Questions:
- Could you provide the exact I2C register initialization sequence (hex values) required to configure the ES8311 correctly for this specific board?
- What are the specific MCLK ratio requirements (e.g., 256fs) and I2S format (Philips, Right-Justified, etc.) expected by the codec on this hardware?
- Is there a minimal working C++ / Arduino snippet for initializing the ES8311 registers that you can share?
Thank you for your help.