Note the video above was made showing the MicroPython version of this library. Follow the guide to see both CircuitPython and MicroPython versions of using the SD card library.

Secure Digital, or SD, cards and tiny microSD cards are inexpensive and ubiquituous means of adding lots of storage to devices.  For a few dollars you can have gigabytes of storage at your fingertips (smaller than your fingertips actually!).  With small CircuitPython and MicroPython boards you typically have a very limited amount of flash memory to store code and data.  Wouldn't it be nice if you could connect a microSD card to a Python board and expand its storage?  It turns you can use microSD cards with CircuitPython and MicroPython!  In fact some boards like the pyboard come with microSD card support built-in, and for other boards like the ESP8266 or M0 / SAMD21 family they can easily be connected to a microSD card that expands their storage.

This guide explores how to use a microSD card to store files for a CircuitPython MicroPython board.  Specifically adding a microSD card to CircuitPython boards like Feather M0 adalogger, pyboard, WiPy, and ESP8266 will be covered in this guide.  You'll learn how to connect a microSD card to the board and mount it as a new filesystem that store code & data.

This guide was first published on Sep 21, 2016. It was last updated on Mar 19, 2024.

This page (Overview) was last updated on Sep 27, 2017.

Text editor powered by tinymce.