ik1xpv hamradio software & hardware

3radio project - Part 3

The programmable 2-PLL VCXO clock synthesizer  CDCE925 from TI is configured to generate 12 MHz and 16 MHz clocks synchronous to the 28.8 MHz clock reference.

The 3radio prototype has been modified following the scheme:


TI ClockPro(TM) application is used to made the configuration file of CDCE925 while an I2C programmer (an Arduino board) is required to program it. 


Other than the 12 MHz and 16 MHz clocks used for the HUB FE1.1s IC and the AT90USB162 uP a 10 MHz synchronous clock is generated for comparison to lab frequency standard.

The 28.8 MHz buffered output goes to a two xtal filter made with the 28.8 MHz xtals de-soldered from the RTL-SDR. This filter is used to obtain the sinusoidal output signal that synchronizes the RTL-SDR dongles.


The FFT analysis shows a 40 dB attenuation of high harmonics. 

The CDCE925 has been mounted with dead-bug style and the cable used for the rtl-sdr 28.8MHz is RG174.  The cables have the same length, while for 12 MHz and 16 MHz a twisted wire pair has been used.


The 28.8 MHz TCXO and the 28.8 MHz xtal filter are on the top while the cdce925 is on the bottom side of the PCB. The black cables feed the clock to the RTL-SDR dongles. The grey twin wires on the left are the 12 and 16 MHz clocks.

3radio project - Part 2

3radio project - Part 1

3radio project - Part 2

Some tests have been made using the prototype described in 3radio project - Part 1.

The software uses rtl-sdr library.  It  runs 3 instances using synchronous transfer.    Each stream is recorded in a file as raw bytes.     A first graphical analysis and comparison is made using Audacity application.

The application programs all the units to the same frequency.   The central frequency is 60.0 MHz because the energy of Pseudo Random Noise Generator (PRNG) sequence is higher at low frequency.  The 3radio PRNG prototype has not jet a pulse sharpening circuit.

The PRNG has been programmed to generate at pseudo-random time intervals a sequence of 64 bits at 1Mbps with a good auto-correlation peak. Nevertheless the first measure has been made without any correlation processing, just looking at signal in time with Audacity app.


The picture shows the records made with a sampling rate of 2048 ksps and the gain set to 10dB. All the units are feed by the same PRNG signal. The signals are down-converted and recorded as complex base-band signal I&Q, here shown as stereo audio signals. The time scale is in 10 ms units as Audacity does not accept 2048 kHz sampling and 20.48 kHz is selected instead. The time span is about 500 ms.

The 3 streams are correlated and shown different latency time. I think latency is due to the different recording starting time and serialization over the USB link other than the pll phasing of RTL2832 and R820T.

Lucky the sampling synchronization is kept constant during the measure. So an head synchronization could be maintained for a long time.

Manually phasing the signals and zooming into the 64 bit sequence shows the strong correlation in between the 3 I&Q streams. 


A phase rotation in the signals is expected as the PRNG signal is generated by a microprocessor running at 16.0 MHz with a xtal not synchronous to the 28.8MHz clock.

Note: an hardware improvement could be made synchronizing the 16.0 MHz clock of PRNG and the 12.0 MHz clock of HUB with the advantage of decreasing the eterodine signals. 






3radio project - Part 1


The use of multiple RTL-SDR dongles as coherent receiver has been proposed since 2013.
In http://kaira.sgo.fi/2013/09/16-dual-channel-coherent-digital.html Juha Vierinen posted a two units hack.
Many others can be found Googling “rtl-sdr coherent receiver”

This pages describe my own project of a SDR coherent receiver named 3radio

The first goal is a setup for coherence measure without sophisticate instruments.


                                      Block diagram rev 1.0

It is a compact device that uses a single USB cable to acquire 3 SDR sample streams.

Thermal cooling is important to reach reliable performance.

The unit is housed into an aluminum box with the rtl-sdr screwed to the box wall.



                           Temperature range from 25°C to 85°C

The original MCX connector, the IR receiver and the led have been removed. Please keep the solder dots as flat as possible on the solder side.

undefined                                                                                                             Solder side

The rtl-sdr PCB has a 2.0 mm hole that can be used to fix the unit near the led position. A second 2.0 mm diameter hole is drilled in the position indicated in the picture.
Two 2.0 mm screws will rest the board against the aluminum wall. An electrical insulated thermal pad is placed in between the board and the aluminum.
90° SMA Female connectors has been used in the prototype.


          Preliminary test wiring with a xtal oscillator feeding the other units.

As the TCXO 28.8MHz is not jet arrived in the mail, one of the original xtal oscillators has been used to drive the other two ones using a 14 pF capacitors (2*6.8pF in parallel).

The USB connectors has been replaced by wires to place the boards against the aluminum near the HUB PCB.

The red wire that goes to the antenna diode is carrying the pseudo random noise PRNG signal to the antenna inputs via a BAV99 diode gate.

The HUB  is a FE1.1s chip while the PRNG is a AT90USB162 wired to the 4th port of the HUB.

