A2DP Sink with custom ES8388 setup always returns HW NACK on I2C commands

RaresCon
Posts: 5
Joined: Tue Nov 12, 2024 2:09 pm

A2DP Sink with custom ES8388 setup always returns HW NACK on I2C commands

Postby RaresCon » Sun Jan 19, 2025 2:47 pm

I am using the latest ESP-ADF with a custom ES8388 codec board (PCBArtists) and ESP32-WROOM-32D (MCLK on GPIO3/RX0). I have successfully added a custom board for this setup and the A2DP Sink example is working almost fine, meaning that I can hear everything coming from ESP32, but I can not change the volume from ES8388, using the `audio_hal_set_volume` like functions, because the ES8388 always returns I2C Hardware NACK for any I2C command sent to it after the I2S stream is initialized and used, even though the codec should be able to receive and execute I2C commands while decoding I2S streams, because LyraT boards do not have this problem. I have checked the connections and everything seems fine, as all writes to the ES8388 at initialization work just fine and I don't get any I2C errors.

Pins used for I2C are GPIO22/SDA, GPIO23/SCL. The I2S pins are GPIO5/BCK, GPIO18/WS, GPIO19/DIN, GPIO21/DOUT.

Do you have any ideas about this setup or what should I try out? I suspect this is a software problem, but I haven't found any change in the code that would help.

Who is online

Users browsing this forum: No registered users and 12 guests