What M105 means

A host such as a printer interface can poll M105 and receive a line containing current and target values for configured heaters. The exact labels vary, but common replies distinguish measured temperature from its setpoint, for example T:205.1 /210.0 and B:59.8 /60.0.

M105 is a request-response command. A G-code file contains the request, not the future sensor reply, so static analysis cannot reconstruct the machine temperature at that moment. Some hosts hide repeated M105 replies, and firmware may offer automatic reports such as Marlin M155 instead of polling.

Syntax and parameters

M105
M105 T<hotend-index> [R]
T

Request a particular hotend index on firmware that supports the parameter.

R

Include a redundant temperature sensor in Marlin when one is configured.

Practical examples

Request a report

M105

Firmware sends current heater readings back to the connected host.

Typical reply shape

ok T:205.1 /210.0 B:59.8 /60.0

Illustrative response: current/target values for the hotend and bed. Real labels depend on configuration.

Firmware context

SystemStatusWhat changes
MarlinCommonReports configured temperature sensors; M155 can provide periodic automatic reports.
KlipperCommonSupports M105 for host compatibility; structured clients should use the API for machine state.
RepRapFirmwareCommonProvides temperature/status reporting with response details defined by the firmware.
CNC controllersNot applicableM105 is not a general CNC temperature-report standard.

What this viewer can show

Request visible, live reply unavailable

The viewer can show M105 in source text but has no printer connection, sensor stream or host reply. It therefore does not invent a temperature reading.

Common mistakes

  • M105 does not heat the nozzle; use a target-setting command such as M104/M109 for that.
  • The target value in a reply is not proof that the heater has reached or can maintain it.
  • Static G-code and live telemetry are different evidence sources and should not be mixed.

Primary sources

This page is an original explanation, reviewed against the firmware documentation below. Always confirm commands against the firmware and configuration on the machine that will execute them.