Skip to main content

UM Storage Shield

Overview

The UM Storage Shield provides fast, reliable onboard storage along with removable storage capabilities for compatible Unexpected Maker development boards.

UM Storage Shield

Features

The shield includes:

  • 16GB fast (4-bit) eMMC onboard storage
  • SPI-based Micro SD Card slot for removable storage
  • PicoBlade (1.25mm) battery connector
  • 1.25mm to 2.0mm converter cable for broader battery compatibility
  • Male and female headers

eMMC vs. Micro SD Card Advantages

eMMC offers several benefits over SD cards:

Performance & Reliability

eMMC runs at 40MHz, with 4-bit wide data transfers, and therefore much faster read/write speeds compared to SPI-based SD cards. The technology resists vibration-related disconnections and dust accumulation issues common with SD cards. This makes it superior for high-speed data logging in mobile applications (vehicles, aircraft, marine).

Durability

eMMC provides longer lifecycle performance suitable for industrial applications, whereas SD cards can wear over time and suffer from stability issues when moved or dropped.

Flexibility

While the 16GB eMMC capacity may seem limited compared to 128GB SD cards, higher-capacity cards often have compatibility issues with microcontroller boards. Most cards max at 32GB for SPI reliability, and budget high-capacity options suffer compatibility and speed issues.

The shield provides both options -- use eMMC for critical, fast, dependable primary storage and the SD slot for less critical storage or data transfer purposes.

Compatibility

Full Support:

  • TinyPICO
  • TinyS3
  • ProS3
  • Any ESP32 or ESP32-S3 boards (includes SDMMC Host controller)

Limited Compatibility (SD card slot only):

  • TinyS2
  • TinyC6
  • ESP32-S2 and ESP32-C6 lack SDMMC Host controller peripheral, so eMMC is not supported

Power Requirements

Shield components are powered via the 3V3 header pin. Users must provide 3V3 power when integrating with other boards.

Implementation

An example Arduino IDE project is available on GitHub for eMMC and microSD card implementation.

SD Card Configuration

When using the SD card slot, set the SPI MI pin as INPUT_PULLUP or initialising the slot may fail:

pinMode(MI_PIN, INPUT_PULLUP);

Additional Resources