In Module 3.5, we begin with the basics of SD cards in all their wonderful form factors and flavors. We discuss the technology that makes SD cards possible, the types of memory cards, the form factors, their reliability, and power consumption. We also discuss what all those little numbers you normally ignore on your SD card mean, like read speed, card type, speed class, UHS speed class, and bus speed.
Once that’s done, we talk about file systems and why they’re needed. We go into how a file system fits on top of SD cards, how it organizes the bulk storage on an SD card, and the different types of file systems including FAT32 and exFAT.
In the lab portion, we’ll learn how we access the SD card on the WildLogger, installing the Arduino library to control our SD cards, and how easy it is to implement a system that can access multiple SD cards. We learn how to create and open files for reading, writing, or appending, how to read and write to a file, and things to watch out for to prevent file corruption. We implement a mini DOS system (Wild-DOS?) with commands to list files in a directory, and read, write, and delete files. Finally we finish off by implementing a command to write timestamped sensor data and files to our SD card.
If you have questions while working through this module, you can ask your question in the Module 3.5 forum thread here.
Below the videos, you'll find pdfs of the video slides and module 3.5 terminology cheatsheet.
Coming up in Module 3.6
In our final submodule, we'll be exploring the power of interrupts, and how they can hang a system if we're not careful. We'll also be programming our PIR motion sensor. This will be released at the end of next week.
By the end of Module 3, we'll have our basic proof of concept with all our functional code blocks working!