Skip to content
Discussion options

You must be logged in to vote

Hi,
The MicroPython I2S implementation is half-duplex so it will not be possible to use one I2S bus for both read and write operations. Unfortunately, using 2 I2S busses will not work either as each ESP32 I2S peripheral outputs SCK and WS signals that are asynchronous.

The following is a technical explanation on why two busses will not work.

After configuring two I2S busses, one TX and the other RX, an oscilloscope shows that the SCK and WS signals for TX and RX do not line up. This situation causes a problem when using the SGTL5000 codec, which only accepts one SCK and one WS signal. Suppose the SCK and WS signals for the I2S TX bus are connected to the SCK and WS signals on the SGTL5000…

Replies: 1 comment 3 replies

Comment options

You must be logged in to vote
3 replies
@saraverbeecke
Comment options

@miketeachman
Comment options

@saraverbeecke
Comment options

Answer selected by saraverbeecke
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants