Interfacing a Micro SD Card Module With Arduino
by Rachana Jain in Circuits > Arduino
38 Views, 0 Favorites, 0 Comments
Interfacing a Micro SD Card Module With Arduino

If you’ve ever built a weather station that logs temperature and humidity every 10 seconds, or a smart irrigation system that records soil moisture throughout the day, you’ve probably noticed one limitation—Arduino’s onboard memory isn’t enough to store all that data.
The simplest way to solve this? A Micro SD card—the same tiny storage device you use in your smartphone, camera, or music player. These cards can hold anything from a few megabytes to several gigabytes, making them perfect for logging large amounts of sensor data. With a Micro SD card module, you can connect the card to your Arduino and instantly give your project powerful data-logging capabilities.
In this guide, we’ll walk through how to interface a Micro SD card module with Arduino.
Supplies
- Arduino UNO R3
- LCD 16x2
- Jumper Wires
- USB Cable Type A to B
- 12V Supply Adapter
- Micro SD card Module
- Micro SD card
Micro SD Card Module: Inside the Hardware

A standard Micro SD card module typically consists of three main components:
1. Micro SD Card Socket
This is the slot where you insert your card. Most modules have small printed symbols or arrows that indicate the correct orientation for insertion.
2. 3.3V LDO Voltage Regulator
Since microSD cards operate at 3.3V, applying 5V directly would damage them. The module includes an LDO voltage regulator that safely steps down the Arduino’s 5V supply to 3.3V. This ensures stable voltage delivery even when the input supply fluctuates.
3. Logic Level Shifter
Microcontrollers like Arduino Uno send signals at 5V logic, but microSD cards require 3.3V logic. The module uses a chip such as 74LVC125A to translate the voltage levels, protecting the card from potential damage while ensuring smooth communication.
Micro SD Card Module Pinout

Here’s the standard pin configuration:
- GND – Connects to Arduino GND.
- VCC – Power input; typically connected to Arduino’s 5V pin.
- MISO (Master In Slave Out) – Data output from the card to the Arduino.
- MOSI (Master Out Slave In) – Data input from the Arduino to the card.
- SCK (Serial Clock) – Carries the clock pulses from Arduino for data timing.
- CS (Chip Select) – Selects the SD card on the SPI bus. Pulling this low activates communication with the card.
Interfacing a Micro SD Card Module With Arduino
The SD card module communicates with Arduino via the SPI (Serial Peripheral Interface) protocol, which uses dedicated pins such as MOSI, MISO, SCK, and CS for data exchange. In addition to the data lines, the module requires two power connections—VCC (5V) and GND—to operate. For Arduino Uno, the wiring is as follows: CS connects to pin 10, SCK to pin 13, MOSI to pin 11, MISO to pin 12, VCC to the Arduino’s 5V pin, and GND to the Arduino GND.
Similarly, connecting an I2C LCD to Arduino is straightforward: link the LCD’s VCC and GND pins to the Arduino’s VCC and GND, then connect the SCL (clock) and SDA (data) lines to the Arduino’s SCL and SDA pins. On the Arduino Uno, SCL corresponds to analog pin A5 and SDA corresponds to analog pin A4. It’s also important to ensure that the A0, A1, and A2 address jumpers on the I2C LCD are not shorted; this ensures the display operates at address 0x27, which will be used in the code.
Arduino Code for Checking Micro SD Card Information
In this code the information about SD card is displayed on I2C LCD as well as sent on serial terminal at baud 9600,n,8,1.
To learn more checkout: Interfacing Micro SD Card Module with Arduino