How To Print NinjaFlex 85A TPU

Getting Started:

All my setting and g-code must be used to the TEE and in the filament settings you will see it shows petg as the filament the reason is if you select tpu it will disable retractions maybe a software bug in orca 1.6.2-beta or Bambu just wanted to disable retractions for tpu filaments.

The custom tpu start g-code it’s is very fast with only bed leveling and made for printing soft tpu filaments.

The factory Bambu Lab X1 start g-code will chew up the soft tpu filament so don’t use it lets hope they add a soft tpu option in the future.

The old filament in your extrude needs to be a low melt temp filament. I was using cleaning filament and it worked every time if you are using pla don’t go over 245c you will have to push as much as possible of the pla out then bump the nozzle up to 250c the soft 85a tpu extrudes better @ 250c with less nozzle back pressure if you have some 95a tpu that would be better than working with pla to load the 85a tpu filament.

You should use a short 150mm ptfe tube in the top of the extruder.

Your filament spool must be on a low tension roller above the extruder you want the least amount of drag on the filament.

To load the filament set the nozzle temp to 250c and don’t put it lower and jog the extruder until you JUST see the tpu color then STOP !!!

The new firmware has a tpu side load option but it is not recommended to use for 85A tpu filament it can still chew it up at times so this is why manual loading is the best option.

When you are done printing your part or using the tpu filament unload the tpu and run some cleaning filament to clean the nozzle out at 245c


You must turn off the calibration check box - only manual flow calibrations can be used.

You must turn off AMS check box or like I did unplug it if it sit on the top of your printers glass top.

The bed plates with tpu can stick real good so use tpu glue.

I use the WhamBam plate with vision miner adhesive.

Your tpu must be very dry or you will get stringing.

If you make a mistake and hear the extruder clicking, unload the filament and cut off the bad part of the filament about 1 inch and start over again.

When I tested the 85A soft tpu out I never plugged the nozzle or had to take the extruder apart.

All the settings have been tested and tuned for the Bambu Labs X1 with .4 nozzle for flow and speeds and the nozzle temps needed for the soft tpu filament to print and work.

I have been printing tpu for a long time and I have machines that will print tpu faster than the Bambu X1 the only reason I did this was to help the Bambu Lab 3D printing community.

**Updated on 12/4/2023 the start g-code information for the bed type with X1 firmware but the orginal start g-code was still was working fine.


With Ocra slicer pa line test your tpu filament I have some rolls @ 0.135 pressure advance settings.

Version 2.0 in 2024
When I have time I will update the settings for the new version of orca slicer 2.0.0 and with external g-code to color change tpu filaments is the plan.


Set the PA line from like 0.06 to 2

150mm ptfe tube in the top of the extruder with 85A tpu loaded @ 250c

Send retraction test & turn flow calibration Off

Printing tpu 85A

Retraction settings are good :slight_smile:

Surface looks good also :+1:

Printer Settings Motion Ability Tab

Printer Settings Extruder Tab

Filament Settings Tab - Note: you have to put type petg until they fix it

Filament Cooling Tab

Process Quality Tab - Top Part

Process Quality Tab - Bottom Part

Process Strength Tab

Process Speed Tab

Process Others Tab

You need to remove all the factory machine start G-code in the box and use the Bambu X1 TPU 85A Quick Start G-code below save is as new current machine put what name you want it to be.

;===== Machine: X1
;===== 3DTech V2.1  - 11/27/2023 - TPU 85A
;===== No AMS Support = Turn Off
;===== No Flow Calibration Support = Turn Off
;===== Side Load 85A Filament
;===== Run A Short 150mm PTFE Tube = 4mm OD x 3mm ID
;===== Custom {+0.0} for WhamBam / Smooth PEI Plate / High Temp Plate

