Skip to main content

Examples and Demos

A catalog of open-source example applications and demos for the Signaloid compute modules, tagged by the module(s) they apply to. Each demo pairs a device application (running on the Signaloid SoC) with a host application, unless noted otherwise.

note

All repositories are published under the Signaloid GitHub organization.

UxHw coprocessor demos

Calculator: deterministic arithmetic on distributions

Modules:C0-microSDC0-microSD+C0-SD

Performs arithmetic (add, subtract, multiply, divide) on two uniform distributions and samples from a built-in example distribution, showing how the Signaloid SoC computes directly on probability distributions.

Sensor calibration and conversion

Modules:C0-microSDC0-microSD+C0-SD

Runs manufacturer-specified sensor calibration and conversion routines with UxHw-based distribution arithmetic, replacing Monte Carlo simulation. Supports a range of sensor classes, including Flusso FLS110, NXP MPX4100A / MPXx6250A, Sensirion SDP3x / SDP8xx / SFM3100 / SHT3x / SHT4x / SLS1500, and Texas Instruments TMAG5253 / TMAG618x / TMCS112x.

ONNX Multi-Layer Perceptron (MLP) Neural Networks Inference

Modules:C0-microSDC0-microSD+C0-SD

Runs inference of Multi-Layer Perceptron (MLP) neural networks encoded in the ONNX format. The network accepts arbitrary probability distributions as inputs. The Signaloid UxHw technology propagates the distributions through the compute graph of the network. The network outputs are probability distributions, which contribute in the network's explainability and output trustworthiness.

Cardputer integration

Modules:C0-microSD

Shows how to integrate the C0-microSD into an existing embedded platform (the M5Stack Cardputer) that has a spare microSD slot, using CircuitPython.

FPGA development-board demos

The following demos use the C0-microSD as an open FPGA development board, a capability unique to the C0-microSD (see Modes and Custom Bitstream).

LiteX i²C: pulse oximeter + OLED

Modules:C0-microSD

A LiteX-based RISC-V SoC with an I²C interface (using the iCE40UP hard I²C IP at 400 kHz) that reads IR and red-LED data from a MAX30100 pulse-oximeter sensor and displays it on an SSD1306 128×32 OLED, with application flow and sensor data printed over UART.

Next steps