Gnuradio Flows for an all digital TX path solution based on Raspberry PI and HackRF One

  • Hi everyone, I've been finally able to (successfully) test an all digital, Gnuradio based implementation of a TX path on QO-100.

    The idea was to build some Gnuradio Flows that could be run on a Raspberry PI and that implemented different transmission modes, using an UDP source as signal source so that the whole thing could be used remotely via wifi from another computer.

    The HW used is a Raspberry PI 3 rev. B, connected to an HackRF One board cascaded with a 2.4GHz preamplifier and finally the ubiquitous Chinese 4W Wifi amplifier.

    A build of Gnuradio 3.8 has been built on the Raspberry in order to achieve the max performance possibile on that architecture.

    Everything worked nicely and I could work the TX remotely by sending characters via UDP and have them transmitted as CW, PSK31 and QPSK31. HackRF One is equipped with TCXO so frequency was very stable, which is fundamental and assured perfect reception.

    Code for the tested flows is here :

    More modes are coming - now testing voice single sideband modulation using gsm vocoders, looks promising!!!

    This is the picture of the hardware assembly:

    73 de Matteo iz2eeq

  • Hi Matteo,

    Congratulation for your realization.

    I'm happy to see someone working with GNU Radio..

    At the moment I have GNU radio RX locked on PSK beacon with a costa loop and it work very good.

    My next task is working on TX. I'm thinking to use Pluto.

    I see that you are using Hack RF one. Do you think that is better that Pluto (at least working with GNUradio).




  • Hello David, thank you!

    I’ve always loved GNU radio and have been using it for many years, starting with a USRP1 and two basic tx and rx boards... the software has improved a lot since then and the opportunity to embed it in a small device like a Raspberry makes it really interesting for experimentation.

    I am using HackRF because I had an old unit in my box... I would say it works well but the required minimum sample rate (2M) is unnecessary high (and computationally expensive) for narrow bw applications, so I would recommend anything that can work with a lower bandwidth... I read somewhere that the Pluto supports as low as 312.5KHz, so that alone would make it a better device, hardware wise.

    Pluto is also better when it comes to DAC/ADC, it uses 12 bits, while HackRF uses just 8.

    On the other hand the support of HackRF on GNUradio, specifically with Osmocom and Soapy plug-ins is quite good and working well, especially the TX/RX switching that works out of the box.

    I have not tested the Pluto on GNURadio so I wouldn’t know about it.


    matteo iz2eeq