MakerGear M2: Slic3r Config for PETG

Changing from PLA to PETG with a V4 hot end and 24 V power required several slicing adjustments, some of which weren’t at all obvious. It’s not all settled down, but what you see here comes from a bunch of test objects and tweaks that you’ll see over the next few days; this is basically a peek into the future.

M2 V4 Calibration Objects

M2 V4 Calibration Objects

The obvious changes:

  • Extrusion temperature: 250 °C
  • Platform temperature: 90 °C

Hot PETG seems rather sticky and produces hair-fine strings that aren’t due to poor retraction. Running at 230 °C is possible, but the strings are nasty. The V4 hot end shouldn’t run over 250 °C; fortunately, some tests suggest the stringing doesn’t Go Away at 260 °C, so moah powah! isn’t required.

Hair spray on glass works well above 90 °C and not at all below 80 °C. A stick of Elmer’s Washable Glue Stick, chosen because it was on the Adhesive Shelf, produced exactly zero adhesion at any platform temperature I was willing to use. Its “washable” nature surely contributed to the failure; you want something that’s gonna stick with you forever.

The eSun PETG filament diameter varies from 1.63 to 1.72 mm, which seems like a lot compared to the MakerGear PLA I’d been using; I’ve told Slic3r to run with 1.70 mm. In practice, it doesn’t seem to matter; the average over a meter works out to 1.70, I haven’t seen any abrupt bulges, and the objects come out fine. This spool arrived late last year, early in eSun’s production, so perhaps they’ve smoothed things out by now.

A few iterations of thinwall box building put the Extrusion Multiplier at 1.11, producing a spot-on 0.40 mm thread width at either 0.20 or 0.25 mm thread thickness.


  • Infill overlap: 10%
  • Max infill: 40%
  • Infill pattern: 3D Honycomb
  • Top/bottom pattern: Hilbert Curve
  • Combine infill: 3 layers

The first attempt at a solid box (left of center, first row) became so overstuffed I canceled the print; the top bulges upward. A few parameter tweak iterations produced the perfect 100% filled solid box to its right, but in actual practice a 40% 3D Honeycomb will be entirely strong enough for anything I build.

Reducing the overlap from 15% to 10% reduced the obviously overstuffed junction just inside the perimeter threads.


  • Fan for layers below 20 s
  • Minimum layer time: 10 s
  • Minimum speed: 10 mm/s

PETG wants to go down hot, but printing a single thinwall box requires that much cooling to prevent slumping. Might be excessive; we shall see.


  • First layer: 15 mm/s
  • External perimeters: 25 mm/s
  • Perimeters: 50 mm/s
  • Infill: 75 mm/s
  • Travel: 300 mm/s

Slower XY speeds seem to produce better results, although those values aren’t based on extensive experience.

The first layer doesn’t work well at higher speeds, with acute corners and edges pulling up as the nozzle moves away. Using the Hilbert Curve pattern not only looks pretty, but also ensures the nozzle spends plenty of time in the same general area. Higher platform temperatures work better, too, and I may goose the 40 V supply a bit to improve the 0.2 °C/s warmup rate.

The travel speed went up from 250 mm/s in an attempt to reduce stringing, but it may be too aggressive for the Y axis with the new 24 V supply. On very rare occasions, the Y axis stalls during homing, despite not changing the speeds in the startup G-Code, and I’m still accumulating experience with that.

Bridging isn’t nearly as clean as PLA. After some tinkering, a bridge speed of 25 mm/s and flow of 0.90 seems to work, but some chain mail patches suggest there’s plenty of room for improvement.

Mechanically, PETG is softer and more resilient than PLA, with a much higher glass transition temperature. Larger objects with 40% infill are essentially rigid and smaller objects are bendy, rather than brittle.

On the whole, PETG seems like it will work well for the stuff I build, although magenta isn’t my favorite color…

CAUTION: Don’t use this Slic3r configuration unless:

The Slic3r configuration:

