4 separate SparkFun Thing Plus USB-C boards with bad SD card readers?

I’ve got 4 separate SparkFun Thing Plus C boards with the integrated microSD card reader on the back, and I haven’t been able to get a single one of them to work with the standard SD_Test.ino script. All of them are erroring with “Card Mount Failed.” I’ve tried using a 512MB card, and a 16GB card to test which have been formatted in both FAT and FAT32, but neither will work for any of them. Based on the pinout for the board, and the documentation, the SPI pins should be SCK=18, MISO=23, and MOSI=19, and I’ve been using 5 for CS consistently. I tried letting the SPI.h library figure out the default pins based on the chip (which is an ESP32-D0WDQ6), and I’ve also tried defining them explicitly. No dice on anything, but I can’t believe that I’ve got 4 bad boards. Are there any other suggestions I can try? Since the SD card is hardwired to these pins, I don’t suppose there’s a way to use an external SD card breakout board with the ESP32, is there?

Hi,

Have you selected the “SparkFun ESP32 Thing Plus C” as the board in the Arduino IDE? This ensures the SPI pins are defined correctly. CS is indeed pin 5 on that board. I tested our u-blox GNSS datalogging examples on that board - they work very well. Maybe this code will help?

I hope this helps,
Paul

1 Like

I just gave the SD_Test example a try and it’s working fine for me with Arduino IDE 1.8.19, Espressif Systems ESP32 3.0.1, SparkFun Esp32 Thing Plus C:

image

Hope this helps,
Paul

1 Like

Thank you very much for replying, and for the test to try. The Espressif Systems ESP32 3.0.1 core board was what worked for me, or any of the 3.0.X versions, really. I had been using the “SparkFun ESP32 Thing Plus” board (there isn’t one specifically for the USB-C version), and that was what wasn’t working.

Unfortunately, that core has a boot loop conflict with the RMT peripheral I need to manage IR signals and a string of NeoPixels which makes it useless for me. The “SparkFun ESP32 Thing Plus” board doesn’t have that boot loop, which is why I didn’t think to switch them.

So, the problem is solved! Now, I just have a new one. But thank you very much! At least I know I’m not crazy. :rofl: