Show HN: I turned algae into a bio-altimeter and put it on a weather balloon

radi8.dev

81 points by radeeyate 4 days ago

Hi HN - My name is Andrew, and I'm a high school student.

This is a write-up on StratoSpore, a payload I designed and launched to the stratosphere. The goal was to test if we could estimate physical altitude based on algae fluorescence (using a lightweight ML model trained on the sensor data).

The blog post covers the full engineering mess/process, including:

- The Hardware: Designing PCBs for the AS7263 spectral sensor and Pi Zero 2 W.

-The biological altimeter: How I tried to correlate biological stress (fluorescence) with altitude.

- The Communications: A custom lossy compression algorithm I wrote to smash 1080p images down to 18x10 pixels so I could transmit them over LoRA (915 Mhz) in semi-real-time.

The payload is currently lost in a forest, but the telemetry data survived. The code and hardware designs are open source on GitHub: https://github.com/radeeyate/stratospore

I'm happy to answer technical questions about the payload, software, or anything else you are curious about! Critique also appreciated!

sbalula 5 hours ago

Congrats on the interesting project! I was curious to know more about the scientific payload: how did you measure the fluorescence? Did you apply excitation light continuously? Or did you rely on ambient light and correct for it when measuring fluorescence? Did you have a control on earth to compensate for any biological related effects? UV and even blue light can stress or even kill cells, or bleach the fluorescence proteins. How do you expect altitude to influence fluorescence? It would be great to look at some data (could not find it on the blog, or github). Acrylic blocks a substancial portion of the UV light!

Edit: Definetely agree with other comment that the whole experience is more important than these details.

  • radeeyate 4 hours ago

    Thank you for the kind words! The fluorescence was originally meant to be measured with an AS7273 spectrometer (unfortunately bought a different one, still worked fine though), and measuring ~680 nm. Certainly not a great setup but it worked fine. Light was ambient through acrylic, and I found out far too late that UV blocking effects. Despite that, I feel like the data is still somewhat valid, maybe. I did do some testing with it back on earth, though I can't remember how it correlated.

    The data I have is here: https://github.com/radeeyate/StratoSpore/blob/main/software/... - just be warned that the altitude data still isn't the exact same as it was while in the air (GPS not working so I had to take it from someone else).

ginkgotree 2 hours ago

This is absurdly impressive. If you have any interest in doing some more flight software work in aerospace / space / missile systems, shoot me an email scott@orcrist.com

nonameiguess 6 hours ago

It's great that opportunities like this exist. Doing a project like this at all is such valuable experience. You must have learned a ton and can take that with you for all future projects. The only real quibble is the experimental setup is not really scientifically valid. UV light on its own kills algae, so you're going to detect a monotonic effect roughly equivalent to the altitude increase assuming a reasonably constant rate of altitude increase just from the cumulative exposure. That's not the same thing as detecting a change purely because of altitude.

Who cares, though? Scientists train for many years to learn the details of experimental methods in their specific domain. The engineering and hacking experience on its own is what really matters here.

rncode 3 hours ago

the 1080p ->> 18x10 pixel compression just to yeet images over LoRA is honestly more impressive than the algae part

  • hdjrudni 3 hours ago

    It's amusing but I'm not sure I understand the point. Wouldn't it be better to use that bandwidth for more sensor data?

    • radeeyate 8 minutes ago

      Image data and telemetry were sent in different messages, so it wasn't too much of a bottleneck. The images were about ~100 bytes while the telemetry was roughly 40.

ihaveajob 5 hours ago

This is so interesting. I have nothing to add, other than congratulations, and good luck on your next project.