Skip to main content

C0-microSD

The Signaloid C0-microSD is a low-power, hot-swappable system-on-module (SoM) that brings Signaloid's distribution-extended compute hardware (UxHw®) to any system with a microSD slot. A host treats it as a standard SD-compatible block-storage device over the 4-wire SD protocol, so you can add it to an existing system without redesigning a circuit board or changing host firmware.

The module pairs a Lattice iCE40 FPGA with 16 MiB of non-volatile flash. You program the built-in Signaloid SoC, a RISC-V core that implements a subset of Signaloid's distribution-extended computation, in C or C++, and flash your binaries over the SD interface.

The C0-microSD also doubles as an open FPGA development board: alongside the Signaloid SoC coprocessor mode, it supports a bootloader mode, mode switching, and custom user bitstreams. That capability is documented in Modes and Custom Bitstream.

C0-microSD pinout diagram

At a glance

AttributeValue
Form factormicroSD (11 mm × 15 mm × 0.8 mm)
Host interfaceSD 4-wire / SD-over-SPI
Max UxHw representationAthens-16
Speedupup to 5.5× vs. an ARM Cortex-M33 (825 MFLOPS FP64-equivalent)
Operational modesBootloader + Signaloid SoC + Custom bitstream
Compute substrateLattice Semiconductor iCE40-UP5K FPGA
SoC RAM128 KiB on-chip
Non-volatile memory16 MiB SPI flash
ISA / ABIRV32I / ilp32
Clock frequency12 MHz
Power dissipation< 30 mW
Operating temperature−40 °C – 85 °C
StatusShipping

Key features

  • Programmable in C or C++ with the Signaloid UxHw Toolchain. Flash binaries to the built-in Signaloid C0 RISC-V-based SoC over the SD interface.
  • Runs sensor-fusion algorithms that exploit UxHw technology to achieve more than 5× speedup over comparable solutions.
  • Appears as a regular block device on any operating system that supports the standard SD 1.x protocol, with no additional drivers required.
  • Supports the SD-over-SPI protocol for easy integration with low-cost microcontrollers.
  • Fits standard microSD slots at 0.8 mm thickness.
  • Power dissipation of less than 30 mW allows compute offload without additional cooling.
C0-microSD size comparison to US 1¢ coinC0-microSD connected to an SDDev boardC0-microSD populating a breadboard using a microSD breakout board
C0-microSD size comparison to US 1¢ coin.C0-microSD connected to an SDDev board.C0-microSD populating a breadboard using a microSD breakout board.

Target applications

  • State-estimation algorithms (for example, Kalman filters and particle filters) for robotics applications such as autonomous mobile robots (AMRs).
  • Bayesian decision making over collected positive and negative event samples.
  • Battery state-of-charge estimation in battery energy storage systems (BESSs), electric vehicles, and portable electronic devices.

Compatibility

  • Programmable logic controllers (PLCs) that have unused microSD slots.
  • Android mobile devices that have a microSD slot.
  • Microcontroller-based embedded systems that support full SD 1.x or SD over SPI.
  • Single-board computers with unused microSD slots.

Example projects

Next steps