Long Distance Balloon Tracking

After I did the 100,00ft balloon photography, I wanted to make further use of the APRS radio transmission tracking technology.


I became interested in “Pico” balloons, which I’d seen references to, which consist of:

  • A small battery-powered “tracker” flight computer
  • A small balloon
  • Time and distance tracking


Basically, how far can you get a balloon to travel, and track it?  Max distance so far is 1,200 miles!


I had to re-implement some of the radio transmission tech, fit a smaller PCB footprint, and re-imagine the software to conserve power and expect to fly long distances.


I have many complete flights logged here, along with my father: https://sites.google.com/view/pico-balloons

This isn’t a one-off project, these get launched every so often for fun.  No end date set.


This turned into another many-months-long project of R&D, followed now by a very repeatable build-and-launch process.  I will be glazing over most details!


The flight computer can run for over a month on 2 AAA batteries and is able to transmit a radio APRS message 150 miles.


The flight computer:


The balloon with a flight computer suspended beneath it.


Path of the longest run so far (1,200 miles):




Power conservation (microamps)

Voltage regulator

GPS, Geofencing


PCB  Fabrication

SMD Parts/Soldering

Radio TX modules, 2FSK modulation



Balloon selection, buoyancy



Research and Build

Unlike my prior flight computer, this one had to be small (lightweight), so SMD became the focus.


I bought SMD versions of my microcontroller and many other passive/active parts.  Learned a lot about how to solder and rework these boards and SMD.


Studying the interface for the RF module (RF4463PRO) was difficult, and implementation was difficult.  I generated (link) a lot of the interfaces and controls since it involves a lot of shuffling around of bits/bytes in structures.

Once working, this was a very versatile RF module which can be commanded to work across many frequencies.  I’m able to get APRS signal reception at around 150 miles.


Lots of time was spent working out what makes a balloon rise and float instead of rise and pop.  Ultimately mylar balloons were selected since they resist stretching and ultimately rupturing.

The idea is helium gas inside gradually expands to fill the inner balloon chamber, but the mylar won’t stretch, therefore the displaced atmosphere ultimately stops increasing (at the cost of internal balloon pressure), and the balloon ultimately floats without continuing to rise.

Tested the internal pressure limits on the balloons by controlling a pump and monitoring pressure in the feed hose.


Did research on gas leakage rate over time


To reduce weight I was able to use straight pieces of wire for antennas.  For both GPS and APRS frequencies, I constructed a 1/4-wave dipole from spools of wire.


Did tests in the window, in view of GPS satellites.



Low Power and Operational Cycle

In pursuit of long-life (on batteries), low-power modes were used on all modules.  Current draw was in microamps.

However, the need to regularly wake up, check location, and send an APRS message via RF persisted.


The scheme was:

  • Sleep
  • Wake up every <x> interval
    • Get a GPS fix
    • If over land where a tower will receive you
      • Determine APRS frequency in this region
      • Send APRS message with telemetry
    • Otherwise do nothing
  • Sleep

Above, sleeping is going into a suspended low power mode.


Two aspects of the above require knowing not just your location, but properties about your location.

Those properties are:

  • Am I over land near radio towers
  • The APRS RF frequency in use in this area


To answer the above, I implemented a scheme to store this information against broad swaths of the map.


Geographic data

I need to know:

  • What GPS regions are over land with radio towers
  • What APRS frequency is in use in this area


To store that information succinctly (Atmega328P has 2k RAM), I outlined regions of interest and stored the coordinates of the bounding box.  At runtime, the program determines if the current GPS location is within any of the bounding boxes.

If you’re not in one of the bounding boxes, you’re not over land.

If you’re in the box, you also know the APRS RF frequency to use.

Here is the map.  Ignore the red boxes.  The more precise country/region boxes indicate tower density.



New Toys

SMD breakout interface for Atmega328P

Hot air rework station

Heat Sealer

220 cubic feet of helium



PCB Layout

The green parts are:

1 – RF4463PRO Radio Transmitter module

2 – Programming pins

3 – Atmega328P microcontroller

4 – UBlox GPS module

5&6 – TPS61201 3.3v power regulator modules






Main file here (link)

Supporting libraries under here (link)




See more here: https://sites.google.com/view/pico-balloons