1. Home
  2. Coding
  3. Why are there no I2S pins marked on the pinout cards?

Why are there no I2S pins marked on the pinout cards?

Like most peripherals on the ESP32, you can use almost any free IO on the headers as I2S pins. Because of this fact, marking specific pins on the pinout cards doesn’t make a lot of sense.

Yes, the same is true that almost any IO can be used for SPI and I2C as well, and they are marked on the card, so why the disparity?

Well, I2C and SPI pins have coded defaults in the Arduino IDE and CircuitPython, where you can just create an I2C instance (for example), without passing in the IO and it’s still required to work, so the defaults are marked on the pinout card.

I2S doesn’t work that way when you configure it, so there is no concept of default pins for I2S in the Arduino IDE.

Updated on August 3, 2023

Related Articles