Setup Red Pitaya for six HPSDR receivers

Related: Red Pitaya GNURadio image setup


Setup Red Pitaya HPSDR receiver image

  1. format a micro SD card to FAT32 (find the SD card device name from df – be sure you don’t overwrite your hard drive!). Let’s suppose you found via lsblk your SD card is at /dev/mmcblk0:
    umount /dev/mmcblk0
    mkdosfs -F 32 -n HPSDR6rx /dev/mmcblk0        
    
  2. download the latest .img.zip Red Pitaya beta Ubuntu image and then extract to the SD card:
    mount /dev/mmcblk0 /mnt/HPSDR6rx
    unzip -p redpitaya_ubuntu*.img.zip | sudo dd of=/dev/mmcblk0 bs=4M
        
    sync
    
  3. boot the Red Pitaya with this SD card.
  4. Connect to Red Pitaya via Ethernet using SSH (login/password root/root) using Avahi

    or via serial port

  5. Via the web browser Red Pitaya control panel, install Pavel’s six receiver HPSDR app.
  6. on the Red Pitaya add the following to rc.local to auto-start the HPSDR server
    # Start the SDR Receiver compatible with HPSDR at boot time
    cat /opt/redpitaya/www/apps/sdr_receiver_hpsdr/sdr_receiver_hpsdr.bit >/dev/xdevcfg
       
    . /opt/redpitaya/www/apps/sdr_receiver_hpsdr/start.sh
    
  7. reboot the Red Pitaya
Red Pitaya marketplace Pavel Demin HPSDR
Install Pavel Demin six-receiver HPSDR from Red Pitaya marketplace.
Red Pitaya marketplace Pavel Demin HPSDR
Run Pavel Demin six-receiver HPSDR from Red Pitaya marketplace (actually see step #6 to make HPSDR server autostart on boot).

Check HPSDR server

On the Red Pitaya (or via serial/SSH)

ps aux | grep hpsdr

You should see

/opt/redpitaya/www/apps/sdr_receiver_hpsdr/sdr-receiver-hpsdr 1 1 1 1 1 1

Where all the 1’s mean that each receiver is using RX1 SMA connector. You can configure each of the receivers to use RX1 or RX2.

Setup laptop

There are several HPSDR compatible programs on Linux, Mac, Windows.

GNU Radio Companion HPSDR client

apt install gnuradio gr-hpsdr

Note, at the time of this writing, the Ubuntu repository gr-hpsdr is out of date, only supporting 2 Red Pitaya Hermes receivers.

Be sure the default gr-hpsdr works for you, and then consider the current Github:

git clone https://github.com/Tom-McDermott/gr-hpsdr

for the Cmake command, you may need to tell which directory gnuradio-runtime.pc is in to avoid

GnuRadio Runtime required to compile hpsdr

PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig cmake ..

Prereqs you’ll need include

libboost-all-dev
libgsl-dev
libczmq-dev

You can make a block diagram with GNU Radio Companion, using the hermesNB or hermesWB blocks. If it doesn’t work for you, do

make uninstall

note that the version 1.2 of gr-hpsdr didn’t seem to update the connection between Gnu Radio Companion and the modules yet. So I use the top_block.py directly in Python e.g.

python top_block.py

It seems that GNU Radio 3.7.10 is needed as 3.7.9 just hangs waiting for connection. You can use Ubuntu ≥ 17.04 (which has GR 3.7.10 already), or 16.04 (comes with GR 3.7.9 that doesn’t work) if you manually compile GNU Radio 3.7.10. Or Debian/Raspbian Stretch 9 works too.

If you do build your own GNU Radio, be sure to remove the system-installed gnuradio first, or you will have to recompile and that takes a while.

apt remove gnuradio

If you get error

ImportError: libgnuradio-runtime-3.7.10.so.0.0.0: cannot open shared object file: No such file or directory

Ensure that /usr/local/lib is in LD_LIBRARY_PATH by in your ~/.bashrc adding the line

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

Windows

Windows only: OpenHPSDR PowerSDR mRX PS

Linux

git clone https://github.com/n1gp/cudaSDR

apt install qt4-qmake

cd cudaSDR

qmake-qt4

make

Leave a Comment