
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.
