Introduction: DIY Filament Extruder

Picture of DIY Filament Extruder

We all know that filament is the most important part of 3d printing... And we also know that these are neither cheap nor easily accessible... So I decided to make my own homemade filament extruder. After some research on internet, I decided to use this simple design which is the core of many commercial filastruders. I prepared a simple CAD model for you to conceptualize the design easily. All these parts are easily found at every DIYer's parts bin. Only serious design I made is the steel barrel body which is made by one of my friends who has a lathe. As can be understood, plastic pellets (or small cut plastic) is loaded from the upper cone and the screw carries them to the front where they are being melt and forced out of a brass nozzle (a natural gas or propane nozzle mainly) to form a filament. According to my calculations system can be driven with a powerful dc gearmotor or a big stepper like the one in the pic (nema23). Even a household drill can drive the system for few hrs... I designed the system to make 1.75mm filament (which is accordance with myRepRap 3D printer) and found nozzles that can do the job. the radius of output filament can be monitored by a sensor for accuracy but I do not think I will need that as long as the shaft is driven at constant speed... As for the heating control, I decided to use the same ceramic 12v heaters and 100k thermistors used in reprap printer extruders (actually there will be more than one on the front end around nozzle). There are simpler and cheaper solutions for heat control, such as constant temp PTC thermostats but as the name implies these are made to keep the heating at a predefined constant temp. Actually I want to make tests for different types of plastics ( including waste plastics such as PE bottles) that is why I decided to have Arduino controlled heater&thermistor combination under PID control because various plastics will need different melting temps...

Parts needed.

- Metal body in which the screw mechanism will work..

- 12mm diameter wood screw...

- 2x cartridge heaters...

- 100K thermistor...

- Gearmotor (I am using scrap hand drill but windshield motor will do better)...

- Arduino of any kind...

- IRLZ44 Mosfet (any powerful logic mosfet will do the job)

- 10K pot...

- 16x2 LCD (optional to monitor heating values)

- some construction skills and some coding...

Don't forget to rate!
I entered this post into the 3D Printer contest, so if you think its awesome, or it helps you , vote for it! :)


ahooper (author)2017-09-29

I seem to be having an issue with the code, not exactly sure what it is but the temperature seems to be really unstable. I checked the thermistor etc and they are all good. Lower temperatures there seem to be no issues however 100 deg C + I get huge spikes in the temperature, where the sensor is reporting correctly but for instance if the analogread returns 1012 I can get a a temperature reported of 230 to 260 odd degrees.

In addition if I have run the temperature at 240 degrees I get spikes reporting of 300 degrees reported. then if i turn the temperature back down to say 40 degrees every 10 to 20 cycles the pin controlling the heater triggers resulting in the head not cooling back down.

Any ideas?

saminazeri made it! (author)2017-04-25


i made it . but change i2c lib.and change lcd.init() to lcd.beging(). its worked .

borsaci06 (author)saminazeri2017-04-25

congrats.... :)

slenderguy79 (author)2016-03-17

Another question is LCD wiring. According to a schematics, you use just 4 wires to connect LCD. I have JHD 162A 16x2 LCD and it usually requires much more wires to connect.

borsaci06 (author)slenderguy792016-03-17

Do some Googling...:)

slenderguy79 (author)borsaci062016-03-17

Already got it but will do without I2C. Already done PID controller, but one serious issue left. Used all the items in your list, but heater doesn't heat much. When I connect it to PSU 12v directly, it heats perfect, just like in 3D printer hotend. But when connecting by your diagram via IRLZ44 mosfet and 10k pot, it's temperature is less than 100 degreas, since I can touch it for a few seconds. Any suggestions?

borsaci06 (author)slenderguy792016-03-18

Strange.... I did not have that issue... are you sure you are using 2 heater cartridges?... mine works flawlessly... I am also using 12v PSU... it easily reaches 200 degrees in less than 5 min and later I checked up to 280 degrees...

My cartridges are burried in front of the body 2,5cm inside...

slenderguy79 (author)borsaci062016-03-18

Sketch is unworkable. Tried several times, checked all connection - it doesn't work the way you've described.

borsaci06 (author)slenderguy792016-03-18

It works for me... I am almost sure that you have a wrong wiring... especially about the mosfet.... you should already know that PID algorithm cannot work properly with a relay.. :)

hao meng (author)borsaci062017-03-18

i try to know, how to download the PDF document?

slenderguy79 (author)borsaci062016-03-21

Finally I've made it work. It was some mosfet problem. But you also
forgot to mention in the wiring diagram, that thermistor should be
connected via 100k resistor, otherwise temperature reading goes wrong.
Anyway, now everything works, thanks for your help.

borsaci06 (author)slenderguy792016-03-21

I am glad you managed to get it work... yes... you are right about the 100k thermistor connection. . it should be read with the help of same value resistor, regular practice with analog inputs...

slenderguy79 (author)borsaci062016-03-27

Just encountered one more issue - the MOSFET heats so high that the solder melts. Are you sure IRLZ44 is enough?

borsaci06 (author)slenderguy792016-03-28

I told you many times that it works perfectly for me... Check your wiring.. IRLZ44 is rated up to 60volts and 50amps... working temp is 175 degrees celcius.. so you must have a decent heatsink of course... look at my photo closely...

