### Board esp32-c3-devkitm-1 ### Device Description ESP32-C3 in devkitm-1 ### Hardware Configuration Master SPI pins (4 - `SCK`, 5 - `MISO`, 6 - `MOSI`) to a slave module ### Version v2.0.6 ### IDE Name PlatformIO ### Operating System Linux ### Flash frequency 160Mhz ### PSRAM enabled yes ### Upload speed N/A ### Description According to documentation, ESP32C3 has [2 SPIs peripherals](https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-reference/peripherals/spi_master.html#overview-of-esp32-c3-s-spi-peripherals), splitted in SPI0 & SPI1 used for attached flash memory, and SPI2 that is a general purpose SPI controller. When instanciating a SPI on ESP32C3, the default spi number is `FSPI` that expands to`0`. But this is confusing with the documentation that says SPI0 is for flash memory (and is compatible with convention in FSPI). Other issue is that `SPI.begin` returns `void`, and when passing a value larger than `SPI_COUNT`, we don't get errors. Arduino library for esp8266 returns a boolean with success or failure. ### Sketch ```cpp #include <SPI.h> #include <Arduino.h> #define HSPI_MISO MISO #define HSPI_MOSI MOSI #define HSPI_SCLK SCK #define HSPI_SS 18 static const int spiClk = 100000; // 1 MHz SPIClass *working = NULL; SPIClass *notWorking = NULL; void setup() { Serial.begin(115200); Serial.setDebugOutput(true); working = new SPIClass(); //notWorking = new SPIClass(HSPI); working->begin(HSPI_SCLK, HSPI_MISO, HSPI_MOSI); working->beginTransaction(SPISettings(spiClk, MSBFIRST, SPI_MODE0)); Serial.printf("worked: %i != 0", working->getClockDivider()); working->endTransaction(); // set up slave select pins as outputs as the Arduino API // doesn't handle automatically pulling SS low pinMode(HSPI_SS, OUTPUT); // HSPI SS } void loop() { delay(100); } ``` ### Debug Message ```plain Depending on SPIClass, sketch returns getClockDivider() == 0 or a correct value ``` ### Other Steps to Reproduce _No response_ ### I have checked existing issues, online documentation and the Troubleshooting Guide - [X] I confirm I have checked existing issues, online documentation and Troubleshooting guide.