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​