🚀 New content added!
🔧 Troubleshooting February 5, 2026 12 min read

Temperature Tower (Temp Tower) Printing Guide

Guide to printing a temperature tower to find the ideal print temperature for each filament. Step-by-step instructions for Cura, PrusaSlicer, and OrcaSlicer.

🌡️ Temperature Tower (Temp Tower) Building Guide

📋 TL;DR (Short Summary)

A temperature tower is a calibration test that allows you to find the optimal printing temperature for your filament by printing at different temperatures. Stringing, bridging, overhangs, and surface quality are evaluated at each temperature layer. Temperature changes are made using the Post Processing plugin in Cura or with Custom G-code in PrusaSlicer. Bambu Studio offers automatic calibration. It is recommended to print a temperature tower for each new roll of filament.


🔧 What is a Temperature Tower?

A temperature tower is a calibration model used in 3D printing. The model consists of multiple sections (layers), and each section is printed at a different temperature. After the print is complete, each temperature layer is compared to determine the best temperature for that filament.

How it Works

  1. The model is divided vertically into sections.
  2. Each section contains different test elements (bridge, overhang, stringing tower).
  3. Different temperatures are set for each section in the slicer.
  4. Printing begins, and the temperature changes automatically.
  5. The completed model is inspected to select the best temperature.

⚠️ Why is it Important?

Every Filament is Different

  • Even for the same material type (e.g., PLA), the temperature difference between brands can be 10-20°C.
  • Even different colors of the same brand may require different temperatures (pigments affect this).
  • Manufacturing date and storage conditions can alter the optimal temperature.

Consequences of Temperature Errors:

Issue Too Low Temperature Too High Temperature
Layer Adhesion ❌ Weak, delamination ✅ Good
Stringing ✅ Little ❌ A lot
Surface Quality ⚠️ Rough ⚠️ Shiny but wavy
Bridging ⚠️ Good but weak ❌ Sagging
Overhangs ✅ Good ❌ Sagging
Color ⚠️ Matte ✅ Vibrant
Flow ❌ Under-extrusion risk ⚠️ Too fluid

📥 Download Temp Tower Model

From Thingiverse

  • Search for "Smart compact temperature calibration tower".
  • Usually includes sections with 5-10°C increments.
  • Download in STL format.

From Printables

  • Search for "Temperature tower".
  • Models compatible with PrusaSlicer are available.
  • 3MF format may come with slicer settings.

Ready-Made Temp Tower STLs

  • General Purpose: 180°C - 230°C (PLA range, 5°C increments)
  • For PETG: 220°C - 260°C (5°C increments)
  • For ABS: 230°C - 270°C (5°C increments)
  • For TPU: 210°C - 250°C (5°C increments)

Model Selection Tips:

  • Compact models use less filament and time.
  • Prefer models with bridge and overhang test sections.
  • Models with temperature labels on each section are good for readability.
  • Models with 5°C increments provide more precise results.

📊 Temperature Change Settings in Slicer

Cura: Post Processing Plugin

Temp Tower in Cura Step-by-Step:

  1. Load the Model - Drag the temp tower STL into Cura.
  2. Set Basic Settings:
    • Layer Height: 0.2 mm
    • Print Speed: Normal (50-60 mm/s)
    • Infill: 10-15%
    • Wall Count: 2
  3. Set Starting Temperature - Set the temperature for the first layer to the highest value.
  4. Add Post Processing:
    • From the menu: Extensions > Post Processing > Modify G-Code
    • Click the "Add a script" button.
    • Select "ChangeAtZ".
  5. Temperature Change for Each Section:
    • Change Height: The Z height where the section begins.
    • Change Extruder Temperature: The target temperature.
    • Trigger: Select "Height".
  6. Repeat for Each Section - 5-10 scripts for a 5-10°C range.

Cura Temperature Script Example (PLA 220°C → 190°C):

Section Z Height Temperature
1 0 mm 220°C
2 8.2 mm 215°C
3 16.4 mm 210°C
4 24.6 mm 205°C
5 32.8 mm 200°C
6 41.0 mm 195°C
7 49.2 mm 190°C

⚠️ Z heights vary depending on the model. Check the model's section height.


PrusaSlicer: Temperature Change with Custom G-code

Temp Tower in PrusaSlicer Step-by-Step:

  1. Load the model and set basic settings.
  2. Go to the Preview tab.
  3. Use the layer slider on the right.
  4. To add a temperature change:
    • Navigate to the target layer on the slider.
    • Click the "+" button.
    • Select "Custom G-code".
    • Enter the following code: M104 S[TEMPERATURE]
    • Example: M104 S210 (for 210°C)
  5. Repeat for the start of each section.

