APRS

For tracking the balloon, I decided to use APRS. In a nutshell, my tracker learns its position from GPS, and broadcasts it on 144.39MHz (APRS) frequency. There are many APRS stations, maintained by radio amateurs and universities, which receive APRS position reports and publish them on the Internet. All I have to do is relax and watch balloon’s path on aprs.fi or spacenear.us website.

HAB-1 used Byonics high-altitude GPS receiver and 400mW APRS transmitter. It was powered from 8xAA battery holder.

Byonics APRS with GPS and battery pack

Byonics APRS with GPS and battery pack

Transmitter was configured with:

  • My call sign
  • Rate once per minute
  • Transmit altitude along with latitude/longitude
  • Keep broadcasting coordinates even if GPS loses reception
  • My email address (for everyone curious)
  • Balloon symbol (obviously) for identification
Byonics MT-400 Configuration

Byonics MT-400 Configuration

While balloon is in-flight, signal from its APRS tracker propagates for hundreds of miles – there is line-of-sight visibility between the tracker and ground stations. However, as the balloon descends to a low altitude, hills, buildings and trees interfere with signal propagation, reducing its travel distance from hundreds of miles to a just a mile or two. As a result, after landing, signal from HAB-1 tracker may not be heard by APRS stations. Locating payload after landing becomes a two-step process:

  1. Track balloon in-flight on aprs.fi
  2. Drive to the last known coordinates
  3. Use hand-held APRS radio to get landing location

For last step, I used Yaesu radio to receive transmissions and iPhone with PocketPacket app to decode the data:

APRS setup for last-mile payload location

Similarly, my backup plan was to use Baofeng radio with Android phone and APRSDroid app.

If you don’t care about APRS troubleshooting, skip right to the Next >> page.

 APRS troubleshooting

APRS transmits data at 1200bps, using 2200Hz frequency for binary “0” and 1200Hz for binary “1”. When I tune my Yaesu radio to 144.39MHz, and plug oscilloscope into its speaker output, waveforms of zeros and ones look like this:

APRS waveform for 1200Hz and 2200Hz

APRS waveform for 1200Hz and 2200Hz

If I wait a minute for my APRS tracker to transmit a packet, then radio will output a waveform where “zeros” and “ones” are clearly distinguishable:

Waveform of APRS transmission

Waveform of APRS transmission

If waveform looks like this, you know there is a problem!

Waveform of bad APRS transmission

Waveform of bad APRS transmission

In absence of oscilloscope, one can simply record the signal on iPhone or Android and analyze it in poor man’s oscilloscope – Audacity:

  1. Download an voice recorder app – like this one or similar
  2. Set up recording to WAVE format (.wav) with high quality (44KHz sampling rate)
  3. Connect your radio to iPhone with an audio cable
  4. Tune the radio to 144.39MHz frequency
  5. Start recording
  6. Wait for APRS tracker to send a transmission
  7. Copy .WAV file recording to your PC
  8. Open recording with Audacity
  9. Zoom in – real close!

Recorded waveform of APRS transmission should look like this:

APRS waveform in Audacity

APRS waveform in Audacity

and not like this:

APRS waveform in Audacity - not good

APRS waveform in Audacity – not good

Audio cables

Connecting a HAM radio to iPhone or Android phone is not as simple as it might sound at first. Here are audio cables that I built for Yaesu VX-3R and Baofeng UV-5R transceivers connecting to iPhone 4S or Android Nexus 5:

 Transceiver settings

If iPhone or Android receives APRS transmissions, but still is not able to decode them, the problem could lie in radio settings.

Modern radios implement power-saving feature: its receiver wakes up just a few times per second, checks for signal, and and keeps receiving if signal is present, otherwise it goes back to sleep. Since wake-up rate is low, receiver is likely to wake up half way through APRS transmission: first part of the packet gets lost, and PocketPacket/APRSDroid can not decode it. Solution – disable power-saving features (and bring more batteries).

  • Setting for Yaesu VX-3R: Receive Battery Saver [72] = OFF
  • Setting for Baofeng UV-5R: Battery Saver [SAVE]  = OFF, Squelch Level [SQL] = 0