SARC1 High Altitude Balloon - SARCNET

School Amateur Radio Club Network
School Amateur Radio Club Network
School Amateur Radio Club Network
School Amateur Radio Club Network
Go to content
SARC1 - High Altitude Balloon
This project is a High Altitude Balloon (HAB) carrying an Amateur Radio payload, which can be tracked for hundreds of kilometres.

Codenamed "SARC1" it comprises a high-power (500mW), UHF FM payload, designed to be sent aloft by a helium-filled, 90cm, mylar party balloon. Its inaugural flight was entered into the 2016 Global Space Balloon Challenge (GSBC). The GSBC is “Where people around the world simultaneously fly high altitude balloons, celebrating an age where anyone can reach the edge of space”. Sadly, the GSBC has shut down in 2020.


2016 Global Space Balloon Challenge Entries
SARC1 Launch - Anzac Day Special Amateur Radio Event

SARC1 launch on ANZAC Day at Victory Park, Bentleigh
SARC1 Launch Configuration
SARCNET's 2016 GSBC Entry Details:
HAB Group: School Amateur Radio Club Network
HAB Project: ANZAC Day Special Amateur Radio Event
Balloon type: Qualatex 12683. 90cm Microfoil.
Balloon expected cruising altitude: 9000m
CASA approval: In accordance with CASR 1998 101.E—Small unmanned free balloon. Not required.
Glen Eira City Council Permit under Local Law 314. Not required.
Launch location: Victory Park, 21 Patterson St Bentleigh, Victoria, Australia (lat: -37.924251 lon: 145.030917)
Launch date: 10:30am (0030UTC) Monday 25 April 2016
SARC1 Payload Configuration:
Radio Frequency: 434.650MHz
Radio Antenna Polarization: Vertical
Radio Modulation Mode: FM
Telemetry Mode: BPSK31
Telemetry Frequency: 1255Hz
Payload callsign: VK3YSP
Payload name: SARC1
Payload type: Telemetry only
Payload weight: 50g
Polystyrene enclosure: 120mm polystyrene sphere
Payload battery: 3 x Energizer Lithium Ultimate L92 AAA
SARC1 Payload Configuration:
GPS type: Ublox NEO 6MV2
GPS dynamic model: Airborne < 1g
GPS max altitude: 50,000m
GPS antenna: UHF dipole
Payload temperature sensor: LM35  
Payload CPU: 16MHz/5V Pro Micro
Payload transceiver: DORJI DRA818U
Payload antenna. UHF dipole
Payload frame rate: 1/min
Payload RF output power: 500mW
Payload min operating voltage: 2.7V
Payload endurance: 6.5 hours

SARC1 Payload

SARC1 Pictorial Schematic

SARC1 Telemetry

SARC1 Decoding and Uploading Telemetry
SARC1 Flight Profile

SARC1 Flight Track on HABHUB

SARC1 Telemetry Report
SARC1 Design Notes
BPSK31 Encoding
  1. First encode text using Varicode
  2. Then send code at 31.25 baud using Binary Phase Shift Keying
  3. Send 1 with no phase reversal. Send 0 with a cosine-modulated phase reversal.
  4. Phase changes occur at minimum level to avoid phase “clicks”

  • Invented by Peter Martinez G3PLX
  • Based on Morse code!
  • Variable length code up to 12 bits
  • Common characters have shorter codes
  • Each character starts with 1 and ends with 00

    101100 100     101111100    11100 10110100  1100
    A      <SPACE> C            O     D         E
Arduino Waveform Generation
  • Create a lookup table of waveform values
  • Setup a hardware timer to generate a phase-correct PWM square wave at the waveform sample rate.
  • Use the timer’s overflow Interrupt Service Routine to load a new waveform value from the lookup table into the PWM generator at the end of each PWM cycle.
  • Use a Band Pass Filter to filter the PWM output.

  • Use a spreadsheet to create the waveform and the equivalent hexadecimal values for the lookup table.
  • It was decided to use 1000 samples to represent a single BPSK31 symbol for low phase noise.
  • There were 4 possible solutions to generate the required 31250 samples per second from a 16MHz Arduino clock.
  • They resulted in possible tone frequencies of 1250, 625, 781.25 and 1562.5Hz. The first, 1250Hz, was chosen.
  • The BPSK31 waveform for "0" is a cosine-modulated sinewave.
    • Only the first-half of the wavefor is required to be saved in the lookup table. The second-half is a mirror image.
    • =COS(2*PI()*Sample/Samples per cycle/Cycles per symbol/2)*SIN(2*PI()*MOD(Sample,Samples per cycle)/Samples per cycle)
  • The BPSK31 waveform for "1" is an unmodulated sinewave.
    • To save space, it is approximated by the first cycle of the cosine-modulated sinewave as shown in blue below.
  • The spreadsheet calulates the floating point value for each sample, with the byte and hex equivalent.
  • Only the first cycle (25 samples) is show.
  • The second set of figures shows the values for an unmodulated sinewave. There is only 1 bit diffenence, in sample 24.
  • The resulting BPSK31 lookup table takes up 500 bytes.

Back to content