slenderguy79 (author)borsaci062016-03-18

Well, just figured that this is either some PID library or the sketch problem, since when i load some other sketch to arduino while leaving the heater cartridge connected, it heats without a problem to a red color. Will work on that sketch, since I still have an option left - using a relay and connecting directly to 12v PSU.

slenderguy79 (author)borsaci062016-03-18

I haven't installed cartridges into nozzle yet. Just connected them to the heater output on PCB and tried the sketch. Sketch is working, when turning 10k pot, temperature changes, but at the highest level it doesn't exceed 100 degrees celsium. But when I connect heating cartridge directly to 12v PSU output without arduino, it heats almost imidiately.

Make Zone (author)2017-02-12

What arduino are you using?

dariocdj (author)2016-12-18

Great Job, i'm just starting to order materials... where can i found 1,75 nozzle?

And what about metal body in the photo? where i can found it ?

Thanks a lot


och (author)dariocdj2017-01-02

I recommend you to check this tutorial:

SamiG1 (author)2016-10-14

Congrats, that's very useful.


Sizleri kutluyorum, gururlandım.

Procot (author)2016-08-25

I cant download the instructions, someone has it please?? :c
Thanks a lot

SamuelG16 (author)Procot2016-08-30

you mean the page pdf or the arduino code?

Procot (author)SamuelG162016-09-06

page pdf man :/

SamuelG16 (author)Procot2016-09-07

you need a prem-membership to do that.

Procot (author)SamuelG162016-09-08


SamuelG16 (author)Procot2016-09-13

all that you realy need is the scematic and cide here.

Procot (author)SamuelG162016-09-13

sorry man, i did not undestand you.
Thanks for your messages!

AhmedS385 (author)2016-09-04

Well done. very innovative. Is anyone tried this model to generate a complete 1Kg spool of filament ?

mihaig2 (author)2016-07-09

Hello! You can put a more detailed scheme lcd because I do not understand where the wires come .(I use arduin uno)

borsaci06 (author)mihaig22016-07-10

LCD connection pins depends on your choice... I used a serial lcd so the connections are +v, gnd, data(A4), clock(A5)...

SamuelG16 (author)borsaci062016-09-02

nevermind i just found out what you meant.

SamuelG16 (author)borsaci062016-08-30

what about to the lcd directly?

SamuelG16 (author)2016-08-17
'class LiquidCrystal_I2C' has no member named 'init'

I'm in the process and this is what's stopping me at the moment.

borsaci06 (author)SamuelG162016-08-18

that error means that you donot have the correct lcd library for your lcd... the one I used was a serial I2C lcd...

SamuelG16 (author)borsaci062016-08-18

Thank you my friend. One more thing did you use resistors on the board. I see something there but not on the scimatic.

鼎鈞林 (author)2016-06-19

can you tell me how to connect all the things to arduino pro mini?

borsaci06 (author)鼎鈞林2016-06-22

All the connections are in the above schematic for pro-mini... Take a close look...

jose alexanderc (author)2016-06-09

ciao,vorrei chiederle per che il filecontroller .ino da errore

ZilongW (author)2016-06-01

Besides,what kind of heater are you using and can you share the specs of this stuff?

ZilongW (author)2016-05-11

hi,Can you share these"#include <PID_v1.h> #include <math.h>"library files?I can't find it on the Internet.thanks :)

borsaci06 (author)ZilongW2016-05-11

Hi, math.h is a standard c library... I am sure your Arduino IDE has it...PID library I used is available on Arduino site .. how couldn't you find it?...

TheThinker (author)2016-05-01

Nice design. Can you share the details of the body you created on a lathe.

borsaci06 (author)TheThinker2016-05-02

No details.. its simple... the body is a standard steel hexagon rod.. it could have been round as well, but hexagon shape lets you fix the body more sturdy... later you drill the body with 12" drill bit which is the same size as your driving 12" wood drill bit... you drill the rod until the end, leaving 5mm at the tip... you drill a hole on the tip for your nozzle.. you drill two 5mm holes for the heaters and one 3mm hole for the thermistor.. at the back, you make a holder for your driving bit and place 2 roller bearings to hold the bit.. that is all..

borsaci06 (author)2016-04-24

yes... similar...

Voko (author)2016-04-04

What kind of ABS (melt flow rate) is best for printing? Do you have experience with different types of ABS?

fcalandrini (author)2016-03-10

Hello , first of all congratulations for the project . I wanted to know that wood drill bit you used and what is its length and where can I retrieve a 1mm nozzle ? Thank you

borsaci06 (author)fcalandrini2016-03-11

the drill bit is a 12" wood drill with hexagon end suitable for any battery powered screwdriver... found and bought from Bauhaus... 1mm nozzle is a standard brass neutral gas nozzle which is found at household gas heaters...

slenderguy79 (author)2016-03-11

I ain't see your motor output on the schematic drawing.

borsaci06 (author)slenderguy792016-03-11

The schematic is for PID controller... motor is not controlled by the Arduino... it is a geared screwdriver with constant speed..

santitiga (author)2016-03-01

Hi there

You can post a schematic drawing of the connection arduino


About This Instructable




More by borsaci06:FingerTip SensorTouch Sensitive Robotic SkinMotorized TimeLapse Rig
Add instructable to: