X1C Specific G-Code
Bambu Labs has partially implemented Marlin G-Code commands and have added their own custom G-Code commands to perform functions that are not implemented in Marlin. It is also important to note that the X1C runs their own G-Code engine and does not use the open-source Marlin Firmware on their MC Board.
Hardware Control
Printer
Code | Description | Example |
---|---|---|
G29.1 |
Set Z-trim value to # Use 0 to clear Z-trim |
Squish for Textured PEI
|
G29.2 | Bed leveling compensation (ABL) |
Disable ABL
Enable ABL
|
G29.4 | High frequency z compensation |
Turn off high frequency z compensation G29.4 S0 Turn on high frequency z compensation
|
M205 |
Sets the jerk limits in mm/sec for the X Y Z and E motions
If you are not chainging an jerk limit axis you do not need to explicity list it |
|
M17 X/Y/Z#.# |
Set X/Y/Z Stepper Motor Current Be EXTREMELY careful using this command as it is VERY EASY to cause hardware damage with it should you set it too high!!! |
set Z stepper current to 0.4 Amps
|
M106 P1 S0-255 | Part cooling fan off-full*** |
Sets the part fan on at 70%
Sets the Aux fan on at 100%
Sets the chamber fan on at 0%
Sets the part fan on at 70%
|
M142 | Chamber Fan Temp Control |
Set chamber fan to min start rpm @35° and ramp to full speed at 40°
|
M400 | Pause |
Pause until all movement completes
Pause for 10 seconds
Pause for User Interaction
Pause for 500 miliseconds
|
M220 |
Set feed rate to percent of normal. Default Speed is 100 |
Set print rate to Ludicrous Speed.
|
M221 |
Set Flow rate |
disable the X endstop and enable them on Y and Z)
|
Disable endstop If you are not chainging an endstop you do not need to explicity list it |
disable the X endstop and enable them on Y and Z)
|
|
|
|
|
M622 |
Conditional code block and execute if selected flag is True, otherwise skip to the end of the code block Used with M1002 |
Execute if false
Execute if true
|
M623 |
End of the conditional code block
|
|
M710 A1 S0-255 |
Motor Control (MC) Board fan off-full Be EXTREMELY careful using this command as it is VERY EASY to cause hardware damage with it should you set it too high!!! |
Sets the part fan on at 70%
|
M900 | Set Pressure Advance, also known as Bambu Labs call this the K-value. |
|
M960 S0 P0 | Toolhead Lighting and Lazers |
Turn off all Leds
Turn on all Leds
Horizontal Laser Off
Horizontal Laser On
Vertical Laser Off
Vertical Laser On
Toolhead Light Off (micro-lidar)
Toohead Light On
Toolhead Logo Light Off
Toolhead Logo Light On
|
M970.3 |
Play mech mode test vibrations |
|
M971 | Internal Camera Control |
Take photo
|
M972 | Calibrate Micro-Lidar |
Move Lidar to calibration sticker
|
M973 |
Toolhead Camera
|
Enable Auto Exposure
Camera Off
Camera On
Turn off Micro-Lidar
Set Auto Exposure for Horizontal :Laser
Set Auto Exposure for Vertical Laser
|
M974 | Set Mech Mode Suppression Values |
|
M975 | Mech Mode Supression |
turn off mech mode supression
turn on mech mode supression
|
M976 |
Scan Heatbead before printing
First Layer Scan
|
|
M977 | first layer scanning |
Enable first layer scanning
|
M981 | Spaghetti detector |
Spaghetti detector off
Spagetti detector on
|
M982.2 | Motor Noise Cancelation |
Turn off motor noise cancelation
Turn on motor noise cancelation
|
M991 | Layer Change |
Notify Printer of Layer Change where # is the current layer number
Finish Smooth timelapse
|
M620 C# | calibrate AMS by AMS index | |
M620 R# | refresh AMS by tray index | |
M620 P# | select AMS tray by tray index | |
M620 S# | select AMS by tray index |
Pull Filament back into AMS
|
M621 S# | load filament in AMS by tray index | |
M1002 |
Select flag for conditional commands from slicer |
Check to see if extrusion calibration was set in the slicer
|
Update Printer Status on Slicer / LCD |
Clear (Set to printing)
Auto bed levelling
Heatbed preheating
Sweeping XY mech mode
Changing filament
Pause (M400)
Paused due to filament runout
Heating hotend
Calibrating extrusion
Scanning bed surface
Inspecting first layer
Identifying build plate type
Calibrating Micro Lidar
Homing Toolhead
Cleaning Nozzle Tip
Checking Extruder Temperature
Paused by the user
Paused due to toolhead cover falling off
Calibrating the micor lidar
Calibrating the extruder flow
Paused due to nozzle temperature malfunction
Paused due to heat bed temperature malfunction
|
|
M1003 | Power loss recovery |
Disable power loss recovery
Enable power loss recovery
|
M1004 | External Camera Shutter Control |
Actuate External Camera Shutter
|
M1005 | set skew correction |
Set skew correction
Add the above Gcode to the last line of the “Machine start Gcode” and only run it once as the compensation will compound each time it is run.
Set skew correction in radians
Unlike the first example this is not iterative, and will overwrite any skew value set
Reset skew correction
|
M1006 | Play Sound Through Speaker |
Enable Speaker?
Set note to play
Play supplied notes
|
T1000 | Set toolhead to extruder |
|
T1100 | Set toolhead to Micro-Lidar |
|
Software Control
Code | Description | Example |
---|---|---|
No Comments