Testing Altitude Proof of Concept

A project log for Water Bottle Rocket Science Kit

A modular STEM kit (for youth and adults) built around Water Bottle Rockets

Darian JohnsonDarian Johnson 05/07/2019 at 21:120 Comments

Last weekend, I decided to build a simple proof of concept that:

The Build

Altitude Monitor

I decided to use an Adafruit nRF52 Bluefruit LE Feather as the BLE and MCU for the PoC. My rationale was that it expect to use a similar System on Chip device for the final product.

 All of the components used for the PoC test are Adafruit products (wishlist here-> 


I used a 3D printed nose code and wings from the US Water Rockets website. I used a 73 mm diameter 1 liter bottle for the body of my rocket.


Finally, I built a makeshift launcher using:

Instructions to assemble the cork, needle, and pump can be found here:

Note: This is not an optimal launching solution, as the rocket will launch before adequate pressure is built. For this flight, I was only testing recording altitude, so I didn't care about getting a lot of "air"

The Flights

Going in, I knew there were going to be a few problems:

Given all that, I was able to get 5 test runs in before I destroyed all my nose cones. This was enough to validate the proof of concept. Each flight was about 2 seconds, and I was able to record altitude every 300 ms. In addition, I was able to send the peak altitude to by phone via BLE.

Time (ms)Altitude (m)


The current PoC can accurately indicate top altitude, but the data increments (300 ms) is wider that I would like. 

The SD card did eject on landing, so either we have to make the landing more stable or move to SPI flash (and sync data via BLE).

I also have a problem in that I am not able to start the test at launch (primarily because I start recording data, then I start pumping, and the rocket launches whenever the pressure imbalance forces the cork out).  To fix this, I need to hold the rocket in place, achieve the designated pressure, then start the measurements at the same time of the launch, with smaller data increments.

Next Steps