In the fall of my sophomore year, I took a half-credit engineering design class, in which the sole objective was to build a rocket payload equipped with multiple environmental sensors and datalogging capabilities. As project manager, I led a group of five other students in designing the Rocket components, and we launched it in January 2018. An Arduino controlled environmental sensors, including an accelerometer, Geiger Counter, and pressure sensor. We also installed a camera and GPS module to track the rocket's flight path. Check out our design process below, and let me know what you think! (All sketches are mine unless expressly stated)


Initial planning involved mapping out every inch of space in the payload. We had to fit an Arduino, battery pack, multiple sensors, wiring, a Geiger counter, and a GPS module all within a 4" diameter x 10.5" length tube.

Pressure Nosecone

Image courtesy of Dr. Twiss

Pressure Sensor Design

In order to measure airspeed, we implemented a differential pressure speedometer, also known as a Pitot Tube. In a Pitot Tube, pressure is measured at the front tip of the rocket, where pressure is higher due to incoming air, and on the side of the rocket, where pressure is not affected by airspeed. As shown in the image on the left, we had to drill and tap a custom hole in our rocket's nosecone. Below, check out some calculations I did for converting the raw differential pressure reading to a value for velocity.


And if you'd like, read more about Pitot Tubes here



This project involved a lot of long hours in Duke's Innovation Co-Lab, a little bit of rocket surgery, and copious amounts of steel weld epoxy. Duke gave us a budget of $1000 to spend on whatever components we needed. We were also given some standard components to start with, such as a payload sled and body tube, but it turned out that we had to custom-build most of those anyway. One of the first major roadblocks was boring a hole through our nosecone, which isn't exactly the friendliest shape for a milling machine. We decided to 3D-print custom clamps for our nosecone so that it would stay still during milling. They worked great, and we ended up with a nice big hole in our rocket. Click on the images below to see more:

More fabrication photos, click to read more:


I had no idea how Arduino worked before this project, nor did i have any clue where to begin learning. I decided to read up on every article I could regarding the subject, and it took me a few weeks before I was even ready to start building. The Arduino controlled all readings from sensors, many of which did not come with libraries, so I had to write code to manually extract data. I also included writing to an SD card, as well as a clever acceleration "trigger-switch", which would limit data collection to begin only after a certain acceleration was reached during liftoff. GPS was monitored separately, in a standalone module that can be found here.


Take a look at my code, and let me know any comments or suggestions you might have! I'm still a bit of an Arduino novice, so I'm always open to learning more.

Launch Day

We launched our rocket in January 2018, after a semester's worth of work. In all, I put in around 100 hours for this project, and my team and I are really proud of how it turned out. Click through some of the images from launch day, and watch our rocket's launch video from the onboard camera! And don't hesitate to reach out if you have any questions, comments, or suggestions for the future.

Last minute rocket surgery – definitely not recommended

Final Assembly and preparation for launch. If you look closely, you can see that we added a few decorations based on this graphic from Spacex's Falcon 9

Post launch

  • Twitter

© 2023 by Ben Edelstein