A Gnu Radio Project implementing a multimode signal generator for the HackRF Board

seperator bar

operator screen seperator bar

Project Description

Most software defined radio projects (SDR) concentrate on receiving. This is a Gnu Radio project implementing a multimode signal generator (5mw transmitter!) for the HackRF board. By adding a microphone audio source, it becomes a multimode transmitter for 1MHz to 6GHz. The project source was designed using Gnu Radio Companion (GRC). GRC generates a standalone python file that is run to operate the signal generator. The python program loads modules and libraries from the Gnu Radio and QT5 installations as needed.

GRC Logic

What is the HackRF?

The HackRF One is a Software Defined Radio (SDR) peripheral capable of transmission or reception of radio signals from 1 MHz to 6 GHz. Designed to enable test and development of modern and next generation radio technologies, the HackRF One is an open source hardware platform that can be used as a USB peripheral or programmed for stand-alone operation.

System Requirements

hackrf pcb

You will need a recent version of python (I used 3.9.9), a recent installation of Gnu Radio (I used, a recent installation of the QT5 development system (I used 5.15) and a HackRF One SDR board. I use a rolling distribution of linux known as arch linux for my main development computer. I have heard all these packages should be available for windows, but ... "I Don't Do Windows". Although this project uses the the HackRF board for output, with slight modifications, it can be reconfigured to use other SDR hardware capable of transmitting (Lime, Ettus, Pluto etc)

Interesting Things I Learned


GRC Project Block Diagram - HackRF-siggen.pdf (41kB)

Source Code

GRC Project File - HackRF-siggen.grc (29K)
Generated Python Source - HackRF_Siggen.py (29K)
Sample Audio Source Wave File - ve7it-at.wav (1.4Mb)
seperator bar