Designing My Carbon Fiber Prop Tool

| Comments

I’ve been looking for an idea for something I can send out as a perk to my patrons on I’ve also been on the lookout for a part that I can squeeze into the wasted areas of my carbon fiber sheets.

Carbon fiber sheets aren’t ridiculously expensive, but they also aren’t what you’d call cheap. Some of the parts for my Kestrel and Falcon frames have rather odd shapes, and they need to be oriented in such a way that the length of parts follow the strands of carbon. I wind up with a lot of 1” by 2” areas all over the place that are just too small to fit quadcopter parts.

I’ve already written at length about why I’m designing this prop tool over at Butter, What?! In this blog post, I’m going to tell you about what I learned while designing this prop tool. If you want to read about why I’m designing this prop tool, you can read about it at Butter, What?! I had to overcome some new problems related to CNC machining that don’t apply to my usual 3D-printing designs.

A CNC router can’t cut sharp interior corners

A CNC router, like my Shapeoko XXL, cuts material with a round bit. If I just subtract a 8mm hexagon from my carbon fiber, each of the six corners will have a radius that matches my endmill instead of a sharp corner. Without that sharp corner, my 8mm nut driver won’t fit over the 8mm prop nut!

In theory, this isn’t a big deal. You just have to tell the CNC machine to cut a little deeper into each of those corners. They call these cuts “dog bones.” What’s the best way to add dog bones with a parametric OpenSCAD design?

CAD and CAM have close ties in the CNC world

I toyed with two different ways of accomplishing the same goal. I’m disappointed because both options require my OpenSCAD model to be aware of the diameter of my endmill, or at least be set up to accommodate the largest endmill I might use for this operation.

I’m using a 2mm endmill, because that’s what I use to cut Falcon and Kestrel parts. I’d like to be able to cut prop tools as part of the frame cutting jobs.

On every CNC part I’ve designed so far, all the cutting operations for my perimeters involve an inside or outside contour tool path. That means that the 2D CAD file that I’m exporting matches the dimensions of the physical part. Instead, you can tell your CAM to follow your CAD file’s path with zero offset.

I toyed with the idea of experimenting with that third option. I could scale down my hexagon by the radius of my endmill. Then I could just add a perpendicular 1mm line at each of the six corners. Just the fact that I haven’t attempted this before seemed like a good enough reason to give it a shot, but I quickly realized that it was going to be a lot more work to plot out the shape I needed with OpenSCAD.

I abandoned this idea so quickly that I don’t even have a screenshot of what it looked like!

Prop Tool Dog Bones

I was also disappointed that this option would only work with a single endmill. I would have to export a new SVG file if I wanted to use my 1.6mm endmill, and that would be a bummer.

for (i=[0, 60, 120, 180, 240, 300]) {
  rotate([0, 0, i])
    translate([hex-c, 0, 0]) cylinder(d=2.1, h=t, $fn=12);

Instead, I placed a 2.1mm cylinder near the six corners of my 8mm hexagon, and I’m pleased with the result. It leaves room for the corners of the prop nut, it was easy to model with a simple for loop, and it will work with any endmill up to 2mm in diameter.

The scale of 3D printing makes this sort of thing simpler!

Working with a 0.4mm nozzle and relatively soft plastic is quite a bit different than working with a 2mm endmill and rigid carbon fiber, aluminum, or steel!

In either case, there needs to be a bit of clearance between the walls of my prop tool and the nut. With ABS plastic, it doesn’t matter that the 0.4mm extrusion of plastic doesn’t make perfect corners. That tolerance between the tool and the nut is probably already large enough to make up that tiny amount of extra material in the corners, and even if it isn’t, ABS would be soft enough to just get out of the way the first time you use the tool.

If we were cutting this tool out of steel, and we didn’t cut the dog bones into the six corners, we would have a real problem.

Engraving my website on the side

This was fun. It was my first attempt at a v-carve operation. When you engrave lettering to shiny, reflective aluminum, it shows up pretty well all by itself. When you engrave into carbon fiber, it still just has a matte black finish, and you can’t see it.

I borrowed some white nail polish from my wife. I slathered it generously over all the letters, then let it dry. I wasn’t sure how to remove the excess nail polish without ruining the finish of the carbon fiber sheet, so I just scraped it off with another flat piece of carbon fiber. It was strong enough to remove the excess nail polish, but not so hard that it would scratch up the smooth surface.

It worked better than I expected. There are a few problems with the first prototype. A few of the letters seem slightly misshapen. The details might just be a little too fine for the carbon fiber sheet’s epoxy to hold together well.

I’ve scaled the letters up from 4mm to 4.5mm tall, and I’m planning on cutting the next one at about half the speed. With any luck, that will clean up most of the problem areas!

I’m quite pleased with how my first attempt at both v-carving and nail polishing came out!


The prop tool is open-source, and it is licensed under the GNU GPL version 2. I added the OpenSCAD source code, dxf, and svg files to the falcon-frames repository on Gitlab. The OpenSCAD source is a little rough. I didn’t put much work into making sure it was cleanly parametric. It has quite a few magic numbers sprinkled about, because I was more concerned with getting the hex openings sized correctly.

What do you think? Would you use a carbon fiber prop tool like this? I know I prefer my $15 Speedix prop tool, but I’ll be adding a carbon fiber prop tool to all my bags. Are you as good at misplacing prop tools as I am? Let me know what you think in the comments, or stop by the Butter, What?! Discord server to chat with me about it!