Checking if a directory exists

Checking if a directory exists

How to:

Arduino doesn’t natively support complex file system operations right out of the box. However, with the use of the SD library, which is a part of the standard Arduino IDE, you can easily work with files and directories. To check if a directory exists, you first need to initialize the SD card and then use the exists() method from the SD library.

First, include the SD library and declare the chip select pin:

#include <SPI.h>
#include <SD.h>

const int chipSelect = 4; // Chip select pin for the SD card module

In your setup() function, initialize the SD card and check if the directory exists:

void setup() {
  if (!SD.begin(chipSelect)) {
    Serial.println("Initialization failed!");

  // Check if the directory exists
  if (SD.exists("/myDir")) {
    Serial.println("Directory exists.");
  } else {
    Serial.println("Directory doesn't exist.");

In loop() function, you can keep it empty or add other operational codes as required:

void loop() {
  // Operational code or kept empty

Sample output upon running the code would be either:

Directory exists.


Directory doesn't exist.

It’s important to ensure that the SD card is formatted correctly and the /myDir directory path aligns with your specific needs. This basic check is a cornerstone for performing more complex operations with files and directories on SD cards with Arduino.