Hello,
I bought the ESP32-S3-Touch-AMOLED-1.75 board, and tried to customize. However, audio input and output do not work. Could you help me here?
Symptoms
- Both the ES7210 (microphone) and ES8311 (speaker) produce completely silent analog audio. The captured microphone samples are always exactly 0 (peak = 0, no noise floor at all), and the speaker produces no sound.
- The digital side is fully working: I2C is fine (detected 0x18 ES8311, 0x40 ES7210, 0x34 AXP2101, 0x5A CST9217), register read/write works, and the I2S lines are configured exactly per the schematic — MCLK=GPIO42, BCLK=GPIO9, LRCK=GPIO45, DIN=GPIO10, DOUT=GPIO8. The ES7210 is configured in 4-channel TDM mode and reports "Unmuted".
- We reproduced the exact same silence with two completely independent software stacks: ESP-IDF v5.5.4 with
esp_codec_dev(BoxAudioCodec, ES8311+ES7210), and a separate bare Arduino raw-I2S driver. Both give microphone peak = 0 and no speaker output. - The AXP2101 ALDO1 (A3V3, codec analog rail) is enabled at 3.3V in our firmware.
Questions
- To make the ES7210 microphone and ES8311 speaker work on this board, is there an additional power rail or enable sequence required (AXP2101 ALDO/BLDO/DCDC outputs, the PA enable on GPIO46, or an I/O expander pin) that we might be missing?
- The board's TCA9554 I/O expander (0x20) does NOT appear in the I2C scan. Is the TCA9554 actually populated on this board revision? Are any audio functions (codec power, reset, or PA/speaker enable) routed through the TCA9554?
- Which exact power rails supply the ES7210 analog (VDDA) and the microphone bias (ADC_MICBIAS12), and the ES8311 analog/speaker amplifier?
- Can you provide a known-working reference firmware (binary or example) for this board with verified microphone and speaker operation?
Board: SKU = esp32-s3-touch-amoled-1.75, ESP32-S3 N16R8 (8 MB octal PSRAM, 32 MB flash).
Thank you.