Spectrum Painting in open bands with HackRF

One of the outcomes of the Chaos Communication camp and the handed out badge (rad10 badge – an adaption of the HackRF) was playing around with the idea of painting pictures on the RF spectrum with the HackRF – a low cost transmit capable software defined radio. This idea works simply by modulating a signal so that it produces a desired image pattern on a frequency domain waterfall display.

To make this easier to do, GitHub user polygon has authored a Python program called Spectrum Painter which easily converts an image into an IQ file which can be transmitted with a HackRF. In addition as described in the Reddit thread linked above, a Windows program called Coagula can also be used to convert images into .wav files, which can then be transmitted on any capable radio. The RF painted images can then be received on another SDR radio like the RTL-SDR.

HackRF, the rad10 badge, and bladeRF all have software that enables you to directly load up and play out a file over the radio interface; it’s like a WAV file, only at radio frequency. This makes a hack like Spectrum Painter pretty straightforward. Simply convert the image file into the corresponding radio waveform data, and send it along. No GUI, no dragging, no dropping.

$img2iqstream -s 1000000 -l 0.004 -o smiley.iqhackrf –format hackrf examples/smiley.png
$hackrf_transfer -t smiley.iqhackrf -f 2450000000 -b 1750000 -s 1000000 -x 20 -a 1