Phase 2 · The filament · L10
The temperature tower
One print, seven temperatures, one number. The first measurement of Phase 2, and the one every other measurement is standing on.
Temperature is first in the calibration order because it moves everything else. Viscosity sets how much plastic a given push delivers, how far it oozes on a travel, how much pressure lags behind the extruder, and how quickly a bridge freezes. Measure extrusion multiplier at 245 °C, then decide 240 °C prints better, and your EM is a number for a material that no longer exists. So: temperature, then everything else.
The method is a temperature tower — a single tall print whose nozzle temperature drops by 5 °C every 10 mm. You get every candidate temperature on one object, printed with one spool, on one machine, in one session. That is the only way to compare them honestly: seven separate prints would differ by seven other things too.
The spool must be dry. A wet spool pops, strings and bonds badly at every temperature, so the tower's bands all look mediocre and you can't rank them. Prusa list moisture as a direct cause of stringing, and suggest simply trying a different spool as a diagnostic.2 In Mauritius this is not an optional step — see Lesson 2.
The machine must be signed off. If the hotend wanders ±8 °C, your 5 °C bands overlap and the tower is unreadable. That was Lesson 8. Don't skip forward to here with an unmeasured machine — you'll write the machine's faults into a filament profile.
1What you are actually looking for
Not "the best-looking band". The goal is the lowest temperature that still bonds layers properly, and those are different questions. Hotter almost always looks glossier and smoother — and strings more, sags more on bridges, curls more on overhangs, and takes longer to freeze, which caps how fast you can print later.
So you are searching downward from "obviously hot enough" until bonding fails, and then stepping back one band. The failure you are hunting for is invisible from the outside, which is why the tower gets destroyed afterwards.
- Layer adhesion — snap each band off afterwards. This outranks everything.
- Bridge sag — the underside of a bridged span, measured by eye against the band above.
- Overhang curl — does the edge lift and get hit by the nozzle next layer?
- Stringing — between the tower and any second object.
- Surface sheen — last, and only as a tie-breaker.
Sheen is at the bottom deliberately. It is the most visible property and the least load-bearing one, and ranking on it is how people end up printing PETG 15 °C hotter than it needs.
The snap test is the whole lesson in one action. Break a band across the layer lines. A granular, ragged fracture that tears through the plastic means the layers fused into one solid. A clean, flat separation along a layer line means they didn't — they are stacked, not welded, and that part will fail in service no matter how good it looks.
2Build the tower
Any smooth-walled tall model with an overhang and a bridge will do. What matters is the G-code you wrap around it. With a layer height of 0.2 mm, 50 layers is exactly 10 mm — so a band change every 50 layers gives you 10 mm of each temperature.
temp-tower.stl — built for this lesson: seven 10 mm bands, each with a smooth outer wall, an 18 mm bridge and a 45° overhang, plus a detached pillar 40 mm away so every layer shows stringing too. Seven bands fit the suggested 30 °C ranges exactly (one band per 5 °C step, changes at layers 50–300); for a shorter range just leave the top conditional lines out and the last bands repeat your final temperature. Slice at 0.2 mm layers or the band maths breaks.
Set the filament profile's nozzle temperature to the highest value in your sequence, then step down. Stepping down means the machine is never asked to heat up mid-print and wait, which would stall in place and leave a blob.
;AFTER_LAYER_CHANGE
;[layer_z]
{if layer_num == 50}M104 S245{endif}
{if layer_num == 100}M104 S240{endif}
{if layer_num == 150}M104 S235{endif}
{if layer_num == 200}M104 S230{endif}
{if layer_num == 250}M104 S225{endif}
M104 sets the target and returns immediately — it does not wait for the nozzle to get
there.1 That is what you want (a wait would pause the print and
scar the wall), but it has a consequence: the first two or three layers of each band are still on their way
to the new temperature. Judge the middle of each band, never the boundary.
The block above is the worked PETG example; type your own range and this writes the exact lines. Band 1 is deliberately absent from the block — it prints at the filament profile's own temperature, which you set to the hottest value. Paste the result below whatever is already in the after-layer-change pane.
temp-tower.stl is 70 mm — only the bands that fit will print. Fewer bands, or shorter
ones.Open your machine. The command is the same; where you put it and what else is already there is not.
MK3S · Marlin, and the slow machine of the three
Path: Printer Settings → Custom G-code → After layer change G-code.
The MK3S's stock after-layer-change block is short. Append your conditional lines below whatever is already there — don't replace it.
Print it at MK3S speeds. Around 45–60 mm/s perimeters, per Lesson 8. A tower printed at speeds this machine can't hold will show you cooling and flow problems that you'll misread as temperature.
Suggested ranges (0.4 nozzle, 0.2 mm layer), highest first:
- PLA 230 → 200 · PETG 255 → 225 · TPU 95A 245 → 215
Set the filament profile's Other layers nozzle temperature to the top of the range, and its First layer temperature 5 °C above that — a cold first layer is an adhesion problem, not a calibration one, and you don't want it confusing the print.
MK4S · Buddy, and a stock profile that already runs hot
Path: Printer Settings → Custom G-code → After layer change G-code. Same pane,
and M104 follows standard Marlin behaviour on Buddy firmware.1
Read what's there first. The MK4S stock block is longer than the MK3S's — it can carry Input-Shaper- and nozzle-related lines. Append; never overwrite.
Prusa's MK4S PLA profile runs around 230 °C, noticeably above the 210–215 °C that MK3S owners are used to. That is not a different opinion about PLA — it is because the MK4S is built for high flow, and Prusa themselves note that bigger flow wants more heat.3 So run your tower's range higher on this machine than you would on the MK3S, and expect the answer to land higher too. If you later push MVS up in Lesson 15, you may have to come back and add heat.
Suggested ranges: PLA 240 → 210 · PETG 260 → 230 · TPU 95A 245 → 215.
Core One · same command, but the chamber is in the experiment
Path: Printer Settings → Custom G-code → After layer change G-code, exactly as
the MK4S. Same hotend class, same firmware, same suggested ranges.
An enclosure that is heating up through the print changes the ambient temperature between band 1 and band 7 — which is precisely the thing you are trying to isolate. Decide the door and vent state before you start, write it down, and don't touch it. The tower's answer is only valid for that state.
The working targets — vent open and chamber ≤ 30 °C for PLA, closed and 35–40 °C for PETG — are community consensus, not a Prusa specification. Treat them as a starting point you are testing, and log what your machine actually did.
Run the tower twice for PLA if you have the time: once vented, once closed. The difference is a real property of this machine, and it is the single most useful Core One-specific number you can put in your log.
That conditional lives in the printer profile, so it applies to every filament and every model you slice on that machine until you remove it. Leave it in and your next print silently drops 25 °C partway up for no reason you'll be able to find. Delete it the moment the tower comes off the bed — this is exactly the trap Lesson 4 warned about.
3Read it, then destroy it
- Photograph it first Raking light from one side, ruler alongside. You are about to break it, and the photo is the only thing that survives into the log.
- Mark the bands Pencil the temperature on each 10 mm section while you still know which is which. Every mis-recorded tower in history was mis-recorded at this step.
- Rank on bridges and overhangs Look at the underside of each bridge and the edge of each overhang. Sag and curl both get worse as temperature rises — find where they become acceptable.
- Snap every band Across the layers, with pliers if needed. Granular tear = bonded. Clean split along a layer = not bonded. Work from the coldest band upward and find the first one that tears rather than splits.
- Take that band, not the one above it The lowest temperature that passes the snap test is your answer. Then set the first layer 5 °C above it, because the first layer is fighting a cold bed and a cold sheet.
Write the winner into Filament Settings → Filament → Nozzle, both fields. Then log it —
with the machine, the spool, the colour and the date, per
Lesson 19. Colour matters: pigment loads change flow and
thermal behaviour within the same brand and material, so "eSun PETG" is not a spool identity, and
"eSun PETG, black, batch on the label" is.
Everything below it. Temperature is the first of Phase 2's seven measurements. If you come back and change this number by more than a couple of degrees, your extrusion multiplier, advance value, retraction length, cooling bands and MVS were all measured on a different material state and are now guesses. That is not a reason never to re-run it — it is a reason to get it right once, at the start, with a dry spool.
4Find the fault
Click each. Every one of these produces a tower you can read confidently and wrongly.
- The spool came straight off a shelf in a humid roomMoisture
- Ranked by looking right at each band's boundary lineRamp
- Picked the band with the nicest, glossiest surfaceCriteria
- The enclosure door was opened halfway throughAmbient
- A perfect tower, and the G-code was never removedCleanup
5Check yourself
From memory. Question 3 reaches back to Phase 0.
One tower, one material, one machine
Pick the machine you signed off in Lesson 8 and the material you print most. Then:
- Confirm and record the spool's drying state — temperature, hours, date it came out.
- Build the tower with the after-layer-change block, in your machine's suggested range. Paste me the block before you print it if you want it checked.
- Print, photograph, mark the bands, then snap every one of them.
- Report: the temperature you chose, the band that first failed the snap test, and what the failure looked like — clean split or granular tear.
- Confirm you deleted the G-code block.
→ Paste me all five. The one I care most about is point 4: if you can describe the fracture, you measured something. If you can only describe the surface, you ranked on sheen.
What you can now say
- Temperature is first because it moves everything else — flow, ooze, pressure lag and freeze time are all downstream of viscosity.
- The target is the lowest temperature that still bonds, not the best-looking band.
- The snap test outranks every visible criterion. Granular tear means fused; clean split along a layer means stacked.
M104doesn't wait, so the band edges are smeared — judge the middle.- The test G-code lives in the printer profile and must be deleted, or it corrupts every later print on that machine.
§References
- Prusa Research. Buddy firmware specific G-code commands.
M104is listed as "Set Extruder Temperature" with standard Marlin behaviour and no Buddy-specific parameters — it sets the target and returns without waiting. Link. - Prusa Research. Stringing and oozing. Stringing is caused by "very high printing temperatures and/or using incorrect retraction settings"; the recommendation to lower the nozzle by 5–10 °C; and the note that filament which "might have gathered moisture" will cause a lot of stringing. Link.
- Prusa Research. Max volumetric speed. "With larger nozzles, consider increasing the nozzle temperature to allow for even bigger MVS" — the documented link between heat and achievable flow that explains why the MK4S ships hotter profiles than the MK3S. Link.
- This course. Master tuning guide, §2.1 and §4 — the after-layer-change tower method, the judging priority order, and the per-material starting temperatures. Link.
Lesson L10 of the prusa-profile-tuning course · all lessons · The Calibration Card · glossary