Как-то спрашивал про подключение I2S, удалось все сделать. При подключении кодека к ESP32 (например), надо использовать оба модуля I2S0 и I2S1, потому что только вместе они могут работать в полном дуплексе. Чтобы не было запаздывания между чтением/записью, синхронизируем через Queue. При вызове i2s_driver_install() надо обоим модулям назначить одну Queue и задать размер очереди.