Skip to the content
PCBKitNew board
2 layers81.3 × 33.7 mmSDRReciever, the printed circuit board in 3D

Quadrature sampling down converter software defined radio

Size
81.3 × 33.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
67
Nets
36
Pads
187
Tracks, vias
474, 86
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
12 Apr 2021
Updated
11 Jun 2021

Overview

SDRReciever is an open-source printed circuit board by Dizzerin, from the Dizzerin/Software-Defined-Radio repository on GitHub. It is a 2-layer board of 81.3 × 33.7 mm with 67 parts on 36 nets, routed with 474 tracks and 86 vias.

It is built around the LM4562NA, SN74CBT3253D and SI5351A-B-GT, with the BSS138 and MMBT2222A-TP among its other parts. Its parts include 18 capacitors, 15 resistors, 10 connectors, 3 ICs and 3 transistors. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

5

README

README.md

Software-Defined-Radio

This project is a quadrature sampling down converter software defined radio reciver for Engineering Electronics II at Walla Walla University. My partners for this project were Darius Felder and Eric Walsh. For a quick look at the final results of our project jump to results. For a quick setup guide jump to Quisk setup.

Design Objectives

Our professor, Dr. Rob Frohne, gave us the following design objectives:

  1. Minimum discernible signal less than 1μV

  2. Good image rejection

  3. Low noise figure

  4. Inexpensive to build

  5. Simple Design: We wanted our design to be easy to understand and construct

  6. Ease of Construction: We wanted to build a simple radio that works

  7. Low Cost: Our budget for this project was $30

Overview

The Software Defined Radio (SDR) receiver connects to an antenna and covers the filtering, mixing, and amplification of the desired signal. It then connects a sound card within a computer and software handles the demodulation of the signal into playable audio. The mixing is handled using an Arduino Nano running code provided to us by our Professor, Dr. Rob Frohne, which interfaces with Quisk, an SDR that controls the receiver through the Arduino. Using Quisk, the radio can be tuned to a certain frequency by adjusting the speed of the local oscillator used in the mixing process. Our budget on this project to keep with the low-cost aspect was about $30 including fabrication of the PCB and the required components.

Note: Overview section by Konrad McClure

Theory

The basics of the SDR Receiver are shown below in the block diagram, with the blue components being defined by software. An antenna picks up the radio signal and passes it through a bandpass filter. This filter will attenuate any signals outside our desired range of 6–16 MHz. This is then passed through a Tayloe Mixer, also known as the Tayloe Quadrature Product Detector. The Tayloe Mixer is a simple and efficient mixer that uses a 1:4 demultiplexer and operational amplifiers to generate the I and Q quadrature signals for demodulation. After the signal has been split into four bandbase signals, they are amplified and combined into the I and Q quadrature signals. Those signals go through a final Low-Pass filter that will attenuate signals above 100KHz in frequency, effectively smoothing the output signal. This signal is then sent via 3.5mm audio cable to the soundcard which demodulates the signal. Quisk can then read the input from the sound card and play it. Quisk also interfaces to the Arduino Nano to set the speed of the local oscillator for tuning into the desired frequency.

Note: This Theory Section is a slightly modified version of work originally written by Konrad McClure

Design

Here is a basic block diagram of our design:

image

Schematic

IMG_1417

List of components

IMG_2660

Voltage smoother

This was added to smooth out 5V power supply from USB. This will help elimate supply noise.

IMG_0552

Voltage converter

This device converts the 5V logic of the arduino nano to the 3.3V logic of the Si5351a for both directions.

IMG_2141

Local Oscillator (Si5351a)

The local oscillator we used, SI5351-AB-GT clock generator was selected largely due to the fact that Dr. Frohne has used this chip with success.

IMG_3429

Mixer (tayloe)

The Tayloe Mixer is a mixer design as seen in this paper by Dan Tayloe. We chose it due to its relatively simple and elegant design. It utilizes a two-channel SN74CBT multiplexer and a pair of INA821ID single gain resistor instrumentation amplifiers. To be more specific, Tayloe describes this as a "switching integrator," rather than a mixer, since a mixer normally produces both a sum and difference frequency of the RF and LO signals.

