Printruder II

My first design of a printable extruder (the “Printruder”) was quite a success. Not only that I printed lots of objects with it, there are also several other MakerBot operators, using a Printruder successfully as a drop in replacement for the MakerBot Extruder MK3/MK4.

Nevertheless, I tried to simplify the design of the Printruder since a while for several reasons:

  • Reducing the number of parts to print
  • Easier loading/undloading of filament
  • Easier adjustment of pinch pressure
  • Stylish design : )

Here’s what I came up with:
Printruder II


The Printruder II

The Printruder II is built from only 2 printed parts (click on the images to zoom in):

  • The Motor Block is now self-supporting, so no more base plate. I also integrated the insulator retainer plate. So instead of three printed parts in the Printruder, we now have only one:

  • The Idler Block is much smaller than the idler block in the first Printruder design. It’s now integrated inside the motor block. With this design, it’s now possible to press the idler wheel against the pinch wheel with only one bolt. This makes it very easy to load/unload the filament and also to adjust the gap between idler wheel and pinch wheel:


Download the STL files for all printable parts at


Here’s what you need to build a Printruder II:

  • Printed Motor Block*)
  • Printed Idler Block
  • 3 x M3x20mm bolt
  • 1 x M3x16mm bolt
  • 1 x M4x40mm bolt
  • 3 x M3 washer
  • 1 x M4 nut
  • 3 x M3 nut
  • 6mm pipe or rod, 20mm long (alternatively a M6x20mm bolt)
  • 2 x M6 washer
  • 2 x 626 ball bearing
  • Kysan DC Gear Motor
  • MakerBot pinch wheel or better: 10mm worm-gear style pulley*)
  • MakerBot heater section
  • Extruder controller board


  • Printed PCB holder (2 parts)
  • 4 x M3x16mm bolts
  • 4 x M4 nut

Most likely:

*) Please note that there are two slightly different versions of the motor block: one for the original timer belt pulley (pinch wheel) and one for the 10mm worm-gear style pulley. Be sure to print the correct one!

Step 0:

Print all printed parts.

As always, it’s a good idea to clean all holes with a drilling machine (or something like that) after printing.

Step 1:



Insert a M3 nut in each hole in the bottom of the motor block (left and right of the filament path). These captive nuts are needed later to attach the heater section to the motor block. Handling the M3 nuts inside the motor block is a very fiddly thing. Also they tend to fall out when turning the motor block over later. Thus I strongly recommend to use (a little!) hot glue on the M3 nuts when inserting them. Don’t use too much glue! Just a little bit on the outside of the nut.

The best way to insert the nuts is to stick a long M3 bolt though the hole in the motor block (from the outside). Then put the nut on the bolt, apply a little bit of hot glue and then pull the bolt back until the nut sits nicely, all the way down, inside the hole. Wait a few seconds for the glue to set, then unscrew the bolt (see also this image).

Step 2:



Now assemble the idler wheel: Put a M6 washer, the 626 bearing and then the other M6 washer on the 6mm axis (I use a 20mm piece of 6mm aluminum pipe, but you might also use a M6x20mm bolt or something). Press this assembly into the printed idler block, so that the two M6 washers are inside the brackets, acting as spacers for the ball bearing. The axis should snap into the brackets and hold the bearing snugly inside the idler block.

Step 3:



Insert a M3 nut in the hole on the backside of the idler block. The nut’s only purpose is to give the M4 set screw (see later) some target to press on (the ABS plastic is too soft to hold the pressure alone). Then insert a M3x16mm bolt into the hole on the side of the idler block. This bolt, again, doesn’t hold something down, but simply stabilizes the M3 nut. That way, the M4 set screw cannot sink into the idler block later.


Step 4:



Insert the whole idler assembly in the motor block. Be sure, that the head of the M3x16mm bolt is on the front.

Step 5:



Put the M4 nut into the hole on the right side of the motor block. The best way to do this is to use the M4 bolt (same thing as for the M3 nuts in step 1). Only this time, you can let the M4 bolt where it is when finished. It also might be helpful to use some hot glue on the nut (just a little bit!).
Finally, move the insulator block to the right.


Step 5:



Attach the DC motor, including the pinch wheel, to the motor block.

Use three M3x20 bolts with M3 washers to bolt the motor to the motor block:


Tighten the bolts, but remember that the motor block is out of ABS plastic! Don’t overdo it…

Then put a 626 ball bearing on the end of the motor spindle. Be careful not to block the idler wheel with the motor’s 626 bearing! It’s probably not necessary to push the ball bearing all the way on the spindle. If needed, use a drop of hot glue to fix the ball bearing, but be careful not to glue down the ball bearing itself!


