Balloon Telemetry Analysis

2 years of U4B pico balloon board temperature data (Jan 2024 - Jan 2026)

- Balloon Flights
199 Unique Callsigns
- Temperature Readings
- Coldest Board Temp
- Avg Board Temp
- Day/Night Swing
1% Night Readings
- Avg Altitude
- Avg Speed
8.8 days Median Flight Time
723 days Longest Flight
131 Flights 30+ Days
28 Flights Under 2 Days

Board Temp by Altitude

Battery Voltage Over 24 Hours

Solar-only trackers shut down at night (gaps). Always-on trackers show the full voltage swing.

Board Temp by Latitude Zone

Scatter: Board Temp vs Altitude

Global Flight Coverage

Heatmap showing telemetry density from 485 validated balloon flights worldwide.

Flight Duration Distribution

Flight duration distribution for validated balloon flights. Based on 485 flights from 199 callsigns.

Hardware Design Parameters

Based on temperature data from 485 validated balloon flights. Percentiles (5th/95th) are recommended over min/max for design targets.

Parameter Value Notes

Download Raw Data

Download the complete SQLite database (504 MB, compressed to 98 MB) for your own analysis.

gunzip parameter_finder.db.gz

Then query with SQLite, Python, R, or any tool that supports SQLite.

Download Database (98 MB)

About This Data

Board Temperature, Not Ambient

These are PCB measurements, not ambient air temperature. U4B trackers use an LM75 sensor on the board. At 12km altitude, ambient air is around -50°C to -60°C, but the board reads warmer due to solar heating and self-heating from electronics (~20-30°C above ambient).

Sampling Bias

Every reading includes self-heating - we only get data when the MCU is running. Most trackers are solar-powered, so only 1% of readings are at night. Night readings average -30°C vs day at -12°C (~18°C swing).

Data Sparsity

Average: ~8 temperature readings per flight. Successful telemetry requires matching two separate WSPR slots heard by a common receiver. Only 25% of transmissions have decoded temperature. Data represents sparse spot-checks, not continuous monitoring.

Data Source

Telemetry from U4B pico balloon trackers collected via wspr.live (January 2024 - January 2026). U4B encodes temps from -50°C to +39°C; we correct wrapped readings using physics-based thresholds.

Value Wrapping (Data Quality)

U4B trackers wrap values when they exceed encoding limits, while Traquito trackers flatline. For example, a temperature above +39°C wraps to -50°C, and voltage above 4.95V wraps to 3.0V. This affects min/max statistics but has minimal impact on averages and percentiles.

Our approach: We use 5th/95th percentiles instead of min/max for design parameters. We detect and correct obvious temperature wraps using physics-based rules. Thanks to Kevin AD6Z for documenting these tracker behaviors.

Data Validation Protocol

The Problem

Raw WSPR telemetry contains many false positives. Our initial processing found ~27,000 "flights" from ~3,400 "operators" - wildly inflated compared to community estimates of ~200 active operators. This included ground stations, false telemetry matches, and noise.

The Solution: Confidence Scoring

Each flight receives a confidence score (0-100) based on multiple heuristics. Only flights scoring 60+ are included in statistics.

Feature Points Criteria
Movement 40 max 10+ grids (+20), 500+ km distance (+10), speed 50-150 km/h (+10)
Altitude 30 max Median 8+ km (+20), has cruise phase with 2+ readings (+10)
Temporal 20 max Duration 1+ day (+10), 5+ readings (+10)
Penalties variable Teleportation (-20), no movement at altitude (-40), ground station pattern (-25)

Key Insight

Real balloons at cruise altitude move. A flight showing 10+ km altitude but only 1-2 grids is physically impossible - the telemetry is being incorrectly matched. Ground stations transmit hundreds of times per day from the same location but pick up false altitude readings from telemetry slot collisions.

Validation Results

Before Validation ~27,000 flights ~3,400 callsigns
After Validation 485 flights 199 callsigns

Ground Truth Testing

We validated against Kevin AD6Z's list of 158 confirmed balloon callsigns and manually verified known non-balloons:

Flight Duration (Validated)

Duration measured from first to last reading at cruise altitude (≥8km):

Validated flights show much better survival: median 8.8 days, average 53 days, max 723 days.

Callsign Normalization

Callsign counts are normalized by stripping portable suffixes (e.g., SP6MPL/4SP6MPL). Note that one operator may use multiple callsigns, so the actual number of individuals is likely lower.

Channel Deduplication

U4B trackers transmit on multiple sub-channels (base channel ± 0-4) and multiple bands simultaneously. Flights are deduplicated by callsign + base channel - the same balloon transmitting on 10m, 15m, and 20m is counted as one flight, not three.

Tracker Type Breakdown

Multiple tracker types exist in the pico balloon community, each with different characteristics:

Tracker Flights Readings Wrapping Notes
Traquito 259 50,186 Flatlines TX power 13 dBm, most common
U4B 232 18,750 Wraps TX power 10 dBm, wraps at boundaries
KC3LBR 17 ~3,500 Wraps TX power 13 dBm but wraps like U4B
WB8ELK/Skytracker - - Flatlines Different protocol (not yet classified)

Wrapping behavior: U4B trackers wrap values when they exceed encoding limits (e.g., temp above +39°C wraps to -50°C). Traquito and Skytracker flatline at boundaries instead. This affects min/max statistics but has minimal impact on averages and percentiles.