

The Catalex MicroSD SPI Module is a compact and efficient solution for interfacing MicroSD cards with microcontrollers or other electronic devices. This module enables data storage and retrieval, making it ideal for applications requiring large amounts of data logging, file storage, or multimedia handling. It uses the SPI (Serial Peripheral Interface) protocol for communication, ensuring compatibility with a wide range of microcontrollers, including Arduino, ESP32, and Raspberry Pi.








The following table outlines the key technical details of the Catalex MicroSD SPI Module:
| Parameter | Specification |
|---|---|
| Manufacturer | Catalex |
| Part ID | MicroSD SPI Module |
| Operating Voltage | 3.3V to 5V |
| Communication Protocol | SPI (Serial Peripheral Interface) |
| Supported Card Types | MicroSD, MicroSDHC |
| File System Support | FAT16, FAT32 |
| Dimensions | 42mm x 24mm x 12mm |
| Operating Temperature | -25°C to 85°C |
The module has a 6-pin interface for connecting to a microcontroller. The pinout is as follows:
| Pin | Name | Description |
|---|---|---|
| 1 | GND | Ground connection |
| 2 | VCC | Power supply (3.3V to 5V) |
| 3 | MISO | Master In Slave Out - SPI data output from the module to the microcontroller |
| 4 | MOSI | Master Out Slave In - SPI data input from the microcontroller to the module |
| 5 | SCK | Serial Clock - SPI clock signal |
| 6 | CS | Chip Select - Used to enable or disable the module during SPI communication |
VCC pin to a 3.3V or 5V power source and the GND pin to ground.MISO, MOSI, SCK, and CS pins to the corresponding SPI pins on your microcontroller.CS pin if multiple SPI devices are connected to the same microcontroller.Below is an example of how to use the Catalex MicroSD SPI Module with an Arduino UNO:
#include <SPI.h>
#include <SD.h>
// Define the Chip Select (CS) pin for the MicroSD module
const int chipSelect = 10;
void setup() {
// Initialize serial communication for debugging
Serial.begin(9600);
while (!Serial) {
; // Wait for the serial port to connect (for native USB boards)
}
Serial.println("Initializing MicroSD card...");
// Initialize the SD card
if (!SD.begin(chipSelect)) {
Serial.println("Card initialization failed!");
return; // Stop if the card cannot be initialized
}
Serial.println("Card initialized successfully.");
// Create or open a file on the MicroSD card
File dataFile = SD.open("example.txt", FILE_WRITE);
// Check if the file opened successfully
if (dataFile) {
dataFile.println("Hello, MicroSD card!"); // Write data to the file
dataFile.close(); // Close the file to save changes
Serial.println("Data written to example.txt");
} else {
Serial.println("Error opening example.txt");
}
}
void loop() {
// Nothing to do here
}
MicroSD Card Not Detected:
CS pin connection and ensure it matches the pin defined in the code.Card Initialization Fails:
MISO, MOSI, SCK, CS) for loose or incorrect wiring.Data Corruption:
Slow Data Transfer:
Q: Can this module work with 3.3V microcontrollers like ESP32?
A: Yes, the module is compatible with both 3.3V and 5V systems, thanks to its onboard voltage regulator and level shifters.
Q: What is the maximum capacity of MicroSD card supported?
A: The module supports MicroSD and MicroSDHC cards, typically up to 32GB. Larger cards may work if formatted to FAT32, but compatibility is not guaranteed.
Q: Can I use multiple MicroSD modules on the same SPI bus?
A: Yes, you can use multiple modules by assigning a unique CS pin to each module and managing them in your code.
Q: Is the module hot-swappable?
A: No, it is not recommended to insert or remove the MicroSD card while the module is powered, as this may corrupt data or damage the card.