IMG_1014

Amplifiers

A Multiple feedback low pass filter and amplifier was used.

IMG_8803

Arduino Nano

IMG_3501

Simulation

Complete LTSpice model:

image

Results of simulation

image

Quisk setup

According to the Quisk pip project description, the Quisk software is "Software Defined Radio (SDR) transceiver software. You supply radio hardware that converts signals at the antenna to complex (I/Q) data at an intermediate frequency (IF). Data can come from a sound card, Ethernet or USB. Quisk then filters and demodulates the data and sends the audio to your speakers or headphones." We used Quisk in our project for just this purpose.

To get Quisk up and running with our radio, simply:

  1. Flash the openradio_quisk.ino file to the arduino nano microcontroller.

  2. Start Quisk and configure a new radio. Point Quisk to the quisk_conf_openradio.py file. Alternatively you can simply copy the file to your home directory (~/.quisk_conf.py).

    Note: You may need to configure the following settings in this python file:

    • Sound card settings
    • Serial port settings
  3. Restart Quisk tune to your desired frequency and listen away!

Board build up plan

See board build up plan.

Revisions and debugging

See revisions and debugging.

Complete Design

Photo of our complete board:

20210519_111718

Results

In the end, we had about 1μV of sensitivity and between 10 and 30 dB of image rejection. (Darius’ radio had about 10dB of rejection while mine had about 30dB of image rejection). Though our radios are working, they have less sensitivity than desired and when we examine the waterfall spectral display on Quisk there are some distinct lines. We believe these are from signals on the USB input, so it may be worthwhile to investigate isolating this further in future revisions.

Credit to: Dr. Frohne for his extensive help with the debugging process.

Future Revision Recomendations

Other recommendations for future revisions include using continuous rows of pin headers for test points instead of single pin headers to ease soldering, include better ground test points (perhaps two pads to solder a wire between which ground clips can be clipped onto), moving plastic components further from surface mount chips which may need to be de-soldered, and including jumpers to allow the op amps to be powered from an alternate power source separate from the 5V circuit so additional power can be provided if desired without damaging other components.

External tools used:

Multiple Feedback Low-Pass Filter Design Tool

Third Order Butterworth Bandpass Filter Design Tool

Credits

Darius Felder - project partner primarily responsible for testing, simulations, and documentation

Eric Walsh - project partner primarily responsible for testing and LTSpice simulations

Dr. Frohne - class professor

Konrad McClure - previous project pioneer

Caleb Froelich - previous project pioneer

Jordyn Watkins - previous project pioneer

Parts

67
QtyValueFootprintReferences
60.1uCapacitor_SMD:C_0805_2012MetricC5, C6, C7, C8, C9, C16
610kResistor_SMD:R_0805_2012MetricR1, R3, R4, R5, R6, R7
451Resistor_SMD:R_0805_2012MetricR8, R9, R10, R11
4Jumper_NC_SmallConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP1, JP2, JP3, JP4
4MountingHole_PadMountingHole:MountingHole_2.2mm_M2_PadH1, H2, H3, H4
210uCapacitor_SMD:C_0805_2012MetricC17, C18
215pCapacitor_SMD:C_0805_2012MetricC11, C14
2180Resistor_SMD:R_0805_2012MetricR13, R15
222nCapacitor_SMD:C_0805_2012MetricC10, C13
2330pFCapacitor_SMD:C_0805_2012MetricC2, C4
24.35nCapacitor_SMD:C_0805_2012MetricC12, C15
251kResistor_SMD:R_0805_2012MetricR12, R14
2820nHInductor_THT:L_Toroid_Vertical_L13.0mm_W6.5mm_P5.60mmL1, L3
2BSS138Package_TO_SOT_SMD:SOT-23Q2, Q3
110uFCapacitor_SMD:C_0805_2012MetricC1
11kResistor_SMD:R_0805_2012MetricR2
13.3VConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ2
14.3VConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ5
1430nHInductor_THT:L_Toroid_Vertical_L10.0mm_W5.0mm_P5.08mmL2
15VConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ4
1620pFCapacitor_SMD:C_0805_2012MetricC3
1Arduino_Nano_v3.xModule:Arduino_NanoA1
1AudioJack3Connector_Audio:35RAPC4BHN2J14
1CLK_0Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ8
1CLK_1Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ9
1CLK_2Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ7
1CX3225SBCrystal:Crystal_SMD_Abracon_ABM8G-4Pin_3.2x2.5mmY1
1Conn_CoaxialConnector_Coaxial:BNC_Amphenol_B6252HB-NPP3G-50_HorizontalJ1
1FIL_INConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ3
1FIL_OUTConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ6
1I_0Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalI 0
1I_180Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalI 180
1LM4562Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU3
1LOGOImported_Footprints:DolphinG***
1MMBT2222A-TPdigikey-footprints:SOT-23-3Q1
1Q_270Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalQ 270
1Q_90Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalQ 90
1SN74CBT3253Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU2
1Si5351A-B-GTPackage_SO:MSOP-10_3x3mm_P0.5mmU1

