Sixteen Temperature Readings From Eight Sensors I Soldered

Stratospheric Balloon Telemetry

The payload came back from the bench test with sixteen temperature readings that made no sense.

Not wrong, exactly. Just offset. The external thermocouples read -18°C when the freezer said -18°C, which was fine. But the internal ones—mounted near the GPS module, near the transmitter, near the battery pack—showed a 3°C spread when they should have been identical. All four sensors in the same insulated box, all reading different numbers.

It took an hour of probing with the multimeter before I found it: every solder joint between the thermocouple wire and the PCB was generating its own tiny voltage. Tin-copper junctions. The same dissimilar-metal physics I’d just spent a week exploiting to measure heat gradients in lace was now corrupting every signal in the payload. The sensor I wanted and the sensor I didn’t want were the same device.

At room temperature this doesn’t matter—maybe 50 microvolts of error, lost in the noise. But at altitude, when the GPS module is radiating 150 milliwatts into vacuum and running 20°C hot while the payload shell sits at -60°C, that 80-degree gradient across two centimetres of PCB trace generates measurable thermoelectric EMF. Every connector. Every crimp terminal. Every via.

The engineering problem I thought I had was data compression—eight thermocouples producing sixteen readings per second, and APRS gives me forty bytes every minute to work with. Delta encoding, logarithmic quantization, all the clever tricks to fit meaningful data into the telemetry packet.

The actual problem is that I’m trying to measure millivolt signals in a system where every joint is a millivolt noise source, and the noise sources move around as the sun angle changes and the payload tumbles.

Cold-junction compensation ICs assume the reference is somewhere between 0°C and 50°C. They’re designed for industrial environments, not stratospheric ones. At -60°C external, -40°C internal, the lookup tables break down. You can add an RTD to measure the actual cold junction temperature, but that’s another sensor to read, another two bytes in the packet, and it doesn’t fix the problem that your ground plane has a 70-degree thermal gradient across it.

I’ve been thinking about that first flight back in January, ordering parts at 2:47 AM because the physics seemed straightforward. APRS telemetry, GPS, a balloon that rises until it bursts. The recovery from Dwight’s slough taught me about prediction drift and line-of-sight. But this—this is different.

The lesson isn’t about better sensors or more bandwidth. It’s that at altitude, in vacuum, with a hundred-degree temperature swing between sun and shadow, the entire payload becomes a distributed thermocouple array whether you design it to be one or not. Every wire is a sensor. Every mechanical joint is a measurement point. The question isn’t how to add temperature sensing—it’s how to stop sensing temperature everywhere you don’t want to.

Maybe the answer is accepting that you can’t measure clean atmospheric temperature with a payload that’s simultaneously a radio transmitter, a GPS receiver, and a battery heater. Maybe you measure the chaos instead—the radiative environment, the self-heating, the differential between what a sensor thinks it’s reading and what the physics says should be there.

Or maybe you just solder everything with the same alloy and hope for the best.