;===== Reset Machine Status 
M17 Z0.3 ; lower the z-motor current
G0 Z7 F300 ; lower the hotbed
M17 X1.2 Y1.2 Z0.75 ; reset motor current to default
M960 S5 P1 ; turn on logo lamp
M220 S100 ;Reset Feedrate
M221 S100 ;Reset Flowrate
M73.2   R1.0 ;Reset left time magnitude
M1002 set_gcode_claim_speed_level : 5
M221 X0 Y0 Z0 ; turn off soft endstop to prevent protential logic problem

;===== heatbed preheat ====================
M1002 gcode_claim_action : 2
M140 S[bed_temperature_initial_layer_single] ;set bed temp
;M190 S[bed_temperature_initial_layer_single] ;wait for bed temp = can turn on or off as needed for TPU

;===== register first layer scan ===============
{if scan_first_layer}
    M977 S1 P60

;===== air circulation within enclosure ===============
M106 P3 S127  ;turn on chamber fan 

;===== prepare print temperature and material ===============
M104 S120              ;set extruder temp 120c
G0 Z10 F1200           ;move bed down by 10mm
G28 X                  ;home X and Y axis
M975 S1                ;turn ON vibration suppression
G1 X60 F12000
M412 S1                ;turn on filament runout detection
G29.2 S1               ;turn on ABL

;===== check scanner clarity ===============
G1 X128 Y128 F15000
G28 Z P0
M972 S5 P0
G1 X230 Y15 F15000

;===== bed leveling ==================================
M1002 judge_flag g29_before_print_flag
M622 J1
    M1002 gcode_claim_action : 1
    G29 A X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}
    M500 ; save cali data
M1002 judge_flag g29_before_print_flag
M622 J0
    M1002 gcode_claim_action : 13
M975 S1 ;turn ON vibration supression after homing

;===== mech mode fast check ===============
G0 X128 Y128 Z10 F18000
M400 P200
M970.3 Q1 A7 B30 C80  H15 K0
M974 Q1 S2 P0
G0 X128 Y128 Z10 F18000
M400 P200
M970.3 Q0 A7 B30 C90 Q0 H15 K0
M974 Q0 S2 P0
M975 S1 ;turn ON vibration supression
G0 F15000
G0 X230 Y15
G28 X   ;re-home XY 
M104 S[nozzle_temperature_initial_layer] ;set extruder temp

;===== start heatbed scan ===============
{if scan_first_layer}
    M976 S2 P1 
    G1 X128 Y128 F15000
    M976 S3 P2  ;register void printing detection

;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==
{if curr_bed_type=="Textured PEI Plate"}
G29.1 Z{-0.04} ; for Textured PEI Plate
{elsif curr_bed_type=="Smooth PEI Plate / High Temp Plate"} 
G29.1 Z{+0.0} ; for WhamBam Smooth PEI Plate / High Temp Plate

;===== nozzle & prime ===============================
M975 S1
G1 X18.0 Y1.0 Z1.0 F18000           ;move to start position
M109 S{nozzle_temperature_initial_layer[initial_extruder]}
G1 Z0.2
G1 E0.5 F300                    
G1 X240 E15 F900
G1 Y11 E0.700 F900
G1 X239.5
G1 E0.2
G1 Y1.5 E0.700
G1 X22 E12 F900
G0 Z0.8                     ;lift the nozzle up by 0.8mm
M1002 gcode_claim_action : 0
M106 S0    ; turn off fan
M106 P2 S0 ; turn off aux fan 
M106 P3 S0 ; turn off chamber fan
M975 S1    ; turn on mech mode supression
G92 E0     ; reset extruder position


Nice job and thanks for your work on this!

1 Like

Thank you for doing all this work and posting clear instructions. I’m going through the steps now
but in my Printer Settings some of the parameters are not editable, they are greyed out. Parameters like Speed limitation, Acceleration limitation, Wipe distance, etc are greyed and can’t be modified.

Also, I only have the 2-sided print plate, do you have a recommendation between the Bambu Cool Plate side and the Bambu Engineering Plate side?

I have Bambu Studio Version

Hello FailOften,

Yes the Bambu slicer has limited basic settings I would recommend the Orca slicer 1.6.3 it has more options and settings.

Orca Slicer 1.6.3