Questions

How big is the SDRReciever PCB?

It measures 81.3 × 33.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the SDRReciever use?

67 parts, built around the LM4562NA, SN74CBT3253D, SI5351A-B-GT and BSS138. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the SDRReciever KiCad files?

From the Dizzerin/Software-Defined-Radio repository on GitHub, at the commit this page was made from: the board is KiCad PCB Schematic files/SDR_Schematic_and_PCB_files/SDRReciever.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the SDRReciever design in my own project?

Its repository states no licence, so its author keeps all rights: ask Dizzerin before reusing the design.

Similar boards

  • 2 layers74 × 72.1 mmENGR357 Project v1.1, the printed circuit board in 3D

    ENGR357 Project v1.1

    pricna/Software-Defined-Radio-Receiver

    Software Defined Radio receiver created for Engineering Electronics II at Walla Walla University.

    80 parts3MPL-2.0
  • 4 layers85 × 56 mmRadiohead, the printed circuit board in 3D

    Radiohead

    mpvano/radiohat2

    Software and Documentation for the Radiohat2 Project

    175 parts2MIT
  • 4 layers70 × 100 mmTxrx-1, the printed circuit board in 3D

    Txrx-1

    brucemack/sdr2

    This is a homebrew SDR rig with no dependency on external computers/soundcards/etc.

    98 partsGPL-3.0
  • 2 layers101.6 × 137.4 mmOpenxcvr, the printed circuit board in 3D

    Openxcvr

    dawsonjon/OpenXcvr

    Cost Effective HF transceiver based on max1000 FPGA module

    155 parts38MIT
  • 4 layers100 × 174.6 mmRf switchboard, the printed circuit board in 3D

    Rf switchboard

    Erhannis/rf_switchboard

    KiCAD pcb; whole heap of rf-related modules so I can figure out what works and how.

    467 parts
  • 2 layers100 × 100 mmIQ SDR, the printed circuit board in 3D

    IQ SDR

    frohro/IQ_SDR

    Quadrature Sampling SDR

    116 parts10
  • 2 layers100 × 100 mmSDRReciever, the printed circuit board in 3D

    SDRReciever

    KonradMcClure/SDR_Receiver

    Software Defined Radio Receiver designed together with Caleb Froelich (https://github.com/froeca) for our Walla Walla University Electronics II project.

    78 parts7
  • 2 layers77.6 × 37.8 mmR820t2 breakout, the printed circuit board in 3D

    R820t2 breakout

    gmtii/Prototipo-R820T2

    Proyecto 'breakout' de un R820T2 más un QSD para obtener salida IQ directamente a la tarjeta de sonido del PC. La idea es experimentar con el R820T2 y un QSD cuya frecuencia de refencia es 4X a la de demodulación…

    99 parts2MIT