Signaloid
FPGA Boards
Machine Learning
Back this project to help bring it into existence.
Funding ends on Dec 19, 2024 at 03:59 PM PST.
The Signaloid C0-microSD is a tiny programmable FPGA System-on-Module (SoM) that makes it possible to extend your existing industrial automation, manufacturing, and robotics systems with an FPGA-based hardware accelerator. It comes in a microSD form factor, fits in any unused SD or microSD slot, and can be interfaced with as a standard SD block device. This makes it possible, for the first time, to implement hardware acceleration for many data-processing tasks at the edge, even if your system lacks traditional expansion options such as a PCIe M.2 slot!
The Signaloid C0-microSD is based on the Lattice Semiconductor iCE40 FPGA. It comes preloaded with a version of our C0 RISC-V processor SoC but you can also load your own custom FPGA designs.
The Signaloid C0-microSD has two main use cases: You can either (1) use it as a hot-pluggable FPGA module, or (2) use it as a hot-pluggable Signaloid C0 RISC-V co-processor module. When plugged into a host computer, it appears as an empty and unformatted SD storage device. You can easily load custom FPGA bitstreams and applications for the built-in Signaloid SoC via the SD interface.
When using the Signaloid C0-microSD as a hot-pluggable FPGA SoM, you can plug it into your computer, flash new FPGA bitstreams, and then either plug it into a breadboard using a microSD breakout board or integrate it into a legacy (or custom) PCB that has an unused microSD slot. Once powered on, the built-in bootloader will check if the device has been connected to an SD host, and if not, will load the latest custom user bitstream. In this configuration, the C0-microSD offers six configurable I/O pins by repurposing the microSD pads, and five additional I/O pins in the form of test pads.
You can find example FPGA designs that you can load onto the Signaloid C0-microSD, along with instructions on how to use them, in the official GitHub repository.
We provide support for the popular LiteX framework for building custom SoC designs that target the Signaloid C0-microSD. As just one example, we have published a demo repository that uses the I²C interface to communicate with an OLED display and a pulse-oximeter sensor.
If you don’t wish to load a custom FPGA design, the Signaloid C0-microSD comes preloaded with a version of Signaloid’s C0 RISC-V processor SoC, which you can use to run your applications. In this mode, host computers can use the SD protocol to exchange data with applications running on the Signaloid C0-microSD. You can do that either by creating custom applications that run on the host platform and that access the SD storage device, or using Unix tools such as dd
.
You can also integrate the Signaloid C0-microSD into existing embedded systems that feature slots for microSD cards. These range from low-power development boards, to handheld gadgets, to Programmable Logic Controllers (PLCs) for industrial automation.
Applications running on the Signaloid C0-microSD’s C0 processor SoC can take advantage of a subset of our uncertainty-tracking technology to quantify how uncertainties in data affect their outputs.
You can find example applications that use the Signaloid C0-microSD as a co-processor, along with host applications and instructions on how to use them, in the official GitHub repository.
Signaloid C0-microSD | Fomu | ICEBreaker | TinyFPGA BX | |
---|---|---|---|---|
Main Chip | iCE40UP5K | iCE40UP5K | ICE40UP5K | ICE40LP8K |
Internal RAM | 120 Kbit + 1024 Kbit | 120 Kbit + 1024 Kbit | 120 Kbit + 1024 Kbit | 128 Kbit |
Flash | 128 Mbit SPI | 16 Mbit SPI | 128 Mbit QSPI DDR | 8 Mbit SPI |
LUTs | 5,280 | 5,280 | 5,280 | 7,680 |
Oscillator | 48 MHz internal | 48 MHz crystal | 12 MHz MEMS | 16 MHz MEMS |
Inputs | None | 4 capacitive touch sensors | 4 buttons | 1 reset |
Outputs | 2 LEDs | 1 RGB LED | 5 LEDs | None |
GPIO | 6 on SD interface & 5 on test pads | None | 27 + 7 | 41 |
Fits in USB port | With a small USB-to-MicroSD adapter | Yes | No | No |
Fits in recessed, "locking" slot | Yes | No | No | No |
USB Interface | Via USB-to-MicroSD adapter | Built-in | FTDI | Softcore |
SD Interface | Yes | No | No | No |
SD-over-SPI | Yes | No | No | No |
Price | $45 | $50 | $69 | $49 |
This Crowd Supply campaign also features the Signaloid SD-Dev, an optional compact carrier board and development system for testing and characterizing the Signaloid C0-microSD.
When you connect the Signaloid SD-Dev to a host computer via USB, it acts as a generic USB-to-SD adapter, exposing one microSD and one full-size SD slot to the host (peripheral mode). Alternatively, you can attach a Raspberry Pi CM4 to the carrier board, producing a compact SBC with hot-swappable FPGA modules in a standalone configuration. In this mode, the carrier board provides power-measurement capabilities for the on-board FPGA modules and allows you to power cycle them programmatically.
Our online documentation includes technical details, pinout diagrams, a system architecture specification, sample applications, and user-friendly guides on how to flash and use the device. You can find sample code and PDFs of the schematic in the official GitHub repository. We also offer a set of utilities to help you program the Signaloid C0-microSD and develop applications that run on it.
The Signaloid C0-microSD is compatible with existing open-source toolchains that can target the iCE40 FPGA, such as Icestorm, Yosys, NextPnR, and Icestudio. We also support AmarathHDL and LiteX.
We will outsource PCB fabrication and assembly to PCBWay and handle final programming and testing ourselves, here in Cambridge UK. We have developed a programming jig, along with a suite of extensive automated tests to speed things up.
After our production run is complete, we will package everything up and send it along to Crowd Supply’s fulfillment partner, Mouser Electronics, who will handle distribution to backers worldwide. You can learn more about Crowd Supply’s fulfillment service under Ordering, Paying, and Shipping in their guide.
We warrant that the Signaloid C0-microSD and Signaloid SD-Dev will be free from defects in materials and workmanship under normal use for a period of 90 days from the date of receipt by the original buyer. If a defect arises and a valid claim is received within the warranty period, we will, at our option, either repair or replace the product or provide a refund. This warranty does not cover damages resulting from accident, misuse, unauthorized modifications or normal wear and tear. No other warranties, expressed or implied, are provided. Please note that the Signaloid C0-microSD and Signaloid SD-Dev are not designed, intended, or authorized for use in life-critical or safety-critical applications.
We are not liable for any indirect, incidental, special, or consequential damages, including but not limited to loss of profits, revenue, or data arising out of or related to your use of the Signaloid C0-microSD, Signaloid SD-Dev, online documentation, sample code, PDFs of the schematic, utilities, or Signaloid’s uncertainty-tracking technology, regardless of the legal theory and even if we have been advised of the possibility of such damages. In no event will our total liability exceed the amount you paid for the Signaloid C0-microSD and/or Signaloid SD-Dev.
We are working on ensuring the compatibility of the Signaloid C0-microSD along various platforms and operating systems. We have tested the device and the accompanying software infrastructure on Unix based operating systems (Ubuntu and MacOS), but have not thoroughly tested it on Windows machines. We aim to publish updated releases of the bootloader, Signaloid SoC, and utilities repositories that will expand the device’s compatibility.
Signaloid C0-microSD is part of PCBWay Assembly Hub
"The Signaloid C0-microSD from Cambridge-based Signaloid is a tiny iCE40 FPGA development board with a unique interface and programming model. As the name suggests, it fits into a standard microSD card socket — and that's how you program it!"
"The C0-microSD contains an iCE40UP5K FPGA, 128Mbit of SPI flash and fits in a microSD card socket for programming. This can be used to prototype designs or to add functionality to a larger PCB that contains a microSD slot using the available pins as GPIO."
"Equipped with an iCE40 FPGA, this board features a unique programming model and interface."
Produced by Signaloid in Cambridge, UK.
Sold and shipped by Crowd Supply.
A programmable FPGA SoM in a microSD form-factor
A compact Raspberry Pi CM4 carrier board for developing applications on the Signaloid C0-microSD. Includes one Signaloid C0-microSD
We provide a computing platform that allows our customers to make safer and faster data-driven decisions by seeing how uncertainties in data affect the outputs of their legacy software and AI models. Our platform is orders of magnitude faster than alternatives like Monte Carlo methods and could be the missing piece of the puzzle to enable widespread and safe deployment of data-driven systems.