Your bed plate should work. You can try it @ 35c and see how it’s working. I like to use vision minor adhesive or if you have tpu glue it helps.

Tip: On some tpu filaments like 95A I will also run the retraction speed @ 100 mm/s and the travel speed @ 300 mm/s if it is stringing.

Keep me updated more than happy to help out :grinning:

1 Like

Wow, 3DTech that worked amazingly!! My first attempt was with the built-in Bambu Slicer Generic TPU settings… the result was a few wispy strings on the build plate and I cancelled the print after a few “layers”. Following your directions I’m very happy with the results. Support/stringing removed easily, transition from support to part wasn’t great in some places but most issues I see can be resolved with part design changes. Coffee headed your way for all the time you saved me, hopefully others will do the same, including Bambu :grinning:.

Feedback and notes for others:

  1. Unfortunately I don’t know the durometer of this TPU since it just says “TPU” on the box and I don’t have other printed TPU parts to compare, it’s Inland UPC 618996997411 for reference. I’ll look for something marked 95A next time to compare.

  2. I used OrcaSlicer V1.6.3 (latest) to have access to all the settings you posted.

  3. All settings worked great with these mods:

  • Copy/paste of the g-code didn’t work because somewhere along the way all the quotation marks turned from straight quotes to curly quotes (example: “Textured PEI Plate”). g-code needs the straight quotes, so re-typing all the " in the g-code window in OrcaSlicer fixed it.
  • I turned on Support and slowed the supports speeds on the Speeds tab to 20 mm/s to match the other speeds you used.
  1. I dried the filament overnight in the X1C using the Dry Filament utility and cardboard box.

  2. I used the stock back spool holder and fed the filament into the back tube. I was working next to the printer and was able to keep slack between the spool and the inlet tube by manually unspooling some filament every 10-15 minutes, so almost zero resistance. I didn’t try letting the printer spin the spool since resistance on the spool holder seemed very high for how soft the material felt. I plan to buy a dryer box with rollers and experiment with positions for minimal resistance without needing to babysit it.

  3. I used the Engineering Plate side of the stock plate with some Bambu glue stick.

This print used 12.19g and took 2h17m total time. Outside dimensions of the part are 22x46x34H mm.

1 Like

Cool great job :+1:

Thank you for the G-code feedback tip it will help others :+1:

Ya try to work without tpu supports if you can with your part designs.

Did you use the 95A retraction speed @100 mm/s and 300 travel speed setting ?

The supports are @ 30 mm/s for pva plus I also do other tricks with painter tape as interface support layers to get clean bottom tpu layers.

The 95A TPU will run @ higher speeds

95A ac

Thank you for the coffee FailOften :slight_smile:

Have a good one :v:

I bought some Inland 95A TPU (UPC 618996738670) and a dryer with rollers for reduced spool resistance (eSun eBox Lite). The 95A is definitely firmer than what I originally tried printing from Inland which was very stretchy in filament form. I modified the design to eliminate need for supports and printed using 3DTech’s 85A settings AND Generic TPU filament settings for comparison. Images are below but summary is the Generic TPU settings with no modifications worked for 95A material and the printer was able to pull filament into the back tube from the dryer box with no issues.

To reiterated my first post, the same Generic TPU settings were useless for the softer material and I was only able to get that material to print using 3DTech’s 85A settings.

Print on the left is with the 85A settings (2h17m), print on right is Bambu Studio Generic TPU and 0.20 Standard process settings (49m). There isn’t much infill but I did use higher density (accidentally) in the 85A settings which does impact print time. You can see some differences in edge stringing and loose cantilever strings.

The Bambu 95A TPU speed is 44 to 47 mm/s looks like the inland will handle more speed just use the 95A retraction settings you might need to fine tune the length some.

Also with the 95A I like to run all my line width @ 0.42 with layer height 0.16 with overhangs and only the first layer height @ 0.2 with .4 nozzle.

I use other settings for the .6 nozzle.

With the 95A tpu add overhangs speeds but if you can get your part @ 40 degrees or less it will help.

