Introduction: 3d Printed Canadarm Model

About: I'm an inventor / maker / designer based in Portland, OR. My background is in residential architecture, film set design, animatronics, media arts, exhibit design, and electronics. I use digital design and fabr…

Inspired by the Canadarm, this Robot arm is articulated, multifunctional, and moves along a gantry. The real thing is used for retrieving satellites, knocking ice off the MIR Space Station, and a wide variety of other things. I chose to go with the astronaut platform with this model, but since it's modular, all kinds of things could be added to the end. In the process, I also came up with a nice position locking feature that allows the arm to be moved into different positions and keep them.

3D printing at this early stage in its adoption tends to be used to create static objects (little plastic skulls and bunny rabbits, for example). This project allows you to explore the robust possibilities with the technology, such as joinery and mechanical movement. Using the Canadarm as a model, this piece is made up of multiple complex assemblies. The pins, slots, tabs, ball joints, and sockets all come together to make a posable finished product that demonstrates the movement of the real robot arm as well as a lesson in mechanics and construction.

Step 1: Design in 3D

I designed the model in Fusion 360 because it's easy to create precise models and keep track of changes. It's also a dream when it comes to 3D printing- just right click on the model, save as STL, and send it to your print utility. Unlike a lot of other programs I've used, I've never had any issues with the geometry translating to a solid printable model.

Fusion 360 is free for students and hobbyists, and there's a ton of educational support on it. If you want to learn to 3D model the kind of work I do, I think this is the best choice on the market. Click the links below to sign up:



Fusion was particularly useful for this project because of its assemblies. By creating assemblies between the parts, I was able to preview the movement of the finished product before wasting any filament.

I printed this project on the Dremel 3D Idea Builder. This machine is a workhorse! I found it to be reliable and consistent with quality prints, and it's much quieter than a lot of the other FDM machines I've used. You can buy one at Amazon, Home Depot, Lowes, or Best Buy.


I wanted the model to be as realistic as possible, so I designed it to be made of a bunch of separate parts that fit together. The parts are...

  1. Robot Arm Elbow (3)
  2. Robot Arm Tube
  3. Gantry Adaptor
  4. Gantry
  5. Gantry Rails
  6. Foot-to-Rail Connection Pins (8)
  7. Rail End Stands (2)
  8. Cross Beams (4)
  9. Feet (4)
  10. Ball + Socket Joint
  11. Astronaut
    • Control Pack
    • Visor


The most challenging part of the design was creating a strong but flexible connection joint for the robot arm. I wanted a standard male / female socket connection that would allow one part to be snapped into the other without hardware, then to be able to articulate and hold its position.

To do this, I came up with a design that used four prongs on the male end of the connection and a trough on the female connection with ribs to allow the prongs to spring past them, but would also be tight enough to hold the prongs in place at rest.


  • .f3d File: This is the Fusion 360 file for the entire model. Feel free to play around with it and tweak it for your own diabolical purposes.

Step 2: Export Parts for Printing

To get the model parts to the Dremel Dream Builder, I exported STL files. In Fusion, you can send the file directly to Meshmixer (or a couple of other 3D print utilities), but I guess I'm old school- I like to save the STL files in a folder so I can keep track of what I'm doing. Sometimes prints don't work the way you'd hoped, and it's helpful to have a clear list of parts with date stamps so that you can revise the parts you need to.

In Fusion, you can right-click on any component or body and save as an STL. It's important to pay attention to the way your components or bodies are constructed. It's possible to have a single component with multiple bodies that need to be printed separately, so you have to keep track of which parts can be exported as components or as single bodies. The settings I used for every part on this model were the default "High" refinement settings. This seemed to work well with all the parts and assemblies.


.stl Files: These are the individual parts of the model exported for 3D printing. These don't have support structures or orientation optimized for printing.

Step 3: Prep Using Meshmixer

I used Meshmixer to prep my files for printing because it gives you a lot of control over the model while providing useful default settings that you can tweak slightly to get the results you want. Meshmixer has settings loaded for the Dremel Idea Builder (build volume, etc.) that help you position your model and create support structures. Here are the steps for prepping a model for printing.

  1. Position the model: This may seem like a no-brainer, but you have to think about how the printer works. FDM printers lay down strands of molten filament that basically solder to each other. This means that the orientation of your parts matters, especially for small parts.
    • A thin linear element will snap in half with no effort if it's printed vertically on a bed. That's because the layers of filament are creating slices along the short axis.
    • What I've found from printing on the Dremel is that parts less than 3MM thick need to be oriented so that the layers of material are parallel to the build platform. This makes for a strong, resilient, flexible, durable part. The diagram in this step illustrates what I mean here.
    • The "bottom" of the model should touch the bed in most cases. In the case of the shell in the screenshots, the rim at the bottom is touching the bed.
  2. Create Support Structures: When creating support structures, I found I had the best results when I used the default settings within Meshmixer for the Dremel Idea Builder, but I increased the density of the support structures from 50 to 75. With a lot of the prints a density of 50 was fine, but I found that with significant overhangs (like the openings of the hatches in the shell model in the screenshots) 75 yielded better results without being too much of a pain to clean up. The support structures generated by default in Meshmixer have narrow tips and narrow bases, so it's very easy to snap them off of the finished models. Under Advanced Support, be sure to check "Allow Top Connections". It's important to have this feature checked for this model because there are a lot of overhangs and open holes.
  3. Send to the Dremel 3D App: Clicking the "Send to Dremel 3D" button brings you to the next step.


