M109 - Wait for Hotend Temperature

thermal Wait for the hot end to reach its target.


This command optionally sets a new target hot end temperature and waits for the target temperature to be reached before proceeding. If the temperature is set with S then M109 waits only when heating. If the temperature is set with R then M109 will also wait for the temperature to go down.


With PRINTJOB_TIMER_AUTOSTART this command will start the print job if heating, and stop the print job timer if the temperature is set at or below half of EXTRUDE_MINTEMP.

This command (as well as M190) can block new commands from the host, preventing remote shutdown. However, if EMERGENCY_PARSER is enabled, a host can send M108 to break out of the wait loop.

To set the hot end temperature and proceed without waiting, use M104.


M109 [B<temp>] [F<flag>] [I<index>] [R<temp>] [S<temp>] [T<index>]



With AUTOTEMP, the max auto-temperature.


    Autotemp flag. Omit to disable autotemp.


      Material preset index. Overrides S.


        Target temperature (wait for cooling or heating).


          Target temperature (wait only when heating). Also AUTOTEMP: The min auto-temperature.


            Hotend index. If omitted, the currently active hotend will be used.


              Set target temperature and wait (if heating up)

              M109 S180

              Set target temperature, wait even if cooling

              M109 R120

              Set target temperature for E1 and wait (if heating up)

              M109 T1 R205

              AUTOTEMP: Set autotemp range, wait for temp

              M109 F S180 B190

              AUTOTEMP: Disable autotemp, wait for temp