TPU over hangs
95A TPU Overhangs

TPU 95A Ret
95A TPU Retraction

Have a good one :v:

FailOften what nozzle temperature did you run your 95A TPU @

I run my 95A TPU @ 230c first layer and other layers 220c @ 35 mm/s max speeds with .4 nozzle.

So great to see everyone’s success and thanks for sharing your work!

I’m getting the following error message when trying to “Slice plate” (Orca 1.6.3)

Failed to generate G-code for invalid custom G-code.
machine_start_gode Parsing error at line 91. Expecting an expression.
{if curr bed type==“Textured PEI Plate”}
Please check the custom G-code or use the default custom G-code.

1 Like

Just implemented @FailOften fix on the quotes, thank you.

I just sign to this forum to say thank you very much 3DTech ! :grinning:
I applied your settings with a brand new filament : the Polymaker Polyflex TPU90 and it is perfect.

Thank you :wink:

1 Like

Your welcome and Thank you for the feedback :+1:

@3DTech - I believe this will fix your “smart” quotes issue, so people can more easily copy & paste:

  • Edit the post containing the machine start gcode.
  • Select the gcode
  • Click the “preformatted text” icon to wrap the code in a block which prevents fancy formatting. (This is the icon that looks like </>)
  • Click “Save Edit” to update the original post.

Hi @3DTech - Thank you for posting this! I just purchased a P1P to supplement production of a TPU part I’ve been printing on another printer using a 0.6mm nozzle.

Which settings would you change for a 0.6mm nozzle?

success on Building Benchy with TPU 70A really soft thing o2H30min with 25% infill , 0.2mm X1c almost not change

  • As initial setup used the above from this forum and thanks , but used autoflow as did not have time to go through calibration process ( bad choice) but worked
  • Also tensioner was very important to be changed as it jams the Extruder - too soft, did a small X1C dremel work will update the post once i get the photos. It is possible to be with out the tensioner change but high risk of jamming
  • Externa feed standard feed - initial feeding is a bit tricky as so soft that the sensor spring sometimes can not be pushed
  • Speed was set to 20mm/s but missed it some where as it was printing 30mm/S to 50mm/S some places adn all the areas were fine up to 34mm/s , on the bow small issue where was 50mm/S not sure if that was not from drying and tunning

For first result was great considering that was not calibrated to the filament and the filament was not dry . Almost perfect result with ozoning and one defect where was printing at 50mm/S

Can we share some filament and printer setting files?


Hello Dr_Wood,

All the same settings all I change with a .6 nozzle is I set all the line width to 0.50 and it has worked well with very soft tpu filaments to reduce nozzle pressure on my other printers it should work on the X1 also.

1 Like

Hi @3DTech – you posted a picture of a retraction tower test – are you able to get the whole tower to print w/o any stringing? What were the start/end/step values you used for retraction? I’m getting pretty massive stringing with Ninjaflex, all the way up the retraction tower.

EDIT: It occurs to me that maybe you printed a retraction tower test with a fixed retraction value of 2.2mm, according to your machine spec extruder settings that you’ve shared, and not one that starts an 0mm on the bottom and ends at 2mm on the top. (which are the default Orca Slicer retraction test parameters)

I’ve had a couple successful prints using NinjaTek Chinchilla, which is a 75A TPE filament.

However, the overhangs are a bit iffy. Any tips on where the defects are coming from and/or what direction to look at? I based my filament profile on your (@3DTech) 85A profile, but adjusted the flow ratio to 1.0, the nozzle temp down to 235, and the max volumetric speed to 0.8. After printing the low-poly Eevee:

… It occurred to me that the PA value of 0.06 may need to be changed, whoops.

One odd thing that was happening was, as the model was printing an overhanging area, more material was deposited, such that it looked like it was curling up. You can see it a little, here, where there are two little tips sticking up on the outer edge of each ear:

Thanks for the profiles here, they’ve definitely made my TPU prints A LOT nicer. :smiley:

I printed this with only 7% gyroid infill – it’s extremely squishy and satisfying!