I've found that the key to good 3D prints is the right orientation. In the last photo on this step, you'll see three different versions of the male end of the robot arm parts that have snapped off. It took a couple of tries for me to figure it out, but the reason this was happening was that the prongs were too thin to be able to flex in a direction parallel to the grain. When I positioned the prints so that the prongs were horizontal to the bed, the layers were also horizontal, so force against the prongs is perpendicular to the grain. The material is very resilient with this print orientation.

Step 4: Print Using the Dremel 3D App

After clicking Send to Dremel 3D in Meshmixer, it's time to build the model. All you have to do in Dremel 3D is click Build.

BUILD SETTINGS LAYERS: I used Resolution: High for all of the prints. I had good results without tweaking any of the other options on this tab.INFILL: I used Fill Pattern: Hexagon for all the models. I changed the density from the default 35% in a few of the models. I found that especially on smaller parts, 75% density made for much sturdier parts.SPEED: Default settings.TEMP: I increased this to 230ºC from the default 220ºC. I did this because I've had better results with higher temperature in other FDM printers, and I found the same was true with the Dremel Idea Builder.OTHERS: Default settings.The software gives you an estimate of the build time and the material used when it's done creating the file (which is awesome). You can send the file to the SD card or directly to the printer with a USB cable.


The .g3drem files in this instructable are ready to print on a Dremel Idea Builder. Just put them on an SD card or send them directly to the printer.

Step 5: Prep the Build Platform

If you're doing lots of prints, I find it's very helpful to have a disposable surface you can replace quickly. I use 3M ScotchBlue 2090 Painter's Tape as a build surface because it's large enough to cover the whole bed- this way you don't get any seams.

  1. Apply the Tape: The first step is to line up the tape on the bed so that it doesn't cover up the slots for the built platform clips. It's really important to smooth out the tape so there are no bubbles. I've found that my driver's license is the best tool for this job.
  2. Sand with 220 Grit Sandpaper: This removes the slippery finish on the tape, allowing the filament to stick to the bed easily.
  3. Wipe Down with Isopropyl Alcohol: This removes the sanding dust and any oil from your fingers that might still be on the tape. Give it a few seconds to dry and you're ready to go.Prep the Build Platform

Step 6: Level the Build Platform

The build platform must be level for prints to build properly. I've found that with near constant use, I only had to level the platform once in three weeks. If the filament doesn't seem to be sticking to the bed at the very beginning of a print, there's a good chance the build platform isn't level.

The instructions on the touch screen are pretty straightforward. Basically you just put a piece of paper between the nozzle and the bed and adjust the screws until the gap is just right. The paper should easily slide in and out in the gap while having a very small amount of friction. There are only three adjustment screws, so it's easy to level the platform quickly.

Step 7: Unload / Load Filament


To unload the filament, just follow the menu. It'll heat up the extruder if it isn't already preheated, then ask you to press the extruder intake spring and pull the filament out. To avoid filament jamming, push the filament in for about half a second, then pull it out. I've found that this clears the extruder of any leftover filament blobs, which can create jams if you let the extruder cool down again before loading more filament.


To load filament, just follow the menu again. The motor will run automatically for a few seconds to load the filament into the extruder. Check the nozzle and make sure a little filament has come out before printing. You may need to go through the load process again to make sure it's totally full. If the extruder isn't full when a print starts, it's possible that filament won't come out at the very beginning of a print, which can cause problems with your print down the line.

Step 8: Preheat and Print

Preheating is a good way to ensure that the extruder is warmed up and ready to go. I had the best results by preheating the machine for about 5 minutes, then loading the file.

Loading a file to print is really easy with this machine because the touch screen gives you a preview of the model! Just pop in the SD card, select the model from the list, and tap Build.

NOTE: Files may FAIL if they're not in the MAIN DIRECTORY of the SD card. I found that using sub-folders on an SD card made about half of the files fail, so be sure to keep everything on the main directory.

Step 9: Remove and Clean Up

Most models can be popped off of the bed by hand, but the Idea Builder comes with a multi-functional plastic spatula that will do the trick if your fingers won't.

Believe it or not, I found the best tool for scraping the support structures off of the models was the can opener on my Leatherman Multitool. It's not sharp enough to cutyou if you slip and poke yourself, and the pointy end is great for digging into the little crevasses.

Notice the orientation of this part on the bed- this was the winning configuration!

Step 10: Assembly

Here's the assembly sequence:

  1. Insert the pins into the holes in the End Stands as seen in photo one
  2. Press the Feet onto the End Stands as seen in photo one.
  3. Attach one End Stand to the Rail+Truss by pressing the pins into the holes on the end of the Rail+truss.
  4. Slide the gantry onto the Rail+Truss.
  5. Attach the other End Stand by repeating Step 3.
  6. Insert all four Cross Beams, connecting the holes at the End Stand feet to the holes on the sides of the Rail+Truss. These beams create diagonal bracing.
  7. Press the Ball Joint into the end of one of the Elbows. The female ends of the robot arm parts have grooves to let the prongs on the male end of the parts push in. Just line up the grooves, squeeze the edges of the prongs, and push one part into the next.
  8. Repeat step 7 for the rest of the robot arm segments. These can be put together in a lot of different ways, but the one shown in the photos seems to work best.
  9. Last, snap the astronaut's feet into the clip on the end of the ball joint.

The astronaut also has three parts. The visor and the control box should press in without much force.

Step 11: Done!

The thing I like most about this model is that the parts articulate and hold their positions well. The other cool thing about it is that you can use the male/female connections on the robot arm and make a number of other parts that connect to the arm.

I'd love to see what you guys come up with. IMadeIts posted here will earn you a free 3-month pro membership!