Installing a TCXO in the HackRF One
This writeup isn’t a new project. It’s more of a gathering of disparate pieces of information into one place.
For a while now I’ve been looking to do some more advanced RF design and testing using my HackRF One but realized the stock crystal oscillator wasn’t going to cut it. But this is an already solved problem. High accuracy TCXOs are widely available for the HackRF. But finding the information necessary to take advantage of them took a little more work. You’ll not only need the TCXO but a bigger case as well.
Installing The TCXO
To install it, take a look at this photo from the gps-sdr-sim repository. It clearly shows where the TCXO gets installed in the HackRF. Just take the HackRF out of its case and insert the TCXO as shown. To test it, clone the HackRF tools repository and build them. Plug in the HackRF and execute the command:
hackrf_si5351c -n 0 -r
If you get the response
[ 0] -> 0x01
the HackRF has recognized and is using the TCXO.
You’re Going To Need A Bigger Case
You’re going to find that the HackRF and TCXO are too tall to fit inside the standard case. One solution is to cut a hole in the top as shown in this thread. But once you do that there’s no going back so I decided to look around for alternatives.
Brian Dorey has a good discussion of how to install the HackRF into a Hammond 1455J1201 case but the case end templates he provides assume you’ll be mounting the HackRF on the case center rails. The HackRF and TCXO are too tall for this position so instead I 3D printed a couple of case ends that allow you to mount the HackRF on the case lower rails. This provides enough clearance for the HackRF and TCXO. The stl files for these case ends are available here.
And Now It’s Done
Photos of the complete project are shown below. I’m really happy with the way it turned out; the black case ends fit right in. Their only shortcoming is the LEDs and connectors aren’t labeled like on the standard case but I can live with that, and now the real fun can begin.