Software-Defined Radio (SDR) with CaribouLite
Raspberry Pi 4 & CaribouLite SDR
Engineering project implementing a standalone Software-Defined Radio node using Raspberry Pi 4 and CaribouLite HAT. Comprehensive testing of RX/TX capabilities, signal processing workflows, and driver configuration in a headless Linux environment. Project completed as part of TAMK Internship 2025.
Project Highlights
- Successfully received and demodulated signals from NOAA & Meteor-M satellites at 137 MHz
- Configured SoapySDR abstraction layer for hardware interfacing
- Deployed SDR++ in server-client architecture for remote signal monitoring
- Verified CW transmission at 430 MHz using Rohde & Schwarz FSEA spectrum analyzer
- Investigated AT86RF215-ZU modem and ICE40LP1K FPGA architecture
Hardware & System Setup
CompletedDeployed headless Debian 12 (Bookworm) on Raspberry Pi 4 with SSH access. Integrated CaribouLite HAT featuring dual-band AT86RF215-ZU transceiver and Lattice ICE40LP1K FPGA for baseband processing.
Signal Reception (RX)
VerifiedSuccessfully intercepted weather satellite signals using SDR++ server-client architecture. Validated reception capabilities across HiF and S1G channels with waterfall spectrum analysis. Demodulated WFM radio broadcasts at various frequencies.
Transmission Testing (TX)
Partial SuccessConfirmed CW signal transmission at 430 MHz using cariboulite_test_app. Attempted modulated signal transmission via SDRAngel and custom C programs. Complex modulation requires further API investigation.
Software Stack
ConfiguredCore tools:
- SoapySDR hardware abstraction
- SDR++ (RX-focused)
- SDRAngel (RX/TX capable)
- libcariboulite native drivers
Technical Challenges
DocumentedSDR++ server requires specific initialization sequence ("cold-start" issue). SDRAngel TX path showed antenna selection complexities. Thermal management critical when running heavy SDR applications—HTOP monitoring recommended.
Hardware Analysis
ResearchedDocumented AT86RF215-ZU dual-band transceiver specs (389.5–1020 MHz, -123 dBm sensitivity) and ICE40LP1K FPGA digital interfacing. Compared original vs. Matteoserva's firmware—confirmed identical implementations.