If you’re using a worm-gear style pinch wheel (what’s a good idea for several reasons), the motor’s ball bearing is probably not necessary, since worm-gear style pulleys usually need much less pressure from the idler wheel to grip the filament properly. Your milage may vary.

Step 6:



Attach the heater assembly (a new one or one cannibalized from a Mk3/Mk4 extruder) to the motor block, using the two M3 nuts from step 1.

Be careful not to push the captive nuts out of their holes!


That’s it, you built a Printruder II:


At least the non-optional part…

PCB holder:

Since it’s a nice thing to know where to put the extruder controller board, I designed an optional PCB holder for the Printruder II (and maybe other extruders). The PCB holder is composed of 2 printed parts:


Clip the front holder on the DC motor and move it towards the motor block.


Clip the other holder on the motor…


… and use 4 M3 bolts to attach the extruder controller to the PCB holder:


Using the Printruder II  with a MakerBot

Although the Printruder II can be mounted in a MakerBot with the original acrylic dinos, you’ll most likely end up with a nozzle too high, depending on the heater section (especially the heater barrel):


As you can see in the above picture, the nozzle is on about the same height as the lower end of the dinos. If this would be attached to the z stage, you’ll never get the nozzle low enough to touch the build stage.

Therefor I also designed printable replacements for the dinos. You find the designs on

What’s the story with the worm-gear style pulleys?

The worm-gear style pinch wheels have much better grip than the timing belt pulleys, used in the original MK3/MK4 extruders. That’s why they don’t need so much pressure on the idler wheel, which not only gives the motor bearings some rest, but also results in much less damage to the filament (i.e. less need to floss the gears).

Unfortunately, there’s currently no way to buy worm-gear style pulleys anywhere (at least to my knowledge).

MakerBot Industries did some test with CNC manufactured worm-gear style pulleys. But I have no idea if they (still) plan to sell them in the MakerBot store and if yes, when.

I manufactured mine on my lathe:
worm gear


Although I’m getting better (and faster) in building these pulleys, it’s still a lot manual labor involved (I don’t have a CNC lathe!).

Due to the time-consuming manual production:

  1. these things ain’t cheap (25 Euro + tax (if applicable) + shipping)
  2. when out of stock, I’m not sure when I have the time to built more.

The pulleys are made out of brass (outer diam. 10mm, inner diam. 6mm.) and they come with a M3 set screw.

If someone’s interested in one of these, please contact me (mail [att] pleasantsoftware [dot] com). I have a couple of them lying around as spares.


  1. Hi,

    First, thanks for the great blog!

    I just got my build 11 makerbot last week and made my first test prints yesterday! I started with a cube and then printed your whistle v2.

    My skeinforge settings are not nearly as nice as yours. When I print from the stl file on thingiverse it has huge gaps, when I print from your gcode everything comes out beautifully.

    Have you by any chance made your skeinforge settings from that build available anywhere? Or was the gcode produced by your Pleasant3D software instead of skeinforge?



  2. Because the worm-gear style pulley I purchased from you has both a different ID and OD than the pinch wheel pulley, did you have to change any settings in Skeinforge to compensate?



  3. Unfortunately I cannot give you any concrete numbers, since I started to use my own custom made extruder nozzles about the same time I switched to the worm-gear style pulleys. So I had to readjust all my settings anyway. But I don’t think it’s very much a difference.

    The original pinch wheel pulley has an “effective” diameter of 9mm (assuming you push the filament all the way into the pulley’s teeth).
    The worm-gear style pulley has a OD of 10mm and the grove is 1,5mm, so the effective diameter should be around 7mm.
    This makes a difference of 1mm in the radius and thus approx. 3mm less feed per revolution with the worm-gear style pulley.
    So now the funny part of calculations (please correct me if I made a mistake here…): Since the filament has 3mm diameter and is extruded at approx. .5mm, this should result in 9x less extruded .5mm plastic, i.e. 27mm less extrusion per revolution or 54mm less extrusion per minute (given the full 2RPM of the Kysan DC Gearmotor). That’s .9mm less extrusion per second, let’s say 1mm/sec to make things easier.

    The “usual” feed rate on a MakerBot is about 26-28mm/s, so the 1mm difference of extruded plastic shouldn’t do too much harm. If necessary, you could either slow down the feed rate a little bit (well, 1mm/sec less…) or adjust the layer thickness a little bit. But given the relatively small difference, the decrease of layer thickness should be really, really small.

Leave a Reply