Is the bed surface as hot as the temperature you set?
No, the top runs a few degrees cooler. The bed’s sensor sits underneath, so Prusa puts its steel sheet about 5 to 10 °C below the reading. A thermal camera found 56 °C on a Prusa i3 MK3 set to 60 °C, and 4 mm glass lost 10 °C at 100 °C.
- Sensor the firmware controls on
- Contact probe on the print surface
- Heater and aluminum plate
- Steel sheet or glass
The number
| Bed and print surface | Sensor reading | Top surface | Gap | How it was measured |
|---|---|---|---|---|
| Prusa heatbed with steel sheet | any | not stated | about 5 to 10 °C | Prusa’s figure for sheet versus heatbed bottom |
| Prusa i3 MK3 | 60 °C set | 56 °C | 4 °C | Thermal camera, 25 °C room |
| 4 mm glass on a heated bed | 60 °C | not stated | about 5 °C | Thermocouple on the glass |
| 4 mm glass on a heated bed | 100 °C | not stated | about 10 °C | Thermocouple on the glass |
| 1/8 in aluminum print plate on a 1/4 in spreader | 110 °C target | 107.5 °C average of 25 points | 3.6 °C average | Thermocouple with thermal grease |
| Same aluminum plate | 170 °C target | 160.3 °C average of 25 points | 11.0 °C average | Thermocouple with thermal grease |
The Prusa row comes from the Prusa Knowledge Base and the MK3 row from Ramos, Mittermeier and Kiendl. The glass rows come from a thermocouple test that dc42 posted on the Duet3D forum. The aluminum rows come from McGrady and Walsh’s 2020 ASME conference paper on a custom printer, where the gap is measured to the controller’s own reading rather than the target.
Why
The firmware regulates the sensor, not the surface. Prusa’s thermistor sits under the heatbed, and the McGrady and Walsh controller read a thermocouple under the spreader plate. Heat flows up through the aluminum, then the steel sheet or glass, while the top surface loses heat to the room. The surface settles below the sensor.
The gap grows with temperature. dc42’s glass drop doubled from about 5 °C at 60 °C to about 10 °C at 100 °C. On the aluminum plate it went from 3.6 °C at 110 °C to 11.0 °C at 170 °C, and the spread across 25 points widened from 4.6 °C to 9.4 °C.
Can an IR thermometer read the bed surface?
Not reliably. Prusa calls an IR (infrared) thermometer “not the correct way” to measure the bed. It averages a circle much bigger than its laser dot, so near an edge it can read well low. It also depends on emissivity, how strongly a surface gives off infrared. Cheaper units fix that setting, so the same heat reads differently on different surfaces.
The spot also grows with distance. At Fluke’s example ratio of 12:1, the thermometer reads a 1 in circle from 12 in away. Fluke warns that shiny metal under-reads, so if you must use one, put non-reflective electrical tape or flat paint on the spot first.
Does PID tuning close the gap?
No. PID (proportional-integral-derivative) tuning makes the heater hold its sensor at the target without overshoot or swing. The sensor stays under the bed, so the surface stays cooler by the same gap. Tune first anyway, so the reading you correct from is stable:
- Marlin:
M303 E-1 C8 S60tunes the bed (E-1) at 60 °C over 8 cycles; save withM500. - Klipper:
PID_CALIBRATE HEATER=heater_bed TARGET=60, thenSAVE_CONFIG.
Swap in your usual bed temperature for 60.
How to check it on your own print
- Fix a contact probe to the sheet. Prusa’s method is a thermistor or contact probe fixed to the sheet with a little thermal paste. Put it mid-bed and hold it down with Kapton tape.
- Heat to your usual setting and wait. Read the probe only once its number stops climbing. Glass and thick plates take longer than the sensor reading suggests.
- Subtract. The setpoint minus the probe reading is your gap. Prusa notes a fixed probe can still read about 5 °C low, so treat the gap as an upper bound.
- Raise the setpoint by that gap. Change it in the filament profile, not the printer settings; the steps are in changing bed temperature in the slicer. dc42 runs PLA (polylactic acid) at an indicated 70 °C on the 4 mm glass from the test above. Stay inside the heater’s limit on heated bed max temperature.
- Repeat at a second temperature. The gap at 60 °C will not hold at 100 °C, so measure at each bed setting you use.
- On Klipper, keep the probe. Add it as a
[temperature_sensor bed_surface], which reports throughM105. In your start macro,TEMPERATURE_WAIT SENSOR="temperature_sensor bed_surface" MINIMUM=<your surface target>then holds the print until the surface itself is hot.
If the first layer still won’t stick once the surface is at target, the cause is elsewhere: see bed temperature and adhesion.
Sources
- Heatbed not heating up properly, Prusa Knowledge Base (accessed October 15, 2026)
- Experimental and numerical investigations on heat transfer in fused filament fabrication 3D-printed specimens, Ramos, Mittermeier and Kiendl, International Journal of Advanced Manufacturing Technology (2022) (accessed October 15, 2026)
- Bed temperature lower than what thermistor reports, Duet3D Forum (thermocouple test posted by dc42) (accessed October 15, 2026)
- Dual Extrusion FDM Printer for Flexible and Rigid Polymers, McGrady and Walsh, ASME MSEC 2020 (accessed October 15, 2026)
- How to Get Great Results with an Infrared Thermometer, Fluke (accessed October 15, 2026)
- M303: PID autotune, Marlin Firmware documentation (accessed October 15, 2026)
- Configuration checks, Klipper documentation (accessed October 15, 2026)
- G-Codes, Klipper documentation (accessed October 15, 2026)
- Configuration reference, Klipper documentation (accessed October 15, 2026)