Introduction: Rockit: 3D-Printed Model Rocket Construction Kit

About: As a programmer and a maker, I love building things. I share my creations to inspire other folks to get out there and build.

I loved building model rockets growing up, but if I had to be honest, I was pretty terrible at it. I would use the tools that I knew and had off hand. I built a few with a hot glue gun, but the fins would always detach mid-flight. If they did hang on, they were usually poorly aligned, and this made for some interesting flights. I never really cared much about aesthetics either, and I would spray paint the living hell out out of it with lots of gold, silver, and black. But I got better, had fun, and grew out of it.

Fast forward to now when I’m lucky enough to own an in-house 3D printer. I’ve printed a bunch of stuff, most of it was bad. I wanted to try to print more useful things, and what I learned is the more complicated the part, the more important it is to be able to configure it based on the needs of the user and the method of manufacture. There are lots of great online resources that offer free, useful, downloadable models, but most of the models are provided as .STL files, which makes them too low in the render chain to manipulate and change effectively. Designing in CAD is great, but these systems tend to be heavy-weight and have flexibility issues. This toolkit is an experiment to see what can be made using light-weight, freely available tools. As a lark, I selected model rockets, never expecting it to work very well. I was totally wrong, this method works incredibly well, and with this process you can print accurate, complete, and customizable model rockets.

With a little programming know-how, you can use this project to define your own model rocket, and print it. Depending on your printer and how you print your rocket parts, you can print a complete rocket in under two hours. All you have to do is is snap it together, add an engine, and off you go.

These rockets are experimental. It is extremely important that you proceed safely and with the correct supervision. Experimental rockets are dangerous and they can maim or kill you or the ones you love. Please proceed with caution.

Model Rocket Safety Code

Step 1: Materials

  • Python: The framework is written in python. It’s published over at GitHub, and I welcome pull requests.
  • OpenSCAD: This is a free, useful programming language that makes it easy to transform programmatically defined models into 3D models appropriate to use for manufacture. Rockit uses SCAD to automatically transform your rocket configuration into .STL files.
  • 3D printer: I have only tested this with my ultimaker 2. If you don’t have access to one, you can also order your rocket parts from an online print shop.
  • Rocket Engines: You can purchase engines these from most hobby shops online. It’s important to configure and size your rocket based on the engine size. Many of the the rocket’s dimensions are automatically calculated based on the engine’s physical size.
  • Launch system: Launch pad, rocket igniters, electric launch controller. You can tweak the rocket’s launch lug size and configuration.
  • Open Space: It is important you launch your rockets in a wide open space, and make sure you and your loved one’s are safely away from the launch area. Expect rocket’s to do unexpected things, especially if you try repeated launches. Always inspect recovered rocket’s for damage after recovery, do not relaunch damaged rockets.

Step 2: Software Installation

Follow the installation instructions posted on the rockit wiki. It will step you through downloading the python package and installing it on your computer.

Step 3: Build Your Parts

Building your first rocket is easy. The package ships with a number of pre-defined templates that you can use to get started with. Let's run the atlas command, and make the parts for a rocket that accepts a mini-sized engine.

atlas -t mini -p -s

This command will generate .STL and .PNG files for the various parts of the rocket. You can use these .STL files to print on a 3D printer. You can read more about building rockets over at the rockit wiki.

Step 4: Tail Configuration

Using the JSON configuration file, you can change the configuration of your rocket. Let's try changing the tail. After you make the mini_engine rocket from the previous step, make a copy of the mini_engine.json file, and call it "my_mini_engine.json".

  • $ cp mini_engine/mini_engine.json my_mini_engine.json

Open your favorite editor and edit the "my_mini_engine.json" file, it will look like this. Scroll down to the bottom of the file, and look for the section that defines the tail section:

  • "tail": { "fin_count": 4 }

Let's increase the number of fins in our tail section from four to eight:

  • "tail": { "fin_count": 8 }

Once we save our changes, we can regenerate the pictures for this configuration by running atlas with the '-p' option:

  • $ atlas -i my_mini_engine.json -p

For a corkscrew effect, you can introduce a 4mm deflection in the fin's trajectory by adjusting the "deflection" value in the fin section of the your config file from zero to four:

  • "fin": { "deflection": 4 }

Step 5: Print Your Rocket Parts

You can use your print manager software to print out multiple runs of a rocket part in a single session. However, you need to keep an eye on the print, as things can go catastrophically bad.

Step 6: Assemble

The rocket components join together using a collar. You can use any acrylic glue, but if you dial in your collar dimensions on your printer, you can achieve a friction fit. These fits are tight enough that they can survive the forces in flight without separating. If you print reserve parts, you can reconfigure or fix rockets in the field by swapping in replacements. Using a looser friction fit, you can configure easy separation in flight. This is useful for multiple engine stages and nose cone based recovery systems.

Full Spectrum Laser Contest

Participated in the
Full Spectrum Laser Contest