Waspmote has external storage support such as SD (Secure Digital) cards. These micro-SD cards are used specifically to reduce board space to the minimum.
{warning.fa-dot} Until February 2018, 2 GB SD cards were distributed; they operated with FAT16. Since that moment, Libelium distributes FAT32 micro SD cards (8 GB cards from February; 16 GB cards from June). These cards need the bootloader #J to work properly.
Waspmote uses the FAT32 file system. The information that Waspmote stores in files on the SD can be accessed from different operating systems such as Linux, Windows or Mac-OS.
To communicate with the SD module we use the SPI bus. This bus is a communication standard used to transfer information between electronic devices which accept clock regulated bit flow.
The SD card is powered through a digital pin from the microcontroller. It is not therefore necessary to use a switch to cut the power, putting a low pin value is enough to set the SD consumption to 0 μA.
For example, to get an idea of the capacity of information that can be stored in an 16 GB card, simply divide its size by the average for what a sensor frame in Waspmote usually occupies (approx. 100 bytes):
16 GB/100 B = 160 million measurements
The limit in files and directories creation per level is 256 files per directory and up to 256 sub-directories in each directory. There is no limit in the number of nested levels.
Related API libraries: WaspSD.h, WaspSD.cpp
All information about their programming and operation can be found in the SD Card Programming Guide.
All the documentation is located in the Development section in the Libelium website.
{warning.fa-dot} Make sure Waspmote is switched off before inserting or removing the SD card. Otherwise, the SD card could be damaged.
{warning.fa-dot} Waspmote must not be switched off or reseted while there are ongoing read or write operations in the SD card. Otherwise, the SD card could be damaged and data could be lost.