ESP32C6 SPI via IOMUX vs. GPIOMUX

jhennrich
Posts: 1
Joined: Thu Aug 03, 2023 2:18 pm

ESP32C6 SPI via IOMUX vs. GPIOMUX

Postby jhennrich » Thu Dec 11, 2025 7:47 am

Hello,
for the ESP32C6 the SPI2 peripheral can be used with any GPIO pins by routing them through the GPIO-MUX. But when using specific pins, the SPI2 signals of the ESP32C6 can be routed through the IO-MUX directly.

Some sources say that routing the signals directly via IO-MUX is faster (allows faster SPI CLK speeds) and reduces delay, however the IDF documentation for the SPI driver says: (https://docs.espressif.com/projects/esp ... and-io-mux)
When an SPI Host is set to 80 MHz or lower frequencies, routing SPI pins via the GPIO matrix will behave the same compared to routing them via IOMUX.
So how big is the difference really? Im using SPI2 in Master mode with a clock frequency of 10MHz (reading from a very high sampling IMU).

Best regards,
Johannes

Sprite
Espressif staff
Espressif staff
Posts: 10617
Joined: Thu Nov 26, 2015 4:08 am

Re: ESP32C6 SPI via IOMUX vs. GPIOMUX

Postby Sprite » Fri Dec 12, 2025 12:11 am

The issue tends to be the latency inherent in the GPIO mux vs the more direct IOMUX, not the speed itself. With the GPIO mux, you might have issues getting the signals to 'align' if you run them at 80MHz or more. At 10MHz, the latency doesn't really factor into the equation nearly as much, so you can use either and there won't be a difference.

Who is online

Users browsing this forum: PetalBot and 2 guests