Introduction: Syringe Extruder

3D print your own syringe paste extruder.

parts are modeled for FDM printing without supports.

I checked it with chocolate, clay, metal clay, and white glue.

Step 1: Parts


1x Syringe 20ml

1x Stepper motor NEMA17

2x Linear bearing LM8UU

2x 8mm stainless steel rod, length: 173mm

1x Thread rod M8, length: length: 155mm (approx)

1x Coupler 5mm – 8mm

1x M8 nut

4x M3 nut

4x M3 washer

4x M3x16 – locking the 8mm rods

4x M3x8 – holding the motor

1x Body.stl 3D printed

1x Ram.stl 3D printed


I have modeled the parts for two different types of 20ml syringes,

The smaller has outer diameter of 21mm and the bigger - 23mm. their other dimensions are also slightly different (the edge of the syringe and the ram)

You can find here STL files and IPT files (Autodesk Inventor 2016 part file)

Step 2: Assembly

1. Insert the M8 nut in the ram printed part.

2. Insert the M8 rods in their place with the linear bearings on them. Secure it with the M3 nuts and bolts.

3. Attach the ram and secure it with zip ties.

4. Attach the motor.

5. Insert the thread rod from below, through the ram

6. Fix the thread rod to the motor's shaft with the coupler.

mount the extruder on your printer and connect the 4 motors wires.

check if the direction of the motor is correct.

Step 3: Firmware and Slicing Parameters

It is better to change the ‘steps per unit’ of the E axis so that 1mm of extrusion will be 1mm of ram movement. The steps per unit is calculated with the formula: Steps per unit = (motor micro-step per cycle) / (thread rod pitch = mm per round)

M8 thread rod pitch is 1.25mm

Nema17 motor has 200 steps and most printers have stepper drivers divide it to 16 micro-steps.

Our step per unit is: (200x16)/1.25 = 2560

You can change it in the firmware of the printer.

for example, in Marlin firmware you'll find it in "configuration.h" file in the line:

#define DEFAULT_AXIS_STEPS_PER_UNIT {800/9,800/9,3200.0/3,2560}

Or you can add Gcode command in the header of the file that set the ‘steps per unit’

The command is: M92 E2560

It is supported in Marlin, Repetier, Sprinter and Smoothie firmwares.

Slicer parameters:

The filament diameter is what moves in the speed of the extruder axis, it is the inner diameter of the syringe: 18.5mm for the type of syringe I had.

The nozzle diameter is about 2mm.

Layer height should be 50% - 80% of the nozzle diameter.