Pololu Breakout Board for microSD Card with 3.3V Regulator and Level ShiftersPololu
This compact board breaks out the pins of a microSD card connector necessary to interface with the card through SPI (Serial Peripheral Interface), and it can be directly integrated into 5 V systems thanks to its on board 3.3 V regulator and level shifting circuity. The 0.1″ pin spacing allows compatibility with standard perfboards, solderless breadboards, and 0.1" connectors.
Using the breakout board
Since many microcontrollers have built-in SPI interfaces, most hobbyist projects communicate with Secure Digital cards in SPI bus mode; this is the only mode supported by this board. (The alternative SD bus mode is proprietary, and a license from the SD Association is required for access to the full specifications.) The pins on this board are labeled according to their functions in SPI mode.
|EN||Enables the 3.3 V regulator. This pin is pulled-up to VDD through a 100 kΩ resistor to enable the regulator by default.|
|CD||Card detect. This pin is pulled up to VDD through a 100 kΩ resistor. When a card is inserted, it is high; when no card is inserted, it is shorted to ground.|
|CS||Chip select (must be driven low to talk to the microSD card)|
|DO||SPI data out (MISO) level shifted to 5 V|
|DI||SPI data in (MOSI)|
|3V3 (OUT)||Output from the 3.3 V regulator|
|GND||Power and logic ground|
|VDD||Supply voltage (5 V)|
The board is powered by applying 5 V to the VDD pin, and all of the logic pins can be interfaced directly with 5 V systems thanks to integrated level shifters. The output of the integrated 3.3 V regulator can be accessed through the 3V3 pin, and the regulator can be disabled to turn off the microSD card and save power by driving the EN pin low.
By default, the EN and CD (Card Detect) pins are each pulled up to VDD through 100 kΩ resistors. However, there are cuttable traces on the underside of the board to allow you to disconnect each pull-up as desired. These traces are located between pairs of pads (labeled “EN” and “CD” on the board’s silkscreen) that can be bridged with solder to reconnect the pull-up resistor. Alternatively, the neighboring EN and CD pads of these surface-mount jumpers (highlighted in the picture below) can be connected if you want the regulator to automatically be enabled when the microSD card is inserted and disabled when it is removed.
Communicating with a microSD card
The SD Association publishes a set of simplified specifications for SD cards containing information on interfacing with them. However, there are a number of ways to get started without understanding the specifications or writing your own code from scratch, since many microcontroller development platforms provide libraries for communicating with SD cards. For example:
- The SD library for Arduino provides functions for accessing files and directories on an SD card. (It also works with Arduino-compatible boards like our A-Star programmable controllers.)
- The SD Card File System library for mbed allows similar filesystem access.