CaribouLite is an open-source, dual-channel software-defined radio (SDR) platform—and an SDR-focused FPGA development framework—implemented as a Raspberry Pi (RPi) HAT. CaribouLite turns your Raspberry Pi single-board computer (SBC) into a self-contained, dual-channel radio Tx/Rx that spans a wide tunable frequency spectrum up to 6 GHz.
CaribouLite gives you full control of its hardware, including the FPGA, its firmware, and all of its supporting software. With the deeply integrated IceStorm toolchain, writing your own FPGA application couldn’t be easier. You can reuse many Verilog modules, such as SPI and SMI modules, to support custom applications of CaribouLite hardware.
CaribouLite was designed for makers, hackers, educators, and researchers. As a standalone SDR building block for the Raspberry Pi SBC, it perfectly complements the current SDR ecosystem.
It is (and will remain) fully open-source, so you can learn from, experiment with, and hack on it to your heart’s content. All of its components are visible to the curious eye, and its layout clearly identifies the structure of the front end, the Tx/Rx indicators, and more.
CaribouLite was built for portability. All it needs for operation is an RPi and a power source.
There are two versions of CaribouLite: the full version and the ISM version. Both versions include an internal TCXO clock-source, a low-noise amplifier (NF < 4 dB under 3 GHz) and high Tx power (up to 14 dBm). They also provide fully controllable, 8-bit, read/write PMOD expansion ports to facilitate advanced applications such as direction finding, GPS synchronization, etc.
On the software side, Raspberry Pi’s high-level APIs like Soapy / GNU Radio, and Jupyter notebooks are fully supported, through which the HAT’s complete feature-set can be accessed.
The full version of CaribouLite provides two Tx/Rx SDR channels:
Channel 1: 30 MHz to 6 GHz
Channel 2: Sub-1-GHz
The 4 MSPS I/Q samples (both Tx and Rx) are transmitted over the RPi’s secondary memory interface, where CaribouLite acts as a high-throughput memory peripheral. The ISM version of CaribouLite supports the native 2.4-GHz and sub-1-GHz bands available within the Microchip chipset used.