I have been playing around with creating scripts to generate some custom G-code for a Malyan M180 and I am having trouble understand what commands to use to switch nozzles. Sometimes I can get the nozzles to switch and it doesn't recenter but sometimes it does. I have been using:

M108 T0; switch to left


M108 T1; switch to right

Has anyone else looked into this and have any idea what commands or sequence of commands should be used to change nozzles?

  • $\begingroup$ Be careful with questions about G-Code as it is no longer standardized and can technically be different between manufacturers and even between models. This is true across all machines (mills, lathes, 3d printers, routers, etc.) $\endgroup$
    – tbm0115
    Mar 9, 2017 at 15:19
  • $\begingroup$ Adding on to tbm0115's comment, G-code differs across firmwares, and can change between firmware releases. The reprap wiki, linked in one of the answers, attempts to provide information for the most popular 3D printing firmwares, but it is not always accurate or up-to-date. $\endgroup$
    – K .
    Apr 10, 2017 at 22:27

2 Answers 2


No, M108 does not do that. You are looking for T#, where # is the tool position you want:

T1 ; switch to tool position 1 

T3 ; switch to tool position 3 

This tells the processor to send all heating, cooling and flow commands to this tool until another tool change is specified, and invokes the X/Y(/Z) offset for the new tool position.

See http://reprap.org/wiki/G-code#T:_Select_Tool


As @tbm0115 has mentioned - it differs. Your M108 T{index of tool} command is perfectly fine on some FlashForge printers, a company known for its different sorts of proprietary code. It is indeed used for tool changing here.

While on the common Marlin firmware (e.g. used on the popular Creality Ender printers), M108 does a completely different thing-namely acting as a break sequence if the G-code parser is in a closed-loop-condition (after certain commands like M109 that wait until a certain action takes place).


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .