Post

TinySD supports SD memory cards (SDSC, SDHC and SDXC) and SDIO devices, both with high speed support. No dynamic allocation, and no threads, callbacks or interrupts required.

I built this after writing "just enough SD" for three separate bare-metal projects, and deciding it was time to do it properly. Everything else either forced a filesystem on me or was framework-specific.

It ships with an SDHCI host driver for SD Host Controller versions 1 to 3, plus a simple interface for adding your own hosts. If you’re bit-banging the bus or driving it with PIO, CRC and framing helpers are included too.

TinySD just reads and writes raw blocks, so you can bring your own filesystem. It pairs nicely with ChaN's FatFs, littlefs, etc.