Temperature, Heating, and Extrusion Errors
This page compiles errors related to temperature sensors, heaters, heat beds, extrusion, and filament runout detection. For temperature protection errors, first verify the hardware and temperature curves; do not bypass the issue by disabling protection.
Error 'XXX mcu' shutdown: ADC out of range
Error Message: ADC out of range, abnormal temperature detection.
Cause: Klipper detects a temperature outside the configured range, commonly caused by open or short circuits in the thermistor, wiring errors, incorrect thermistor model configuration, or pin configuration errors.
Temporarily relaxing min_temp and max_temp is for troubleshooting only and should not be a permanent configuration. After confirming the issue, restore safe ranges to avoid disabling temperature protection.
Troubleshooting steps:
Before checking thermistors, heater cartridges, heat beds, fuses, SSRs, MOSFETs, or power-related wiring, completely power off the printer and disconnect the power supply. Allow the hot end and heat bed to cool. Do not disassemble the power supply, touch exposed power terminals, or inspect high-voltage heat bed wiring.
- Power off and wait for cooling. Check if the thermistor is securely plugged in and if the wiring is broken or shorted.
- Verify that the thermistor model and pin configuration match the actual hardware.
- If necessary, temporarily relax the temperature range to confirm reading changes, e.g., lower
min_tempand raisemax_temp. - Once wiring or configuration issues are found and resolved, immediately restore the original safe temperature limits.
- Save and restart Klipper.
Related configuration reference: Heating.
Heater not heating at expected rate
Error Message: The heater is not heating up at the expected rate. The log may show Heater extruder not heating at expected rate or Heater heater_bed not heating at expected rate.
Common causes:
- Abnormal output from the heater cartridge, heat bed, SSR, or MOSFET.
- Poor contact of the thermistor, partially broken wire, or fluctuating readings.
- Fans blowing directly onto the hot end, heat bed, or heating area, causing slow heating.
- Insufficient heat bed power or low
max_powerlimit. - Inappropriate PID parameters causing large fluctuations near the target temperature.
Solutions:
Before checking heaters, thermistors, heat beds, fuses, SSRs, MOSFETs, or power-related wiring, completely power off the printer and disconnect the power supply. Allow the hot end and heat bed to cool. Do not disassemble the power supply, touch exposed terminals, or inspect high-voltage heat bed wiring.
- Power off and wait for cooling. Check that the heater and thermistor wiring are secure.
- Observe the temperature curve to see if heating is continuous and if there are abnormal fluctuations.
- Check if any fans are blowing directly onto the hot end or heat bed.
- For issues with SSRs, MOSFETs, power supply capacity, or high-voltage heat beds, general users should prioritize troubleshooting by replacing complete modules, checking web temperature curves, and contacting customer support. Do not disassemble or perform electrical tests.
- Once hardware is confirmed normal, re-run PID calibration.
- If the issue is simply slow heating due to a large heat bed or special structure, refer to verify_heater optimization.
Related configuration reference: Heating, M109 optimization.
Abnormal Temperature Reading (Displaying 0°C or Continuous Fluctuations)
Error Message: Temperature displayed as 0°C, a negative number, or continuous large fluctuations (±10°C or more).
Common causes:
- Broken thermistor wire (shows 0 or very low value).
- Shorted thermistor (shows very high value or triggers ADC out of range).
sensor_typeconfiguration does not match the actual thermistor model.- PT100 sensor missing the
pullup_resistorconfiguration. - Thermocouple signal interference requiring
filter_lengthorthermocouple_max_errorconfiguration. - ADC noise interference.
Solutions:
- Run
QUERY_ADC SENSOR=extruder_tempto see the raw ADC reading. - Run
M105to see the current temperature reading. - Verify that
sensor_typematches the hardware. Common types areNTC 100K beta 3950,PT100,MAX31865, etc. - For PT100 sensors, check
sensor_pin,rtd_reference_r, andrtd_num_of_wires. - For thermocouples, check
thermocouple_max_error. For significant ADC noise, checkfilter_length.
Related configuration reference: Heating.
MCU shutdown: Verify heater extruder/heater_bed
Error Message: MCU 'mcu' shutdown: Verify heater extruder or Verify heater heater_bed.
Cause: Klipper's built-in verify_heater safety check detects that the heater's temperature change does not meet expectations. This could be due to abnormal heater output, unreliable thermistor readings, SSR response delays, or a large heat bed's heating curve not matching the default detection parameters.
Do not bypass the error by directly disabling the verify_heater function or setting its thresholds to extremely unreasonable values. This removes Klipper's final safety check for heaters and thermistors.
Common scenarios:
- Large heat bed + SSR: SSR switching response, heat bed thermal mass, and default
heating_gainare mismatched. - After replacing the heater cartridge, heat bed, or thermistor, the new hardware's thermal characteristics are incompatible with the old PID and validation parameters.
- Fans blowing directly onto the hot end, causing temperature fluctuations from ambient airflow to exceed the
max_errorrange. - Poor contact or loose installation of the thermistor, causing intermittent reading fluctuations.
- Unstable power supply voltage or insufficient power supply capacity.
Troubleshooting methods:
Before checking heaters, thermistors, SSRs, MOSFETs, fuses, or power-related wiring, completely power off the printer and disconnect the power supply. Allow the hot end and heat bed to cool. Do not disassemble the power supply, touch exposed terminals, or inspect high-voltage heat bed wiring.
- First, power off and check if the thermistor is securely plugged in and the heater wiring is solid.
- Observe the temperature curve in
klippy.logbefore the shutdown. If the curve rises steadily without fluctuations, the parameters are likely too sensitive. If the reading jumps, drops to zero, or spikes rapidly, prioritize resolving hardware issues. - Check the
[verify_heater extruder]or[verify_heater heater_bed]configuration section. - After confirming hardware is normal, re-run PID calibration and observe if the error still triggers falsely.
- For more detailed parameter explanations and tuning examples, refer to verify_heater optimization.
HOST temperature above maximum temperature
Error Message: HOST temperature xx above maximum temperature or MCU temperature not supported on xxx.
Common causes:
- The host computer's CPU temperature is too high, exceeding
max_tempin[temperature_host]. - The mainboard MCU's built-in temperature sensor is not supported by the current firmware/chip.
- Insufficient cooling for the host computer, such as a sealed enclosure, stopped fan, or high ambient temperature.
Solutions:
- Check the host computer's heatsink, fan, and case ventilation.
- Use
vcgencmd measure_temp,sensors, or system monitoring to check CPU temperature. - If only the threshold is set too low, adjust
[temperature_host] max_tempappropriately, but do not disable temperature protection. - If the error is
MCU temperature not supported, delete or comment out the[temperature_mcu]configuration for the unsupported MCU.
Related configuration reference: Fan reference configuration.
Requested temperature out of range
Error Message: Requested temperature (285.0) out of range (0.0:130.0), Requested temperature (-5.0) out of range (0.0:300.0), Unknown temperature sensor 'xxx', Sensor 'xxx' temperature xxx not in range, Unable to open temperature file 'xxx'.
Common causes:
- A macro passes the nozzle temperature to the heat bed, or the heat bed temperature to the nozzle, causing the target temperature to exceed the respective heater's range.
- Inconsistent variable names between the slicer and Klipper macro parameters, resulting in the macro receiving empty values, default values, or incorrect calculation results.
- Unreasonable
min_temp/max_tempsettings in[extruder],[heater_bed], or[temperature_sensor]. TEMPERATURE_WAIT,SET_HEATER_TEMPERATURE, or temperature-controlled fan commands using a non-existent sensor name.- The system temperature file pointed to by
[temperature_host]does not exist or is not supported by the current system.
Solutions:
- Check the temperature range in the error message to determine if the nozzle, heat bed, mainboard temperature, or host temperature is out of range.
- Check the startup macro and slicer parameters to ensure variable names like
BED,BED_TEMP,HOTEND, andEXTRUDER_TEMPcorrespond correctly. - Set reasonable default values for temperature parameters in macros and use
|floatconversion. - Do not significantly raise
max_tempto bypass the error; first confirm the parameters and sensor configuration are correct. - If the error is
Unknown temperature sensor, check if the sensor name in the command matches the configuration section name.
Related configuration reference: Heating, Macros introduction.
Extrusion Issues
Extrude below minimum temp
Error Message: Nozzle temperature is below the minimum allowed for extrusion. The log may show Extrude below minimum temp or Extruder not hot enough.
Solutions:
- Ensure the nozzle has reached the required temperature for the filament before extruding.
- Check startup G-code,
M600,PAUSE,RESUME, and other macros for temperature wait commands. - Use
M109or Klipper's equivalent wait commands where needed. - Check the thermistor and temperature curve for stable readings.
- It is not recommended to permanently lower
min_extrude_tempto bypass this error.
Related configuration reference: M109 optimization, Macros introduction.
Extrude only move too long
Error Message: Extrude only move too long (xxmm vs xxmm).
Solutions:
- Check the slicer retraction distance. Do not blindly set very high values even for Bowden remote extruders.
- Check if macros for filament change, load, unload, or nozzle wipe have extrude/retract distances that are too long for a single move.
- Check if the E-axis state is correct when resuming a print to avoid treating a historical E value as a new relative extrusion distance.
- Check if macros correctly use
M82/M83andG92 E0. - If a long pure extrusion move is genuinely needed, increase
max_extrude_only_distancein[extruder]appropriately, but do not use an excessively large value to mask macro state errors.
Related configuration reference: Extruder reference configuration, Macros introduction.
Move exceeds maximum extrusion
Error Message: Move exceeds maximum extrusion (xxmm^2 vs xxmm^2).
Solutions:
- Check the slicer for abnormal filament diameter, nozzle diameter, extrusion multiplier, and line width.
- Check if startup lines, wipe lines, filament change macros, prime towers, or purge macros are generating abnormally large E values.
- Check if the
M82/M83extrusion mode andG92 E0in startup/pause/resume macros are consistent with the slicer. - Check
nozzle_diameter,filament_diameter, ormax_extrude_cross_sectionin[extruder]. - After changing the nozzle diameter, update the Klipper configuration, slicer nozzle size, line width, and extrusion multiplier accordingly.
- It is not recommended to significantly increase
max_extrude_cross_sectiondirectly; first confirm the G-code and slicer parameters are correct.
Related configuration reference: Extruder reference configuration, Machine calibration.
Extrude when no extruder present / Extruder not configured
Error Message: Extrude when no extruder present, Extruder not configured, or Active extruder does not have a stepper.
Solutions:
- Verify that the main extruder configuration section is named
[extruder]. - For multi-extruder or synchronized extrusion scenarios, check
[extruder_stepper]andSYNC_EXTRUDER_MOTION. - Check if
ACTIVATE_EXTRUDER,T0/T1, or custom switching commands in macros point to valid configuration sections.
Related configuration reference: Extruder reference configuration.
Filament Runout Detection and M600 Filament Change Errors
Error Message: Filament sensor: runout detected, print interruption after M600 macro execution cannot be resumed, or the filament runout sensor is persistently triggered or untriggered.
Solutions:
Before checking, plugging/unplugging, or replacing the filament runout sensor wiring, completely power off the printer and disconnect the power supply. Do not plug/unplug sensor modules or rearrange interface wiring while the power is on.
- Run
QUERY_FILAMENT_SENSOR SENSOR=<sensor name>. Confirm the status isopen(ornot triggered) when filament is inserted and changes when filament is removed. - If the status never changes, power off and check the sensor wiring,
switch_pin, and pull-up configuration. - If false triggers occur frequently during printing, check if the wiring is excessively bent in the cable chain or being pulled by moving axes.
- Check the
M600macro logic to ensure the pause, retract, lift, and resume sequences are correct. - In multi-extruder scenarios, ensure that
ACTIVATE_EXTRUDERand the runout detection logic affect the same extruder.
Related configuration reference: Macros introduction, Filament runout sensor reference configuration.