Model Rocketry Update

For the past many years I've been dabbling in model rocketry. It started when I was a kid, launching Estes kits with my dad. When I was an adult, I started experimenting with embedding pen cameras in the payload to get a rocket's eye view. Multiple stage rockets also really interested me. However, I always ended up losing rockets due to poor choice of launch area and unstable designs.

Ideal Conditions

Last year, I took a few rockets out to the Bonneville Salt Flats. I launched four different rockets, including two of my own design, and was able to successfully retrieve them all, minus a few nose cones. The conditions out at the salt flats is incredibly ideal, nothing around for miles and thick, flat sand that can be driven on.

One launch was a two-stage E engine rocket, my first of this kind, and I was incredibly surprised to recover the fuselage about a mile away from the launch site. The distance was mainly due to the parachute and nose cone coming apart from the fuselage, but I was impressed with how easy it was to track the rocket over such a distance.

After so many lost rockets prior to this experience, I was feeling more and more confident about building a more complex and interesting rocket.


After my trip to the Salt Flats, about a year ago, I started work on my first non-trivial Arduino application: a payload containing sensors and a transmitter, and a handset that received the telemetry. The handset uses a touchscreen LCD to display and interact with data received from the rocket. The transceivers I'm using use 433MHz, which in basic line-of-sight testing work up to 500 feet.

Over time, the payload became more and more sophisticated. It now contains a GPS sensor, two temperature sensors, two sets of accelerometer/magnetometer/gyroscopes, a non-volatile FRAM storage device, and an on-board battery controller. This information is gathered as often as possible, and transmitted about 20 times per second.

By about winter, I felt the design had stabilized and I was ready for testing. I designed a test rocket using OpenRocket and played with the engine set up until I was reasonably comfortable with launching it. Now to wait for decent launching weather...

Test Launch

Today, I finally launched the test design. The total rocket weight with engines was only about 250 grams. Using a single B6-0 engine would ensure the rocket didn't get much higher than 50 feet, if even that. I was able to launch twice with this setup, though both times had parachute related failures. The first launch had no chute deployment, the second saw two chute lines break. Both flights ended with the payload section hitting the ground pretty hard.

Payload section (and damage)

Payload section exploded

Not too bad. The transceiver continued transmitting throughout both flights, though I still need to work on tooling for retrieving and doing useful stuff with the data.

Until next time, here's a boring video of the second launch.



No comments yet! Say something.



Dynamic DNS with homedns

I found myself needing a way to update a Linode DNS A record with the public IP of some of my systems. This is a simple task that I'm sure has been solved the world over, but an excuse to write Go is hard to pass up. So, I wrote a tool called homedns.

homdns is a cross-platform utility that retrieves the system's public IP address and updates the specified Linode DNS A record for the specified domain. If the record exists and is already the correct IP, homedns won't bother doing anything. Set up a cronjob to run it regularly to keep easy access to your various machines. Since it doesn't depend on any external libraries, only Go packages, it can run on just about every platform.

Download homedns and give it a try.



No comments yet! Say something.