SDR/HackRF One: Mac Setup and Basics
By Jeff Thompson
Helpful instructions for gnuradio installation using macports, as well.
Note: If gnuradio will not import into python. Try selecting python27 as the macports default:
sudo port select python python27
Flying over the South coast of Greenland
Igloos on the Air
Operating the 2016 ARRL DX CW contest from inside an igloo at the summit of Witt Hill in Norway, Maine.
You can see the dipole feedline entering the air hole near the top right of the igloo – in the above photo.
Inside the igloo, the rig is balanced on a board, supported by plastic storage containers. I ran full power, 100 watts, from an IC-7300, using Bioenno LiFePo batteries. The temperature inside stays a few degrees above zero Celsius. I thought the rig would help heat up the igloo, but instead had to rely on wool blankets.
All of the gear was pulled up on sleds using human power.
About 3 feet of snow fell in the week before the contest.
Results: KA1IS – 40 meters SOSB LP claimed score: 86,286 (394 QSO’s + 73 countries)
With CubicSDR, HAMLIB, and Max
CubicSDR uses the SoapySDR library as generic tool for extracting realtime IQ data streams from common SDR devices. It also provides TCP external frequency control using HAMLIB.
Although its not the main purpose of CubicSDR, the IQ streaming capability will connect SDR devices to Max, Pd, and other DSP platforms, to build experimental radios. All without building external objects or hardware device drivers. The convenience of using CubicSDR for this purpose far outweighs the overhead.
A prototype with Max and rtl_sdr
How to use CubicSDR as a front-end for SDR experiments in Max.
The signal path for this test is:
- NooElec HAM IT UP upconverter
- rtl-sdr dongle
- Soundflower (or a “loop-backed” external audio device)
Running in the other direction, the frequency control path is:
- netcat running in Mac OS X terminal (or a Max patch that sends TCP)
- rigctld (hamlib TCP server)
- rtl-sdr dongle
There’s a lot of stuff going on here, so the choice to use hardware audio routing instead of Soundflower and netcat instead of TCP in Max, is an effort toward simplicity.
- Plug in the rtl-sdr before launching CubicSDR, so it will be discovered on the setup screen
- On the main display, click just to the right of the mode buttons to bring up a drop down menu of audio devices
- select I/Q mode
- select the audio device, or Soundflower, that you will use to route audio to Max
- If using an upconverter, set the ‘frequency offset’ in the settings menu (e.g. -125000000)
- click on any of the frequency digits, press space, and enter in the same frequency as the Center Frequency (e.g., 7000000)
- click the ‘V’ to the left of the frequency digits, to select ‘delta lock mode’. This causes the frequency and center frequency to sync.
- Be careful not to click anywhere in the waterfall window – or this will mess up the sync
- Under Rig Control menu:
- Select “Hamlib NET rigctl” as the model
- Enter localhost:4532 as the control port
- Select 57600 as the serial rate
- Make sure that “follow rig” and “floating center” are checked
- ‘Check’ ‘enable rig’. If it doesn’t stay checked, then there is a problem with the connection.
- Under the Audio sample rate menu, select the correct sample rate for your audio device (e.g. 96k)
TCP and rigctld settings
For this test, you can use any of the MaxSDR tutorials available at https://github.com/tkzic/maxradio but I chose to use the main program, currently maxsdr7a.maxpat. The key is to choose the default audio input device and set it to be the same as what is coming out of CubicSDR. I used a stereo patch cord to connect the line output of my Apollo Twin interface to the input jacks – but you can also use Soundflower.
- Set the audio input device to match CubicSDR, as described above. Also match the sample rate (e.g., 96k)
- Set the audio output device to your internal soundcard/speakers
- You may need to toggle the flip IQ button
- Start audio and recall preset 1 or some normal settings for SSB
- It should be receiving I/Q data now from Cubic SDR
Installing Hamlib: http://reactivemusic.net/?p=19402
Installing CubicSDR: https://github.com/cjcliffe/CubicSDR/releases
Supported SDR devices: http://reactivemusic.net/?p=19746
I had some success using the Max TCP external described at the Installing Hamlib link above, but temporarily abandoned it due to some latency and dropouts.
Local version of this patch is: tcpClient-small2.maxpat
- hardware (i.e., MIDI controller) control of frequency – and refinement of Max TCP patch. Can likely re-use the patch from the remote radio project.
- Convert to PD : TCP/IP code is builtin
- Consider forking CubicSDR and adding direct MIDI/OSC control of UI.
Six new releases from Schwwaaa
Produced by Christopher Konopka
A 2016 collaboration of Christopher Konopka (analog video synthesis, audio sampling, analog audio synthesis) and Tom Zicarelli (shortwave radio, audio synthesis, and saxophone). Here’s track one: