ESP32-WROOM SPI pins clarification needed

SPI_analysis.pdf (182.0 KB)

I tried to understnad SPI pins spécification for ESP32-WROOM board managed with Arduino IDE.

The source documents are either from Espressif, or AZ-Delivery or tutoriel https://randomnerdtutorials.com/esp32-spi-communication-arduino/

I finaly understood that 3 set of SPI are accessible and can control some devices.

The 3 set are known as SPI, HSPI and VSPI and referenced in the coding environment as:

  • USE_HSPI_PORT

  • USE_VSPI_PORT

  • USE_SPI_PORT

which can be specified in ILI9341_DRIVER.

The cascading is as follow :

TFT_eSPI.h

>>>#include <User_Setup_Select.h>

>>>#include <User_Setups/Setup_ILI9341_ESP32.h>

#define ILI9341_DRIVER

#define USE_HSPI_PORT // << changed for each run

The results are surprising and do not match the specification I found.

All that needs clarification.

Your topic has been moved. Please do not post in "Uncategorized"; see the sticky topics in Uncategorized - Arduino Forum.

don't post a PDF, post your question right in the forum.

Sorry for thr PDF but I could not find a way to format side by side 4 scenari.

if you click on the + sign at the right of the toolbar you can insert a table

then you can fill it up

HSPI VSPI SPI nothing
MOSI = GPIO 13 MOSI = GPIO 23 MOSI = GPIO 23 MOSI = GPIO 23
SCK = GPIO 14 SCK = GPIO 18 SCK = GPIO 18 SCK = GPIO 18
TOUCH_CS = GPIO 21 TOUCH_CS = GPIO 21 TOUCH_CS = GPIO 21 TOUCH_CS = GPIO 21

There are 3 SPI peripherals, but only 2 of them are available to the end user.
SPI refers to the default SPI port which in this case is VSPI.
HSPI is the other port available. This is for the ESP32(S) Wroom, for other ESP32 boards there are differences.

Any of the pins can be configured to act as SPI pins, the table you show is just the default pins that are used.