The BreadBoard RF103: A homemade 16-bit, 0 – 1800 MHz Software Defined Radio

Over on his blog IK1XPV has been writing about his experiments in trying to create a new SDR which he calls the ‘BreadBoard RF103’. His SDR is based on a FX3 SuperSpeed Explorer Kit which is a development platform that has an ARM9 processor on board, USB 3.0 connectivity and various expansion headers. Connected to that board is an LTC2217 16-bit ADC which can sample at up to 105 Msps. An R820T2 is used as the tuning chip to enable reception from 30 – 1800 MHz, and reception from 0 – 30 MHz is handled in direct sampling mode. The R820T2 is the same chip used on most RTL-SDR dongles, as well as on the higher end Airspy. It is a very good tuning chip, but it is held back by the 8-bit ADC on the RTL2832U chip. So the 16-bit ADC on the LTC2217 should be able to really show it off.

BreadBoard RF103 Block Diagram
BreadBoard RF103 Block Diagram

IK1XPV’s BreadBoard RF103 is currently running on HDSDR with 10 MHz of bandwidth. He writes that a modern and powerful PC with USB 3.0 is required to to handle all the data coming through. In the videos below he shows it receiving the FM band with what looks to be about 10 MHz of bandwidth.

HDSDR v2 76 ExtIO sddc dll SRate 8000000 OS 10 0 14393 CPU Intel Core i5 3350P @ 3 10G

So far the BreadBoard RF103 doesn’t seem planned to be a commercial device. The LTC2217 ADC is a $115 USD part, and the FX3 dev board is $49 USD. So while not a budget unit, it may still end up as as interesting SDR to home build and could contend with Airspy and SDRplay devices in the $100 – $300 USD range.

Notify of

Inline Feedbacks
View all comments

Cool beans!

Dave H

Do I understand this right – the R820T2 is being used as a downconverter here?


It’s nice for experimenting high rate SDR on PC, but it is still not a practical solution. This setup will drop samples occasionally due to the tiny amount of buffering in the FX3 (~512KB) compared to the data throughput (210 MB/s). Adding some RAM would improve this behavior, but at the cost of a lot of complexity (and cost).


cyfxbulkstreams…This example demonstrates the use of stream enabled bulk endpoints using FX3 device. This example is specific to USB 3.0 and requires the PC USB host stack to be stream capable. The example enables four streams of data to be looped back though EP1 OUT to EP1 IN using DMA AUTO channels.


I think you are overlooking some very important details concerning how non-realtime OS’es work. You should run the counter in the ADC and check what you get in the PC under different work loads.