The plan is to use the PRNG sequence to synchronize the received streams during an initial calibration phase or every time the USB samples streams are stopped.

At the beginning the generator stream is used to measure some coherence figure...


                                                                   early prototype

 3radio - Part2


Following the advice of Claudio Re I1RFQ and Ivan Guerini IW2KBK I spent some time in developing an ExtIO_H101.dll.

This dll follows the Alberto di Bene Winrad specifications for the external I/O DLL.

It allows the use of the H101 SDR receiver with many of the SDR applications that implement the ExtIO standard,

ie: HDSDR, SDRsharper, WinradF...

The last version is: ver 0.13

Here you can download the ExtIO_H101_013.zip  The archive contains the ExtIO_H101.dll ver 0.13

The MD5 hash file signature is c9eaf93506e31afbc1f2d7c3284d2897

It operates with OS in Italian or English

While ExtIO_H101_012.zip runs on English PC.   The archive contains the ExtIO_H101.dll ver 0.12 

The MD5 hash file signature is dfb4a46321dc8380191b6ee98f1c3db3

Copy Extio_H101.dll file into the SDR application directory and then select the ExtIO_H101 from the SDR application setup.

The source code is at www.github.com/ik1xpv/ExtIO_H101

The dll is under development and it is not fully tested, you will use it at your own risk.  

It has been tested in Windows 10, 8, 7 OS with HDSDR, SDRsharper.

Have you fun!

Here after some pictures from Ivan:










The RTL2832+R820T RF GENERATOR hack 1.0


The hack 0.9 describes how to modify a RTL2832U+R820T dongle as RF generator.

I connected the generator to two RTL2832U+R820T receivers and I assumed the generator to be in the 0.5-1.5GHz range as indicated by the receivers screens.

That is not correct because the RTL_SDR receiver is sensitive to even harmonics of the tuning frequency.

The generator output is in the VCO range 1.770 - 3.54 GHz.


The error became evident when I connected the generator to a R&S FSV spectrum analyzer and got the following measures:








 Spectrum analyzer settings: Center Frequency 1.8 GHz ; Span 3.6 GHz, Att 10dB.




Generator SDR# tune: 1GHz,

output spectrum: 2.0GHz (2x)










Generator SDR# tune: 0.9GHz,

output spectrum: 1.8GHz (2x)










Generator SDR# tune: 1.4 GHz,

output spectrum: 2.8GHz (2x)







When the generator is tuned to lower frequency the VCO is tuned to higher harmonics (power of 2).

Generator SDR# tune: 0.5 GHz,

output spectrum: 2.0 GHz ( 4x)







The generated signal is weak while clean.


The RTL2832+R820T RF GENERATOR hack 0.9

The RTL2832+R820T RF GENERATOR hack 0.9


RTL-SDR is a very cheap software defined radio that uses a DVB-T TV tuner dongle based on the RTL2832U chipset.
The most common today RTL-SDR dongle contains two primary chips: the Raphael Micro R820T radio tuner and than the Realtek RTL2832U which contains an 8-bit ADC and USB data pump.
During last year the R820T chip has been substituted by the R820T2 with a little better receiver performance.
I bought some R820T2 dongles and I needed a RF generator in the GHz range for comparison.
I investigated the possibility to modify a RTL2832U+R820T dongle to use it as a Radio Frequency Generator and hereafter the results.

The R820T block diagram shows that the internal VCO has no output pin.


The idea is to use the pin 5 (Det2) that is related to the mixer output. Of course it is not thought to be a RF output, nevertheless part of VCO signal is routed out.

WARNING the modified dongle is no more a RTL-SDR receiver.

It becames a RF generator in the 500-1500 MHz range. ( see Update 1.0 )

The hardware modification is:

  • remove the input capacitor C13 ;
  • remove the bypass capacitor C22 ;
  • remove the protection diode D6 ;
  • wire a capacitor 100pF connecting the Antenna input (D6 pad) to the pin 5 of R820T (ex C22 pad).


  • remove the IR receiver (not used)
  • replace the blue led with other color (red) to easy recognize the generator modified dongle.

Refer to the following pictures of the hardware modification.

 undefined undefined

The following screenshots has been saved while using a RT2832U+R820T2 dongle as receiver and the modified RT2832U+R820T dongle as generator. Generator and Receiver are connected via a coax cable .

( NOTE: the RTL_SDR receiver is sensitive to harmonics of the tuning frequency. The generator output is in the VCO range 1.8 - 3 GHz. See Update1.0 )




Notice the DVB-T signal reception on the left.

The RF generator has an usable range of 500-1500MHz and the output level is a little weak.

That is not correct! why the RTL_SDR receiver is sensitive to even harmonics of the tuning frequency.The generator output is in the VCO range 1.8 - 3 GHz. See Update 1.0

Future ideas:
The possibility to FM modulate the signal must be verified. The pll filter looks accessible. A PC audio output could be injected to the filter via an attenuator.

Newer posts → Home ← Older posts