PrusaSlicer G-code Explanations:

  • M104 S210 - Set temperature to 210°C (no wait).
  • M109 S210 - Set temperature to 210°C and wait.
  • Using M104 is faster (printing continues during temperature change).
  • Using M109 is safer (waits until the temperature stabilizes).

PrusaSlicer Tips:

  • Set the starting temperature in Filament Settings > Temperature.
  • You can also use the "Before layer change G-code" section.
  • Temperature can also be changed with Height Range Modifier.

OrcaSlicer: Temperature Change

Temp Tower in OrcaSlicer Step-by-Step:

  1. Load the model and set basic settings.
  2. Go to the Preview tab.
  3. Use the layer slider on the right.
  4. At the temperature change point:
    • Find the target layer on the slider.
    • Click the "+" button.
    • Select "Change temperature".
    • Enter the target temperature.
  5. Repeat for each section.

OrcaSlicer Advantages:

  • Direct temperature change option (no need to write G-code).
  • Flow rate calibration is also built-in.
  • Pressure advance calibration is available.
  • Advanced filament profiles.

Bambu Studio: Automatic Calibration 🌟

Easiest method for Bambu Lab printers:

  1. Go to the Device tab.
  2. Click the Calibration button.
  3. Select "Temperature".
  4. Choose the filament type (PLA, PETG, etc.).
  5. Set the temperature range.
  6. Click the "Start" button.
  7. The printer will automatically perform the p tower basar
  8. Examine the results and save the best temperature to the filament profile

Bambu Studio Advantages:

  • Fully automatic, no need to write scripts
  • Result photo with camera
  • Automatic saving to filament profile
  • Calibration support with Lidar (X1C)

🔍 Reading and Evaluating Results

Evaluate each temperature layer according to the following criteria:

1. Stringing Check 🕸️

  • Are there fine strings between the towers?
  • Less stringing = lower temperature preferred
  • Compare the amount of stringing in each layer
  • Ideal: No or minimal stringing

2. Bridge Quality 🌉

  • Is the bridge between two points straight or sagging?
  • Good bridge = medium temperature usually ideal
  • Compare the amount of sagging
  • Ideal: Straight, sag-free bridge

3. Overhang Quality 📐

  • Is there sagging on the inclined overhangs?
  • Check 30°, 45°, 60° overhangs
  • Lower temperature = better overhang
  • Ideal: Minimal sagging at 45° overhang

4. Surface Smoothness ✨

  • Are the layer lines prominent?
  • Is the surface smooth and homogeneous?
  • Is it shiny or matte?
  • Medium temperature usually provides the smoothest surface

5. Layer Adhesion 💪

  • Try to separate the layers with a fingernail
  • If they separate easily, the temperature is too low
  • Strong adhesion = sufficiently high temperature
  • Ideal: Layers should not separate easily

Evaluation Scoring:

Assign a score of 1-5 to each criterion for each layer:

Criterion 1 (Poor) 3 (Medium) 5 (Excellent)
Stringing Too much Medium None
Bridge Very saggy Slight sag Straight
Overhang Very bad Acceptable Clean
Surface Very rough Medium Smooth
Adhesion Very weak Medium Strong

Highest total score = best temperature


📋 Common Filament Temperature Ranges

PLA (Polylactic Acid)

  • General range: 190°C - 220°C
  • Typical optimal: 200°C - 210°C
  • Low speed (<40 mm/s): 195°C - 205°C
  • High speed (>80 mm/s): 210°C - 220°C
  • First layer: +5°C
  • Temp tower range: 190-220°C, with 5°C increments

PETG (Polyethylene Terephthalate Glycol)

  • General range: 220°C - 250°C
  • Typical optimal: 230°C - 240°C
  • Low speed: 225°C - 235°C
  • High speed: 240°C - 250°C
  • First layer: +5°C
  • Temp tower range: 220-255°C, with 5°C increments

ABS (Acrylonitrile Butadiene Styrene)

  • General range: 230°C - 260°C
  • Typical optimal: 240°C - 250°C
  • Enclosed chamber: 235°C - 245°C
  • Open environment: 245°C - 255°C
  • First layer: +5-10°C
  • Temp tower range: 230-265°C, with 5°C increments

TPU (Thermoplastic Polyurethane)

  • General range: 210°C - 240°C
  • Typical optimal: 220°C - 230°C
  • Shore 95A: 215°C - 225°C
  • Shore 85A (soft): 225°C - 235°C
  • First layer: +5°C
  • Temp tower range: 210-245°C, with 5°C increments

