Tuning an R820T2 RTL-SDR up to 6 GHz via a Harmonic Mixing Driver Hack
A while back we heard a suggestion that it may be possible to use the 5th harmonic on R820T2 RTL-SDRs to receive frequencies much higher than the normal 1.766 GHz limit. After mentioning this to to Hayati Augen he has recently managed to implement this driver hack, and now R820T2 based RTL-SDRs can tune all the way up to 6 GHz if Hayati's experimental driver branch is used.
Before everyone gets too excited, we need to temper expectations as sensitivity reduces the higher the frequency so an LNA may be required, imaging/aliasing is a major problem, and you will absolutely require a ~1.7 GHz high pass filter to be able to actually see any signals as otherwise the lower bands drown everything out. So when combined with the relatively small bandwidth of the RTL-SDR, the overall usefulness of this feature may be very limited, however it is great that this option at least now exists.
In order to actually receive anything, you will need to filter out all signals below about 1.7 GHz, otherwise they will alias on top of your desired frequency. We used the VHF-1760+ from Mini-Circuits. There are other options available as well, however this filter seems to work well as long as the signals below 1.7 GHz are not too strong.
The latest branch with the harmonic hack can be found in the librtlsdr Github on the development branch. The binary releases can be found under Github releases. The easiest way to get started is to download the static zip, and run rtl_tcp. Then we recommend connecting to the rtl_tcp server with HDSDR, and using this custom ExtIO available on the extio_rtl_tcp Github releases. Newer version of SDR# currently seem locked to 2 GHz maximum, so this is why we recommend HDSDR at the moment.
When tuning above 1.766 GHz 5th harmonic tuning will automatically be activated. However, you can also use the -harm flags on the command line tools to choose the 3rd harmonic too if you wish to test that.
In testing we were able to receive signals generated by a HackRF and signal generator up to 4.2 GHz. Sensitivity appears to be decent until around 2.7 GHz, then it begins to lower significantly. There are also a few bugs in the tuning code, as at some frequencies the actual signal will be offset by a few MHz from where we would expect. It appears to be a scaling issue. Also we've also only been able to get up to a maximum of 4.2 GHz on HDSDR, but this may only be due to a HDSDR 32-bit limitation.
We've tested this hack on several RTL-SDRs, and found that signals are overall the strongest on our RTL-SDR Blog V3. This is most likely due to the fact that the V3 has a front end matching circuit that does not attenuate L-Band or higher frequencies, unlike models based on the original TV dongle design.
If anyone has success with this hack for any application, please let us know down below in the comments.
It’s better to use COTS downconventer with R820T
I was able to get it to work with the V3, all the way up to 4.2GHz on HDSDR using a cheap signal generator going into the sma port (no LNA or HPF for now). The difference In sensitivity >2.7GHz is crazy, and I think it wouldn’t be too useful for anything above that without more amplification. I still have to finish my Vivaldi antenna and get a HPF then test to see if I can recieve Wifi
I tried it. The mechanics on how you wrote the hack is very impressive . my problem though is I have the elonics e4000 , so I can’t seem to utilize the hack much myself. can you tell me if it’s possible to modify your driver to open my e4000 up or does my sdr have hardware limitations for expansion .
Excellent work .