Go Down

Topic: SDR with arduino (Read 8491 times) previous topic - next topic

Hi all,

Is it possible to do a software defined radio using Arduino Uno board.

This is a random idea I got.

Please tell me your suggestions and comments.


I don't know enough about SDR to say it's impossible but I don't think the ATmega has the A/D bandwidth or signal processing capability suitable for an SDR.
Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e


Thank you.I also dont know much about SDR.I hope I can learn more about it.


Hi Myfaithnka,

I'm also interested in building a SDR, preferably using arduino.

I'm a fairly new HAM and being a student son't have $1000+ to spend on a HF rig.

I would be interested to hear if you have gotten any further in your search for information.


James C4S

With only 2k of RAM and a A/D that can only (practically) sample about 10ksamples/s, you aren't going to get much "radio" out of it.  The Arduino really isn't even fast enough to record human speech with decent quality and that's a relatively narrow bandwidth.

SDRs rely on digital signal processing, better suited for Digital Signal Processors (DSPs).
Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com

Yes, it is possible.
However, as others say, the standard Arduino won't do a great job, so you will need to get (or even design) a Shield card to do most of the work.
In that sense, the PC becomes a radio keypad, display, and speakers. The Shield card is the actual "Radio" and the Arduino is the interface between them.

So, what do you nned from your shield? It depends on what you want from the SDR.

A basic SDR is the "SoftRock" series. You plug in an antenna, send it a frequency over an I2C interface, and it spits out (over audio) a section of RF around the frequncy you specified. Relying on the Arduino to convert that will run up aginst the ADC limits mentioned. You a get a functional, but weak, radio. Note: the actual conversion of signals to audio will happen in the PC...

What if you have your own ADC? Yes, you can sample faster, and the Arduino acts like an external sound card. It pumps more signal to your PC, where fancy software steps in and selects a station from all the guff coming in.

You can do better - but here's where it gets REALLY challenging.
If you have a _Really Fast_ ADC you can sample at RF. Then you need something to cut it down, before you send it to the PC. We're talking DSP processor, or an FPGA chip.
This chip will do a FFT (Fourier Transform) on the RF. Presumably, the result gets shown on your PC. You pick a band of interest, and the Arduino tells the chip to throw away everything EXCEPT the bit around that band. Then the chip does an Inverse FFT, and the Arduino pipes that section to the PC for final decoding.

The Arduino becomes the USB interface to the ADC / FPGA. If that's what you want, there are better and cheaper USB interfaces out there. There may be some value to all this as a learning process, but I wouldn't consider it practical.


I am building soon the LIMA-SDR (tx and rx). Ofcourse it runs over I2C to control
your bandsettings and Si570 crystal oscillator. In first instance I want to control
and readout the frequency and the bandpassfilters. This by replace the EEprom
with the Arduino Mega as controller. For this I have already a LCD screen (for
the frequency readout) and a TFT 3'2" touchscreen. Normally you use for LIMA-SDR
the software where the PC controls your software. But you can also only use the
audio input on the PC. Like I now doing with my analog TS-690s. In a later stadium
I want to build a small audio card directly connected to the LIMA-SDR. This can
gives me a 96Khz bandwidth. But more important I can easier doing the A/D
conversion for the waterfall on the TFT display.

By the way: For connection and to doing galvanic separation for my tranceiver
for WSPR and FSK on my TS-690s I am using the FTDI-MOD-4232HUB.


Just look at my video about Arduino controlling SDR tranceiver: http://youtu.be/IFV8jCt8FVo

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131