SD cards are hard to keep track of because they’re tiny, they hold a lot of data, and no one device can read every format of card. I’ve accumulated a lot of these little media cards; technically some are MicroSDHC, some are MicroSDXC, and some are older “full size” SD cards in my collection.
I’d like to inventory my cards so that I can spend less time looking for a card when I need one. It’s also nice to feel like I’m getting the most use out of these amazing little resources. Since I spent the time writing notes for myself anyway, I’m sharing them here with a little elaboration.
It’s hard to identify the contents of my cards to do an inventory. My Windows 10 machine completely freaks out if it sees an ext4 formatted partition from a Raspberry Pi bootable card. Trying to sequentially boot from each card in a Raspberry Pi 4B won’t work since some were flashed with a Raspberry Pi 3B image. Android devices are also generally useless for this purpose. I don’t currently have a desktop or laptop with Linux as the base OS (just WSL2, Docker images, and the embedded devices).
The bare minimum
My cards were scattered around a couple years ago. Often when starting project D I’d rummage through the remains of abandoned projects A, B, and C to salvage a card. This was untenable and I tried a couple different ways to collect them. The bare minimum is having some little box where all the salvaged cards can rest. I repurposed a little clear plastic box and keep them in there.
One step beyond that bare minimum: I used the SD-size adapter as a sleeve where I can add a label. The label has a little room to describe the card. I tried adding a tiny label on the card or writing a letter on the card but had mixed results. Adhesive labels don’t stick well to the MicroSD cards, they slide off with heat, and they make it hard to insert & remove cards.
Hardware with a microSD card in it
This is my current collection of devices and the file system they use. Some devices are more actively used than others.
- Raspberry Pi and Jetson Nanos SBCs - ext2/3/4
- 3d printer - FAT32
- GoPro Max - exFAT
- Dashcam - exFAT
- Custom RC car and FatShark FPV headset - FAT32
- Samsung Tablet encrypted storage - exFAT with full disk encryption (I think)
There are a few typical ways I use cards. My systems should make those normal use cases easy. For each use case I thought about the criteria for selecting a card and how it’s stored.
Swapping cards in a Raspberry Pi
Read/write speed is important. Profile varies significantly with the actual application. Capacity of 64GB+ is generally more than adequate and price drives choice.
Labelling needs can be extensive:
- Need to know what exactly the purpose of the card is.
- Need to know if the important contents are copied somewhere else. If so, when were the copies last synced.
- Need to know if there was any kind of error or flakiness while using the card.
Shooting video on GoPro Max or Dashcam
Write speed matters most. High capacity is important but the more stored data the more can be lost with a card failure.
Dashcam size limit might be 256GB and it gets very, very hot.
Needs a very small container to hold several cards. The only thing to keep track of is which cards are empty vs full.
Recording FPV headset or RC car onboard video
Write speed is important but the video size and data rates are smaller than cutting edge cameras. Devices might be limited to SDHC (32GB max).
I don’t do much with these so having a couple cards is sufficient. Keeping track of empty/full card is probably enough but if I did more then it would be similar to the needs for storing GoPro media cards.
Size doesn’t matter. Speed doesn’t matter. Probably has to be SDHC which is <= 32GB. Could be micro with adapter to SD size.
Almost always in the printer. Labelling needs are minimal but should have some identifying marker on it.
There will always be some spare cards which were acquired for one purpose but become available for another. Or a card that’s shared between different uses since they aren’t all needed at the same time. So a card that’s not needed for its current use anymore can be marked as empty inventory. An SDXC card should be reformatted as exFAT, an SDHC card should be reformatted FAT32.
Labels don’t stick on to the tiny cards well enough. They don’t provide enough room to write either.
Nail polish or paint could give a better writing surface. A dot of nail polish sticks well but doesn’t give a lot of different symbols unless you own a lot of nail polish colours. Those cool tiny nail polish stencils would be a really interesting experiment but outside of my experience so far.
A labelizer to put a QR code on the card would be top-notch. The QR code itself could encode everything about the card or it could be the url of a document with all the details.
Most microSD form factor cards come with an adapter to SD form factor. The adapter isn’t needed often but the SD form factor is big enough to have a label on it. My last approach to tracking cards was to mark each card with a letter and add a label to the adapter with the same letter and some short details about the card. I might be able to modify this approach to use whiteout, a marker, or a fine tip sharpie in white or silver so I can write directly on the slick black plastic side of the card.
There are lots of containers to buy or 3d print which hold multiple cards in a rigid space. Most have multiple closely-spaced slots that are hard to use. Some include labelling spaces, large or small.
Another simple solution I’ve tried was taping the SD card into a notebook while not in use. This was a great way to have unlimited labelling space. It’s very simple and easy to update. The downsides are the space it takes for each card and the ease of forgetting the card is in there. This seems like an approach that’s worth revisiting for cards used in a RPi.
There are clearly two systems needed here:
- Media recording cards
- Unique purpose cards
The media recording cards hold some data to transfer between devices. Carrying data from the computer to the 3d printer or carrying data from a camera to my computer. These should have a unique identifier and possibly some indication about what systems(s) I intend to use them with. They can be stored in a small container when not in use with some way to indicate which are full and which are empty.
The unique purpose cards have individual identities. They also need unique identifiers but also need to have some kind of long-form text that can be found from the identifier. I’d like to revisit my earlier SD card album approach for these. The thought of storing the cards in my bullet journal with notes about them is very appealing. I can add a page flag (or some other other marker) to the pages which currently hold media so that I don’t accidentally leave a card behind.
This project is in progress so I may come back and edit this post when I learn more.
- Try out some liquid paper, markers, or paint to add unique identifiers to my cards.
- Make pockets in my bujo for SD cards. There should be a spot for cards that are currently in-use so that when they come out they have a storage spot.
- Choose a couple containers for media-type cards.