TPU Printing with Prusa Mini - share your experiences!
Hello everyone,
I wanted to share with everyone a cool video that helped me calibrate my Prusa Mini+ slicer settings well enough to print TPU with it.
The guide is over here and it has a very scientific approach.
This post & thread I think can be of help to someone. If you have had any experience printing TPU / flexible filament on the MINI, please share your experiences!
I'd be interested to see if anyone on the stock extruder managed to print TPU?
It was a big selling point to me in terms of the Bondtech extruder upgrade which I ended up getting, but I actually never tried to do it on the stock extruder.
I printed a retraction tower, which shown me that 9mm/s should be best, but possibly even 10mm/s would be OK; could test that further.
Next, I printed a temperature tower, and for my TPU (S-FLEX from Spectrum, black color) I found the optimal temperature to be 235 °C first layer, 233°C all other layers. This all is shown in the video.
Overall probably like 10g-20g of expensive TPU filament "wasted", but it helped me learn a lot about how to print with it.
So it is not really a "waste".
My approach was, following the video:
- Download newest CURA and add the temperature/retraction towers add-on like instructed, to generate proper GCODE files for calibration
- making a retraction tower, like the video instructed (make sure to double check after how many layers retraction distance switches)
- making a temperature tower, like the video instructed (make sure to double check after how many layers temperature switches, it was wrong to me)
- from the video I have learned that TPU prints slow, but it still requires fans. I found conflicting information online; some people claimed it prints so slowly that you could have your fan on 0%, but I disagree; prints cleanly only on 100% speed.
- from the results I got that 9mm retraction is the setting I want to go with; also, the temperature settled at 233-235. Keep in mind filament says 200°C -230°C , according to the manufacturer
- made sure my Prusa Mini extruder upgrade from Bondtech (Different extrusion GCODE) is included in the printer settings.
- To compensate for the cura slicers' wall overlap, I did give an extrusion multiplier to my material. I might have overdone it, but I am already satisfied with the result, and I would rather have a bit of extra lines on the sides than the cube being not rigid and/or separating.
- Created a set of settings in PrusaSlicer reflecting what I learned, created also a separate printer profile, material profile and set the temperature accordingly, only for this purpose.
- I had problems with first layer underextrusion, turns out I made the calibration badly; I should've trusted the calibration I made with PLA filament before all this. If you're getting first layer underextrusion, try some Live adjust Z during prints, and see if anything changes.
- If everything else fails, try going slower. I ended up having 15mm/s in every field in Print settings -> speed. First layer was 10mm/s.
- Printed a calibration cube, results below.
I know the cube is not perfect, but then it's TPU, so you have to compromise. I think precision and rigidity is good, and for mechanical applications they are the key parameters. After this calibration, I am going to print a stationary bike foot holder, because it broke.
Below is also the quote from my settings that I used to print, if anyone is interested.
If you save below code as an .ini file, it should be importable into PrusaSlicer.
SETUP:
Prusa Mini with Extruder upgrade from BondTech (dual gear extruder)
Bondtech CHT 0.4 nickel-plated brass nozzle
# generated by PrusaSlicer 2.3.1+win64 on 2021-12-17 at 17:11:16 UTC [print:0.20mm FLEX @MINI - EasySupports] avoid_crossing_perimeters = 1 avoid_crossing_perimeters_max_detour = 0 bottom_fill_pattern = monotonic bottom_solid_layers = 4 bottom_solid_min_thickness = 0.5 bridge_acceleration = 1000 bridge_angle = 0 bridge_flow_ratio = 1.02 bridge_speed = 15 brim_width = 0 clip_multipart_objects = 1 compatible_printers = compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.4 complete_objects = 0 default_acceleration = 1250 dont_support_bridges = 1 draft_shield = 0 elefant_foot_compensation = 0.2 ensure_vertical_shell_thickness = 0 external_perimeter_extrusion_width = 0.45 external_perimeter_speed = 15 external_perimeters_first = 0 extra_perimeters = 0 extruder_clearance_height = 20 extruder_clearance_radius = 35 extrusion_width = 0.45 fill_angle = 45 fill_density = 25% fill_pattern = grid first_layer_acceleration = 800 first_layer_extrusion_width = 0.42 first_layer_height = 0.2 first_layer_speed = 10 gap_fill_speed = 15 gcode_comments = 0 gcode_label_objects = 1 infill_acceleration = 1000 infill_anchor = 2.5 infill_anchor_max = 12 infill_every_layers = 1 infill_extruder = 1 infill_extrusion_width = 0.45 infill_first = 0 infill_only_where_needed = 0 infill_overlap = 25% infill_speed = 15 inherits = 0.20mm QUALITY @MINI interface_shells = 0 ironing = 0 ironing_flowrate = 15% ironing_spacing = 0.1 ironing_speed = 15 ironing_type = top layer_height = 0.2 max_print_speed = 30 max_volumetric_speed = 0 min_skirt_length = 4 notes = only_retract_when_crossing_perimeters = 0 ooze_prevention = 0 output_filename_format = {input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode overhangs = 1 perimeter_acceleration = 800 perimeter_extruder = 1 perimeter_extrusion_width = 0.45 perimeter_speed = 15 perimeters = 4 post_process = print_settings_id = raft_layers = 0 resolution = 0 seam_position = nearest single_extruder_multi_material_priming = 1 skirt_distance = 2 skirt_height = 3 skirts = 1 slice_closing_radius = 0.049 small_perimeter_speed = 15 solid_infill_below_area = 0 solid_infill_every_layers = 0 solid_infill_extruder = 1 solid_infill_extrusion_width = 0.45 solid_infill_speed = 15 spiral_vase = 0 standby_temperature_delta = -5 support_material = 0 support_material_angle = 0 support_material_auto = 1 support_material_buildplate_only = 0 support_material_contact_distance = 0.25 support_material_enforce_layers = 0 support_material_extruder = 0 support_material_extrusion_width = 0.35 support_material_interface_contact_loops = 0 support_material_interface_extruder = 0 support_material_interface_layers = 4 support_material_interface_spacing = 0.2 support_material_interface_speed = 80% support_material_pattern = rectilinear support_material_spacing = 3 support_material_speed = 15 support_material_synchronize_layers = 0 support_material_threshold = 15 support_material_with_sheath = 0 support_material_xy_spacing = 75% thin_walls = 0 threads = 12 top_fill_pattern = monotonic top_infill_extrusion_width = 0.4 top_solid_infill_speed = 15 top_solid_layers = 4 top_solid_min_thickness = 0.7 travel_speed = 100 wipe_tower = 0 wipe_tower_bridging = 10 wipe_tower_no_sparse_layers = 0 wipe_tower_rotation_angle = 0 wipe_tower_width = 60 wipe_tower_x = 170 wipe_tower_y = 140 xy_size_compensation = 0 [filament:Spectrum S-Flex 90A @MINI] bed_temperature = 60 bridge_fan_speed = 100 compatible_printers = compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]!=0.8 and nozzle_diameter[0]!=0.6 compatible_prints = compatible_prints_condition = cooling = 1 disable_fan_first_layers = 0 end_filament_gcode = "; Filament-specific end gcode" extrusion_multiplier = 1.2 fan_always_on = 1 fan_below_layer_time = 60 filament_colour = #FF8000 filament_cooling_final_speed = 3.4 filament_cooling_initial_speed = 2.2 filament_cooling_moves = 4 filament_cost = 60 filament_density = 1.21 filament_deretract_speed = 15 filament_diameter = 1.75 filament_load_time = 0 filament_loading_speed = 28 filament_loading_speed_start = 3 filament_max_volumetric_speed = 2 filament_minimal_purge_on_wipe_tower = 15 filament_notes = "" filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" filament_retract_before_travel = 5 filament_retract_before_wipe = nil filament_retract_layer_change = nil filament_retract_length = 4 filament_retract_lift = 0 filament_retract_lift_above = nil filament_retract_lift_below = nil filament_retract_restart_extra = nil filament_retract_speed = 40 filament_settings_id = "" filament_soluble = 0 filament_spool_weight = 235 filament_toolchange_delay = 0 filament_type = FLEX filament_unload_time = 0 filament_unloading_speed = 90 filament_unloading_speed_start = 100 filament_vendor = Generic filament_wipe = nil first_layer_bed_temperature = 60 first_layer_temperature = 235 full_fan_speed_layer = 0 inherits = Generic PETG @MINI max_fan_speed = 100 min_fan_speed = 100 min_print_speed = 15 slowdown_below_layer_time = 45 start_filament_gcode = "M900 K{if nozzle_diameter[0]==0.6}0.12{elsif nozzle_diameter[0]==0.8}0.06{else}0.2{endif} ; Filament gcode" temperature = 233 [printer:FLEXmat Prusa MINI & MINI+] bed_custom_model = bed_custom_texture = bed_shape = 0x0,180x0,180x180,0x180 before_layer_gcode = ;BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\n\n between_objects_gcode = color_change_gcode = M600 cooling_tube_length = 5 cooling_tube_retraction = 91.5 default_filament_profile = "Prusament PLA" default_print_profile = 0.15mm QUALITY @MINI deretract_speed = 15 end_gcode = G1 E-1 F2100 ; retract\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)}{endif} F720 ; Move print head up\nG1 X178 Y178 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+30, max_print_height)}{endif} F720 ; Move print head further up\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM900 K0 ; reset LA\nM84 ; disable motors extra_loading_move = -2 extruder_colour = "" extruder_offset = 0x0 gcode_flavor = marlin high_current_on_filament_swap = 0 host_type = octoprint inherits = Original Prusa MINI & MINI+ layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z] machine_limits_usage = emit_to_gcode machine_max_acceleration_e = 5000 machine_max_acceleration_extruding = 1250 machine_max_acceleration_retracting = 1250 machine_max_acceleration_x = 1250 machine_max_acceleration_y = 1250 machine_max_acceleration_z = 400 machine_max_feedrate_e = 80 machine_max_feedrate_x = 180 machine_max_feedrate_y = 180 machine_max_feedrate_z = 12 machine_max_jerk_e = 10 machine_max_jerk_x = 8 machine_max_jerk_y = 8 machine_max_jerk_z = 2 machine_min_extruding_rate = 0 machine_min_travel_rate = 0 max_layer_height = 0.25 max_print_height = 180 min_layer_height = 0.07 nozzle_diameter = 0.4 parking_pos_retraction = 92 pause_print_gcode = M601 print_host = printer_model = MINI printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MINI\n printer_settings_id = printer_technology = FFF printer_variant = 0.4 printer_vendor = printhost_apikey = printhost_cafile = remaining_times = 1 retract_before_travel = 1.5 retract_before_wipe = 70% retract_layer_change = 1 retract_length = 10 retract_length_toolchange = 4 retract_lift = 0.6 retract_lift_above = 0 retract_lift_below = 179 retract_restart_extra = 0 retract_restart_extra_toolchange = 0 retract_speed = 20 silent_mode = 0 single_extruder_multi_material = 0 start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0.0\nG1 Y-2.0 X179 F2400\nG1 Z3 F720\nM109 S[first_layer_temperature] ; wait for extruder temp\nM92 E415 ; Bondtech extruder\n\n; intro line\nG1 X170 F1000\nG1 Z0.2 F720\nG1 X110.0 E8.0 F900\nG1 X40.0 E10.0 F700\nG92 E0.0\n\nM221 S95 ; set flow template_custom_gcode = thumbnails = 16x16,220x124 toolchange_gcode = use_firmware_retraction = 0 use_relative_e_distances = 1 use_volumetric_e = 0 variable_layer_height = 1 wipe = 1 z_offset = 0 [presets] print = 0.20mm FLEX @MINI - EasySupports sla_print = sla_material = printer = FLEXmat Prusa MINI & MINI+ filament = Spectrum S-Flex 90A @MINI
RE: TPU Printing with Prusa Mini - share your experiences!
Printing TPU on a stock mini, the extruder has zero problems with the filament. I just made sure, the idler was barely tight enough to feed the filament.
My prints look a lot worse though, since they only use 3mm retraction.
Gonna try your suggestion of calibrating retraction settings.
hw: PRUSA MINI+, FW 4.3.3 & Cr-10s w/ BLTouch, Ezboard, Hemerasw: PrusaSlicer 2.4, Windows 11
RE: TPU Printing with Prusa Mini - share your experiences!
This was very helpful, thank you! My first TPU print on MINI+ went well because of this post.
X marks the spot.
RE: TPU Printing with Prusa Mini - share your experiences!
Hi,
I really am struggling with printing TPU on Prusa mini+.
At the begging I managed to print pretty well with all the stock settings and the filament Filamentum 95A, which has a profile in PrusaSlicer.
After leaving TPU aside for a while, now I am having tons of issues, I tried almost everything, slowing speed, temperature, flow rate, etc. Most of my issues are with the Bowden extruded, even with the retraction deactivated and the tension screw loose almost at maximum the filament get stuck all the time.
BTW, here there is a lot of information that stands the contrary said in the video. So I guess all the settings depends a lot of the printer and the filament used.
see ya!
RE: TPU Printing with Prusa Mini - share your experiences!
I just got a roll of TPU filament from DuramiC 3D. I printed a Flexi octopus with minimal changes (Speed 30 mm/second, Nozzle 220, bed at 60).
Printed with stock Mini, no clogs, no problems... the little machine is a workhorse!
RE: TPU Printing with Prusa Mini - share your experiences!
What brand of TPU are you using, and do you live in an area with high humidity?
RE: TPU Printing with Prusa Mini - share your experiences!
I am about to try printing TPU filament on my Mini. I have smooth and textured sheets and 0.4 and 0.6 (currently installed). I have excellent results with the 0.6 nozzle in both PLA and PETG fillaments. Is the larger nozzle a good choice for TPU or should I switch back to the smaller nozzle before trying TPU.
Also, does anyone have recommended settings for TPU? TIA
RE: TPU Printing with Prusa Mini - share your experiences!
I had no problem printing with the 0.4. The secret to TPU is to print hot and slow (nozzle temp at 220, and the bad at 60. And Slow the Speed down to 30mm/second
Good Luck!
RE:
I took a Sunlu TPU roll 2 years ago and had big problems: the extruder got jammed and nothing got out from the print head. Now I bought a filament dryer and after 24h of drying I managed to have perfect prints just by setting the temperature at 250°C (the recommended T is 190-210 °C), bed at 60 °C, speed at 20 mm/s and retraction 5 mm. Layer height 0.2 and nozzle 0.4 mm.
Cheers!
RE: TPU Printing with Prusa Mini - share your experiences!
I printed a little tripod foot using Hatchbox TPU (Gray Blue). I don't know much about how to set things on my printer so I just used Generic FLEX under print settings in Prusaslicer (after reading here how to use the configuration wizard - thank you to whoever suggested that). Then I loaded the filament and chose the FLEX option for filament type. The model printed fine. Nothing fancy but worked for what I needed.