Nylon (Polyamide)

  • General range: 240°C - 270°C
  • Typical optimal: 250°C - 260°C
  • PA6: 250°C - 265°C
  • PA12: 240°C - 255°C
  • First layer: +10°C
  • Temp tower range: 240-275°C, with 5°C increments

🏭 Brand-Based Temperature Recommendations

PLA Brands:

Brand Recommended Range Typical Optimal
Bambu Lab Basic PLA 190-230°C 210°C
eSUN PLA+ 205-225°C 215°C
Polymaker PolyTerra 190-220°C 200°C
Creality Hyper PLA 190-230°C 210°C
Prusament PLA 195-220°C 210°C
Sunlu PLA 190-220°C 205°C

PETG Brands:

Brand Recommended Range Typical Optimal
Bambu Lab PETG-HF 230-260°C 245°C
eSUN PETG 220-250°C 235°C
Prusament PETG 220-250°C 240°C
Sunlu PETG 220-245°C 230°C

⚠️ These values are initial references. We recommend performing a temp tower for each spool.


🖨️ Printer-Specific Notes

Bambu Lab (X1C, P1S, A1)

  • Easiest: Use the built-in calibration in Bambu Studio
  • X1C: Automatic calibration with Lidar support
  • P1S/A1: Manual temp tower can also be done
  • More detailed control is possible with OrcaSlicer
  • Create separate profiles for different filaments in the AMS

Creality (Ender 3, K1)

  • Ender 3: Use Post Processing script with Cura
  • K1: Use Creality Print or OrcaSlicer
  • Increase temperature by 5-10°C for high-speed prints
  • First layer temperature is critical on Ender 3 (bed adhesion)

Prusa (MK3S+, MK4, Mini)

  • Custom G-code method with PrusaSlicer is ideal
  • Prusa profiles are generally well-optimized
  • Profiles for Prusament filaments come ready-made
  • MK4: Increase temperature by 5°C when Input Shaper is active

🎯 Method for Determining Ideal Temperature

Step 1: Wide Range Test

  1. Find the temperature range on the filament packaging
  2. Print a temp tower covering the entire range
  3. Eliminate the worst layers

Step 2: Narrow Range Test (Optional)

  1. Identify the best 2-3 temperatures from the first test
  2. Print a new temp tower with 2°C intervals between these temperatures
  3. Fine-tune the best temperature

Step 3: Verification

  1. Print a normal model at the determined temperature
  2. Check stringing, bridge, and surface quality
  3. Adjust by 2-3°C if necessary

Step 4: Recording

  1. Note the filament brand, color, and optimal temperature
  2. Save it to the filament profile in your slicer
  3. Label it on the spool

💡 Prevention Tips

  1. Perform a temp tower for every new filament spool - even the same brand can vary
  2. Save the results - add notes to the filament profile
  3. Consider ambient temperature - winter/summer difference can affect by 3-5°C
  4. High speed = high temperature - increase by 5-10°C for fast prints
  5. Do not test damp filament - dry it first, then perform a temp tower
  6. Use the same bed temperature - test with your normal print settings
  7. Calibrate the temperature sensor - perform PID autotune
  8. Keep away from ambient temperature fluctuations - fan and open windows affect

❓ FAQ (Frequently Asked Questions)

Is it necessary to make a temp tower for every filament spool?

Ideally, yes. Even with the same brand and color, there can be a 2-5°C difference from spool to spool. However, practically, making one for the same brand and color and taking notes is sufficient in most cases.

How much filament does a temp tower use?

Between 10-25 grams, depending on the model. Compact models use less. This amount is much more economical than failed prints due to bad settings.

What layer height should I use for the temp tower?

0.2 mm is the standard and recommended value. This height is used in most prints. If you will use a different layer height, you can perform separate tests at that height.

Do bridge and stringing require different temperatures?

Yes, generally. Lower temperatures reduce stringing, but medium temperatures are better for bridging. The ideal temperature is a balance between the two. Therefore, evaluate both criteria together in the temp tower.

Does changing the nozzle affect temperature?

Nozzle material and size can affect temperature. Hardened steel nozzles conduct heat differently, so a 5-10°C increase compared to a brass nozzle may be necessary. For 0.6mm+ nozzles, the temperature should be increased due to increased flow.

Is the temp tower result different for every printer?

Yes. Each printer has a different thermistor, hotend design, and cooling system. The "optimal" temperature of 200°C on one printer might be 205°C on another. Do not directly copy settings between printers.


📚 Related Guides

All Guides