Interfacing an Audio Codec with ESP32
The ESP32 supports pin function multiplexing and flexible routing of “slow” digital peripheral signals through the GPIO matrix. This simply means that the ESP32 can output the I2S signals on any pin where digital IO function is supported.
However, this comes with an exception. The MCLK (I2S master clock) output can be put out through a CLK_OUT pin only. If you are designing a PCB for ESP32 audio application, this is something you may want to take care of.
Here is an example of how you may connect the AudioBit to ESP32. The MCLK must be connected to GPIO0, but the other pins may be connected elsewhere as suited for your application.
Connecting AudioBit, an audio codec, with ESP32 (for audio playback)
The Nano32 is a great board to start working with, because of its simplicity.
As you can see in the AudioBit pinout, a typical codec will have an I2S bus for audio data and I2C bus for control inputs such as setting I2S data format or configuring the mixing of sound tracks, audio volume… and a LOT of things. The SGTL5000 on board the AudioBit can do a whole lot in terms of audio processing!