# generated by Slic3r 1.2.7-dev on Mon Mar  9 19:51:37 2015
avoid_crossing_perimeters = 0
bed_shape = -100x-125,100x-125,100x125,-100x125
bed_temperature = 90
before_layer_gcode =
bottom_solid_layers = 3
bridge_acceleration = 0
bridge_fan_speed = 100
bridge_flow_ratio = 0.9
bridge_speed = 25
brim_width = 0
complete_objects = 0
cooling = 1
default_acceleration = 0
disable_fan_first_layers = 2
dont_support_bridges = 1
duplicate_distance = 6
end_gcode = ;-- Slic3r End G-Code for M2 starts --\n;  Ed Nisley KE4NZU - 15 November 2013\nM104 S0		; drop extruder temperature\nM140 S0		; drop bed temperature\nM106 S0		; bed fan off\nG1 Z160 F2000	; lower bed\nG1 X135 Y100 F30000	; nozzle to right, bed front\nM84     	; disable motors\n;-- Slic3r End G-Code ends --
external_fill_pattern = hilbertcurve
external_perimeter_extrusion_width = 0
external_perimeter_speed = 25
external_perimeters_first = 0
extra_perimeters = 1
extruder_clearance_height = 25
extruder_clearance_radius = 15
extruder_offset = 0x0
extrusion_axis = E
extrusion_multiplier = 1.11
extrusion_width = 0.4
fan_always_on = 0
fan_below_layer_time = 20
filament_diameter = 1.7
fill_angle = 45
fill_density = 40%
fill_pattern = 3dhoneycomb
first_layer_acceleration = 0
first_layer_bed_temperature = 90
first_layer_extrusion_width = 0.4
first_layer_height = 100%
first_layer_speed = 15
first_layer_temperature = 250
gap_fill_speed = 50
gcode_arcs = 0
gcode_comments = 0
gcode_flavor = reprap
infill_acceleration = 0
infill_every_layers = 3
infill_extruder = 1
infill_extrusion_width = 0
infill_first = 1
infill_only_where_needed = 0
infill_overlap = 10%
infill_speed = 75
interface_shells = 0
layer_gcode =
layer_height = 0.25
max_fan_speed = 100
min_fan_speed = 100
min_print_speed = 10
min_skirt_length = 15
notes =
nozzle_diameter = 0.35
octoprint_apikey =
octoprint_host =
only_retract_when_crossing_perimeters = 1
ooze_prevention = 0
output_filename_format = [input_filename_base].gcode
overhangs = 1
perimeter_acceleration = 0
perimeter_extruder = 1
perimeter_extrusion_width = 0.4
perimeter_speed = 50
perimeters = 3
post_process =
pressure_advance = 0
raft_layers = 0
resolution = 0.005
retract_before_travel = 1
retract_layer_change = 0
retract_length = 1
retract_length_toolchange = 5
retract_lift = 0
retract_restart_extra = 0
retract_restart_extra_toolchange = 0
retract_speed = 60
seam_position = aligned
skirt_distance = 3
skirt_height = 1
skirts = 3
slowdown_below_layer_time = 10
small_perimeter_speed = 25
solid_infill_below_area = 1
solid_infill_every_layers = 0
solid_infill_extruder = 1
solid_infill_extrusion_width = 0
solid_infill_speed = 75
spiral_vase = 0
standby_temperature_delta = -5
start_gcode = ;-- Slic3r Start G-Code for M2 starts --\n;  Ed Nisley KE4NZU - 2015-03-07\n;  Makergear V4 hot end\n; Z-min switch at platform, must move nozzle to X=135 to clear\nM140 S[first_layer_bed_temperature]	; start bed heating\nG90				; absolute coordinates\nG21				; millimeters\nM83				; relative extrusion distance\nM17				; enable steppers\nG4 P250			;  ... wait for power up\nG92 Z0			; set Z to zero, wherever it might be now\nG1 Z10 F1000	; move platform downward to clear nozzle; may crash at bottom\nG28 Y0			; home Y to clear plate, origin in middle\nG92 Y-127\nG28 X0			; home X, origin in middle\nG92 X-100\nG1 X130 Y0 F30000	; move off platform to right side, center Y\nG28 Z0			; home Z to platform switch, with measured offset\nG92 Z-2.07\nG0 Z2.0			; get air under switch\nG0 Y-127 F10000	; set up for priming, zig around corner\nG0 X0			;  center X\nG0 Y-125.0		; just over platform edge\nG0 Z0 F500	; exactly at platform\nM109 S[first_layer_temperature]	; set extruder temperature and wait\nM190 S[first_layer_bed_temperature]	; wait for bed to finish heating\nG1 E20 F300		; prime to get pressure, generate blob on edge\nG0 Y-123		; shear off blob\nG1 X15 F20000	; jerk away from blob, move over surface\nG4 P500			; pause to attach\nG1 X45 F500		; slowly smear snot to clear nozzle\nG1 Z1.0 F2000	; clear bed for travel\n;-- Slic3r Start G-Code ends --
support_material = 0
support_material_angle = 0
support_material_contact_distance = 0.2
support_material_enforce_layers = 0
support_material_extruder = 1
support_material_extrusion_width = 0
support_material_interface_extruder = 1
support_material_interface_layers = 3
support_material_interface_spacing = 0
support_material_interface_speed = 100%
support_material_pattern = pillars
support_material_spacing = 2.5
support_material_speed = 50
support_material_threshold = 0
temperature = 250
thin_walls = 1
threads = 2
toolchange_gcode =
top_infill_extrusion_width = 0
top_solid_infill_speed = 25
top_solid_layers = 3
travel_speed = 300
use_firmware_retraction = 0
use_relative_e_distances = 0
use_volumetric_e = 0
vibration_limit = 0
wipe = 0
xy_size_compensation = 0
z_offset = 0


  1. #1 by James on 2015-04-25 - 13:15

    Regarding your try at Elmer’s Glue Stick not working. It didn’t work for me either at 90 deg bed. I have a Rostock Max, 1 1/2 yrs old. It has a 12 volt bed heater. I noticed voltage dropped to 10 volts while heating, and it took forever to get to 90 deg. I added a 2nd PC power supply and tied the 5 volt in series with the existing 12 volt, just for the bed heater. That’s 17 volt with no load. Under load it drops to around 12-14 volts, and my bed can now heat to 110 in 90-120 seconds. At 110 Elmer’s Glue sticks work like Magic. (I use the Extreme version). ABS and PETG stick REALLY well, like glue, when bed is 110. And, when the bed cools off after printing, the ABS just pops off by itself. The PETG still sticks after it cools, but, it is easy to remove, just a slight bump or pop off a corner with the razor, no real force. Don’t try to remove ABS or PETG when bed is 110, it will not come off easy, and parts will warp at that temp when trying, When you remove the parts after the bed has cooled, the glue stays on the glass, not the parts. Once i coat the glass with the glue, i can prints hundreds of parts without having to re coat the glue. And, when i want to remove the glue, just soak it under the tap for a minute and it all washes off. It works really well.

    My main problem with PETG is the Stringy nightmarish web… it strings like 10 spiders on steroids. But, on seeing your article, i never messed with the retract speed before, it was set to 60 on my Slic3r, so i set it to 100, it does seem to help, i have retraction set to 8, and haven’t noticed any ‘holes’. I don’t know how fast i can set my retraction speed to, but, will try higher and see what happens. Thanks

    • #2 by Ed on 2015-04-25 - 16:57

      Judging from the chatter on the M2 forum, every adhesion method works perfectly for some folks and not at all for others; evidently, there’s still some magic left in the world!

      After I finished all my tweaking & twiddling, the hairspray worked perfectly again, so I’m sticking (ahem) with that. As you say, PETG parts are immovable with the platform at 90 °C and pop right off after the platform cools. Some folks seem to be in a big hurry to get the part off, but I regard the cool-down as part of the experience. [grin]

      So far, I’ve been spared the “pull a chunk out of the glass” disaster…

      retraction set to 8

      You might want to turn that up to 11, although tinkering with the acceleration may be more productive. The extruder can (uh, should be able to) accelerate harder than the axis motors, because it’s not driving much of a load: more acceleration means less time waiting for the reverse motion to get up to speed and less time for the molten plastic to form a blob. None of my numbers will be relevant, but try repeatedly doubling the acceleration until the motor finally stalls, then back it down by half. Then tinker with speed and distance for best results.

      Most recently, half a dozen pen adapters (18 objects total) printed with essentially no hairs at all, so it can be done!

      You should also track down that voltage voltage drop: the poor thing is dissipating half of the platform power somewhere it shouldn’t. On an M2, that means the bed connector on the RAMBo has begun working loose and charring, a story that never has a happy ending…

  1. MakerGear M2: PETG Chain Mail | The Smell of Molten Projects in the Morning