I launched a payload to the stratosphere to measure algae fluorescence
Andrew
Home Blog Contact
I launched a payload to the stratosphere to measure algae fluorescence
By Andrew | Nov 18th, 2025 | 7 min reading time
Hi! I’m Andrew. I’m a teenager in high school, and I’ve been programming for the past six years, and have loved computers since. I historically have only programmed, and my first public website was SparkShell, a web development platform aimed at making coding easier for teens. Last year, I got the chance to turn my passion for electronics into something physical - sending a self-designed payload, StratoSpore, to the edge of space, reaching over 100,000 feet, to study how algae reacts to the stratosphere. I was scrolling Instagram Reels last year when I saw something: Design a PCB, and they’d get you the funds. This is where I found Hack Club, a community full of incredibly smart teenagers from all over the world making cool stuff. My time in Hack Club has been truly amazing thus far, and I’m so glad I got involved in it. However, that’s not what I’m going to talk about. Apex Earlier this year (March 2025,) a program was announced called Apex. The premise was simple: design a high altitude balloon payload, and they’d fund your project and fly you out to Boston so you could launch it. This pretty much immediately caught my eye. Hack Club typically runs software development focused programs, and I was excited that I might be able to put to practice the electronics skills I had been practicing. I hadn’t ever done something like this, so I initially had a hard time coming up with ideas of what sort of project I could make. I knew I wanted to do something biology related. Maybe something about how bacteria reacts in low temperatures? I ended up on another idea. My project (StratoSpore) I was looking around for ideas one day when I stumbled upon a science project most high schools do. It’s called bloody chlorophyll, where you get to extract the chlorophyll from leaves, and see a cool effect. A really interesting phenomena happens when you shine black/blue light on it: it glows a vibrant red color, from an otherwise green plant slurry. I tried this out. I ground some leaves from a flower in my house, and extracted the chlorophyll by using isopropyl alcohol and heat. This was the result:
Sort of hard to see in the picture, but it looks really cool in person. I thought this was really interesting, and though it would be interesting to pursue it further. As grinding up lettuce and extracting chlorophyll would kill it, I wanted to try another idea. Could I use algae from the lake in my town as a source of detectable fluorescence? The plan was this: have a test tube of algae on the payload, with an AS7263 spectral sensor attached to it, detecting light in the range of ~680nm. The idea is that the intense UV light and cold at those altitudes would stress the algae, causing a change in fluorescence. Also on the payload would be a Neo 6M GPS module, for detecting altitude and location. My hypothesis was that given a rise in altitude and changes of light, the fluorescence would correlate with altitude. Sort of a “biological sensor.” Electronics Collecting data from sensors is the type of thing that electronics must be designed for. I previously had limited experience designing NFC-based business cards, so this would be a big change with how I previously designed. This project would include microcontrollers, sensors, power regulators, and cameras (more on that later.) This was the mainboard I designed, housing a few power regulators, sensor connections, and the Orpheus Pico, a take on the Raspberry Pi Pico from one of Hack Club’s members. This Pico was a lower-level data collector from sensors, and would eventually connect to a Raspberry Pi Zero 2 W, which finally processed the info, took pictures, and transmitted it over LoRa to a ground station I had. I decided on this tech stack as I was familiar with it, and didn’t want to reinvent the wheel in 3 months. The beautiful PCBs were generously sponsored by OSH Park. I recommend their services if you need really good quality (and purple!) boards from the US. Avoid the tariffs. :)
Camera As I hinted earlier, I wanted to be able to get pictures from the payload. I heard that the views up 100,000 ft in the air were cool - I had to get in on the action. Pictures were taken with the Raspberry Pi Camera Module 2, which could withstand the harsh stratospheric conditions. As I’ll talk about later, I transmitted these images along with telemetry data over LoRa. LoRa, standing for Long Range, has pretty strict limits on the amount of data you could send. To send a picture within a couple hundred bytes, I had to use fairly lossy compression. Here’s a few initial attempts. The initial stock image (not something I actually got from the balloon, just to test):
Here’s a palettized a compressed image:
This was one of the pictures I got down from the balloon. Unfortunately, the payload couldn’t be recovered for full images:
Rather than being the traditional 1080p, this picture is 10p. I also tried training an autoencoder for compression images. It turned out pretty cool, but I ended up not using it.
While it’s been a while since I wrote the compression system, it works a bit like this: reducing resolution to 18x10 pixels, quantizing to a dynamic 4-color palette, bit-packing pixel indices, and applying Zlib compression. If you’re interested in reading the implementation details, I have the code on GitHub. Sorry in advance for the bad code. LoRa I used Adafruit’s LoRa Bonnet with the Pi Zero 2 W to send this data to the ground station, where I collected data. Telemetry and camera pictures were transmitted over LoRa. At this time, I didn’t have my amateur radio license (I do now!), so LoRa was a good option. LoRa works on the license-exempt ISM band in the US (915 Mhz). It can transmit really far on low power (hundreds of kilometers on <500mW), and has a low bar of entry. The hardware is really cheap. To make sure all my telemetry data was in the bounds of the 250 byte limit, I made a custom datapacker to shove as much data into a few bytes as possible. I could fit altitude, time, location, UV index, heating pad temperature, outside temperature, humidity, fluorescence, and Pi & Pico CPU temps/Mem usage - all into 45 bytes. You can read more about the datapacker here. The Launch Flying out to Boston for this event was an amazing opportunity. I had an amazing time, and enjoyed making new friends and seeing the projects. One of my favorite projects from some others was Slushosphere. They were trying to see if the stratosphere could make them a slushy. We drove up to southern New Hampshire the second day, where we launched.
Awesome drone footage, courtesy of Anvay Ajmera.
Some of us went exploring in downtown (??) Boston on the last day. We even saw MIT! Results I ran into some malfunctions and couldn’t get the GPS to work before flight. Other people had GPS data, so I spliced that into my data. I made a machine learning model (a random forest regressor model) to test if my hypothesis would work. My data is a bit lacking in some parts. Unfortunately, the payload cannot be retrieved due to being stuck in a dense forest. Check it out!
The actual altitude change was not linear, so this is a bit flawed, unfortunately. These were some other non-ML graphs I made from my data.
Reflections StratoSpore was one of the most challenging and rewarding projects I’ve worked on. It taught me good lessons on hardware design, environmental testing, data compression under severe constraints, and the logistics of HAB flight. While the payload wasn’t recovered and data wasn’t complete, the experience of iterating on the design, flying to Boston, and meeting the incredible Hack Club community was the real success. Next time, if there is one, I hope to add redundancy for systems like the GPS, and more elaborate radio functionality. Video streaming, maybe? Credits This projects couldn’t have been successful without the help of these people listed:
Sam, for helping with CAD and the initial parts of the project My grandparents, for donating way too much money to help me Hack Club, for sponsoring the first part of my project OSH Park, for the beautiful PCBs and wonderful customer service Sean Wallace, for making the wonderful branding (his first branding in space? :D) And my parents, for putting up with me delaying my school work to do this, and for letting me grow algae in their office. |
Andrew’s Stratospheric Algae Fluorescence Project: A Detailed Summary
This document details the design and execution of a unique stratospheric payload, dubbed StratoSpore, conceived and built by teenager Andrew. The project aimed to investigate the reaction of algae to the extreme conditions of the stratosphere, specifically focusing on fluorescence measurements as a potential bio-sensor. Andrew’s motivation stemmed from a passion for programming sparked by his early work on the website SparkShell, and a desire to translate his electronic skills into a tangible, high-altitude experiment.
The project’s genesis can be traced back to the Apex program, a competition that offered funding and launch opportunities for ambitious high-altitude balloon projects. Andrew initially struggled with the scope of the undertaking, considering projects involving bacterial reactions in low temperatures. However, he was inspired by a familiar science project—extracting chlorophyll from leaves—and the resulting vibrant red fluorescence when illuminated with specific light. This observation fueled his idea to utilize algae, readily available from a local lake, as a measurable source of fluorescence.
The StratoSpore payload was a technologically sophisticated device incorporating several key components. It utilized a Raspberry Pi Pico for low-level data collection from sensors, which then relayed information to a Raspberry Pi Zero 2 W. This Pi Zero was responsible for image processing and data transmission via LoRa. A critical sensor package included an AS7263 spectral sensor designed to detect light in the 680nm range, coinciding with the wavelengths known to excite fluorescence in algae. The payload also incorporated a Neo-6M GPS module for determining altitude and location, and a heating pad to maintain a consistent temperature. Andrew employed a custom datapacker to optimize data transmission, fitting altitude, time, location, UV index, temperature readings, humidity, and fluorescence data into a compressed 45-byte payload, leveraging LoRa’s efficient transmission capabilities.
Camera capabilities were a priority. Andrew used a Raspberry Pi Camera Module 2, a camera designed to withstand harsh conditions, to capture images of the stratospheric environment. Image transmission was constrained by LoRa’s bandwidth limitations making him explore lossy compression techniques. Initial attempts involved a palettized compressed image, and ultimately, a 10x10 pixel image. The final picture was 10p in resolution, highlighting the challenges of data transmission from the high-altitude payload. Attempting to get a high-quality image required sophisticated image compression techniques including reducing resolution, quantizing the color palette with a dynamic 4-color scheme using Zlib compression.
To further investigate the relationship between altitude and fluorescence, Andrew developed a machine learning model utilizing a random forest regressor, however, the data was lacking and the results flawed due to the payload not being retrieved. Despite this, the project offered valuable lessons encompassing hardware design, environmental testing, and the constraints of data compression under extreme conditions.
The launch event, facilitated by the Apex program, took Andrew to Boston, where he connected with the Hack Club community and gained perspective on other innovative projects. While the primary goal of data collection was not fully achieved due to GPS malfunctions, the experience, coupled with the logistical challenges, proved highly valuable. Andrew plans to incorporate redundancy into critical systems like the GPS and potentially explore video streaming opportunities for future iterations.
The StratoSpore project’s success was supported by a dedicated team including Sam, Andrew’s grandparents, the Hack Club community, OSH Park's PCB services, and Sean Wallace's branding expertise. |