Introduction: Homemade DIY 3D Printer Filament Extruder

This is a basic tutorial for building your very own filament extruder for under $200! This machine creates 1.75 mm filament but can be changed to make 3 mm filament if needed. Please leave comments if you have any questions!

Step 1: Parts List

Various lengths and types of wood for construction of the base.

12" x 3/4" threaded galvanized steel pipe

3/4" Brass end cap fitting

3/4" auger drill bit

12V PID Temperature Sensor

12V Power Supply

12V Windshield wiper motor

200 Watt 120V Heating band

3 Rocker Switches

12V Cooling Fan (optional)

1/2" Square steel key (for motor spindle to auger bit connection)

2 sockets that will connect the end of the auger bit to the square steel piece then to the nut on the motor spindle

Solid State Relay 3-32V DC / 24-380V AC / 25A

K-Type Thermocouple (sometimes bundled with PID and Relay)

12V 20A Motor speed controller

2 different colors of wire

3/4" Galvanized steel flange (for pipe mounting)

JBWeld High Heat Epoxy

3 Hinges (optional; makes wiring easier)

Everything can be found at your local hardware store with the exception of the electrical components which i found on eBay/Amazon! Just search part listed.


Dremel with metal cutting disc

Screw Gun

Wire Strippers


Step 2: Constructing the Base

This part is purely based on the size of extruder you want to make. My base dimensions are 28 inches long by 6 inches wide by 6 inches deep. The supports on the top are each 5 inches tall and spaced 5 inches apart. Cut holes in the front according to the type of speed controller, PID controller, and switches you are using.

Step 3: Preparing the Pipe and Auger Bit

Using the dremel, cut an opening in the pipe near the flange. The opening for this extruder is 2 inches long and half way down the height of the pipe. Now for the auger bit, you may need to grind down the end of it so that it fits nicely into the pipe and turns FREE OF OBSTRUCTION. This is crucial, otherwise the motor will be under too much stress. You may also need to grind down some of the inside of the pipe to get smooth turning. Additionally, you should cut off the pointed tip on the auger bit, as this part really is not needed. The end of the auger should sit approximately 1.5 inches from the end of the pipe without the nozzle attached. This leaves room for installation of the thermocouple :)

Step 4: Mounting the Motor

I used the existing holes in the face of the motor to screw into two blocks of wood mounted at the back of the extruder. Mounting the motor at the correct height is extremely important! If the motor is mounted at an incorrect angle or height, too much stress will be placed on the motor and smooth turning will not be achieved. The method i used for mounting allows a good amount of adjustment, so you should be able to adjust it until the alignment is perfect. Now for mounting the auger to the motor. The motor spindle is threaded, so what I did was I used some epoxy to secure a nut onto the end of it and torqued it down very tightly. Then, onto this nut I placed a correctly sized socket that fits a 3/8" ratchet. Then I cut the square steel piece to the appropriate length, then on to that I used another socket that fit tightly onto the end of the auger bit. At this joint, I covered everything with epoxy to help dissuade the auger from slipping. If any connection seems weak in your set-up, feel free to add epoxy to it, too much wont hurt!

Step 5: The Nozzle

In order to achieve the 1.75 mm thickness after cooling, I determined that the appropriate size hole to drill was around 1.35 mm, which accounts for the expansion of the filament as it extrudes out of the nozzle. If you own a drill press, use it to drill this hole. Though it is optional using this method, the straighter the hole the easier it is to control the filament after it exits the nozzle. If you are good with a handheld drill, it will work fine for this procedure.

Step 6: Heater and Thermocouple Mounting

For the band heater, it was slightly too large so i needed to create a small spacer for it to fit properly. If you can find a perfect size for this, then ignore this part. My spacer was a piece of 3/4" copper tube that I cut length-wise and re-bent it according to the curvature of the outer diameter of the steel pipe. Once proper contact between the pipe and the heater is achieved, its just a matter of fastening the bolts tight so that the heater is securely mounted at the end of the nozzle.

For mounting the thermocouple, I drilled a small hole that is according to the size of the end of the thermocouple that you are using for this. I mounted the thermocouple after the band heater, because the important temperature reading is after the heating element and before the exit of the filament. Once a hole is drilled and the thermocouple is inserted, i covered the whole assembly in JB Weld High Heat epoxy. It is important to use high heat epoxy, otherwise it will burn when testing.

Step 7: Mounting the Fan

I designed and 3D printed a mount for the fan at my school, however any basic mounting mechanism may be used to achieve proper cooling of the filament at the end of the nozzle.

Step 8: Electrical Wiring

A wiring diagram is to come, but I will do my best to explain the wiring in words.

Incoming Power

Using any 120V 3-prong plug and wire, strip the ends and connect the ground to the ground screw on the power supply. Route one of the other two wires through a main power switch, then connect it to either the L or N screw on the power supply. Then connect the third wire in the main power chord to the other either L or N port that you did not use on the switch side. Now you have a main power switch!

PID Temperature Controller

The controller should come with a wiring diagram for each port that is on the back of the box. Connect the positive and negative ports to positive and negative screws on the power supply, routing one of the wires through a switch.

SSR and Heater

Connect the 12v side of the relay to the PID in ports 6 and 8, respecting the positive and negative symbols on the power supply. Connect port 1 of the relay (120v side) to the L on the power supply, and connect port 2 to one of the ports on the heater. The other port on the heater connects to the N on the power supply.

Connect the motor speed controller (on the power side on the circuit board) to the power supply, routing either the positive or negative wire through a switch. Then connect the motor to the motor speed controller on the "motor" side of the circuit board (should be printed on the circuit board).


Route the power for the fan through the power for the motor. This means that the positive and negative wires from the fan will be mounted to the "motor" side on the motor speed controller circuit board. The reason it is connected to this is so that once the motor is turning, the fan will be powered on. There is no need to be running the fan if the motor is not on.


The two wires on the thermocouple will be mounted on the back of the temperature controller. The blue wire goes in port 3 and the red wire goes in port 4.

Step 9: Setting Up the PID

To get to the autotune feature on the temperature sensor, hold down "Set" until you see the word "HIAL". Then press down until you see "Ctrl", and adjust the value to "2". Continue pressing "Set" until you see the temeprature readout. Set the desired temperature using the up and down arrows. Keep in mind that you can change the location of the number place you change using the left arrow. (i.e. you can go from 210 to 220 by changing the 1 to a 2 instead of having to click the up arrow 10 times)

Step 10: Running the Extruder

From my experience, setting the temperature to around 210 degrees Celsius works perfectly for melting ABS pellets. This will take around 15-20 minutes to heat up. Additionally, the best speed for me has been at about the 1/3 speed on the potentiometer, meaning only spin the dial 1/3 as far as it can go. This usually lies around 40 RPM, which is ideal for testing. Keep in mind, if you go too fast, too much pressure builds up in the nozzle, and things tend to break under high pressure, which is a bad thing.

Step 11: Hopper Assembly

I designed and 3D printed a hopper assembly that fits over the pipe with 2 pieces bolted together. If you do not have access to the required technology, you can just construct your own hopper or even use a 2 liter bottle for the hopper, as long as there is a way to automatically feed pellets into the extruder. That is, unless you prefer the less passive side of dropping the pellets in yourself.

Step 12: Results! :)

Congratulations! You now have your very own homemade filament! Extrude as little or as much as you want and enjoy cheap, cost-efficient filament for your 3D printer! Happy printing! :)

3D Printing Contest

Participated in the
3D Printing Contest

Mind for Design

Participated in the
Mind for Design