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.

At a glance
| Attribute | Value |
|---|---|
| Form factor | microSD (11 mm × 15 mm × 0.8 mm) |
| Host interface | SD 4-wire / SD-over-SPI |
| Max UxHw representation | Athens-16 |
| Speedup | up to 5.5× vs. an ARM Cortex-M33 (825 MFLOPS FP64-equivalent) |
| Operational modes | Bootloader + Signaloid SoC + Custom bitstream |
| Compute substrate | Lattice Semiconductor iCE40-UP5K FPGA |
| SoC RAM | 128 KiB on-chip |
| Non-volatile memory | 16 MiB SPI flash |
| ISA / ABI | RV32I / ilp32 |
| Clock frequency | 12 MHz |
| Power dissipation | < 30 mW |
| Operating temperature | −40 °C – 85 °C |
| Status | Shipping |
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¢ 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
- Signaloid-Compute-Module-Demo-Calculator: Deterministic computation on probability distributions.
- Signaloid-C0-microSD-Demo-Cardputer: Integrating the C0-microSD into an existing embedded platform with a spare microSD slot.
- Signaloid-C0-microSD-LiteX-I2C-demo: Using the C0-microSD as an FPGA development board with a custom LiteX SoC.
Next steps
- Getting Started, unbox, identify, and run your first UxHw program.
- Specifications, electrical, ISA/ABI, and MMIO memory map.
- Host Interface and Protocol, how the host communicates over the SD interface.


