AA

Featured products

    Popular categories

      Trending searches

        Articles

          Blog

            Products

              Categories

                Suggested searches

                  Searching…
                  No results
                  Something went wrong.
                  ↑↓ Select↵ OpenEsc Close search
                  • English
                  • Čeština
                  • Deutsch
                  • Español
                  • Français
                  • Italiano
                  • Polski
                  • 日本語
                  • Orders
                  • Address
                  • In-stock Alerts
                  • My Courses
                  • Subscription
                  • Edit Account
                  • 3D printers9+▾

                    3D printersnew

                    newPrusa CORE One L+Learn more
                    newPrusa CORE One+ (Gen 2)Learn more
                    newPrusa CORE One L+ INDX 8-ToolnewPrusa CORE One+ (Gen 2) INDX 8-ToolPrusa CORE One L+: Critical InfrastructureOriginal Prusa MK4SnewOriginal Prusa XL+Original Prusa XL+: Critical Infrastructure

                    Printer upgrades

                    newINDX Conversion KitsnewPrusa CORE One L to CORE One L+ upgradenewPrusa CORE One+ to Prusa CORE One+ (Gen 2)newPrusa XL to Prusa XL+ Upgrade
                    Prusa Reward ProgramLove your Prusa printer? Share your experience and earn $30 Prusa e-shop vouchers.
                    How to Choose a 3D Printer?We’ll walk you through the basics to find the exact machine for your space, budget, and ideas.
                    Free E-bookDownload a free e-book Basics of 3D Printing with Josef Prusa and make your first steps in 3D printing world
                    Original Prusa Printable PartsCollections of printable spare parts for Original Prusa 3D printers and upgrades.
                    Shipping informationRegularly updated info about the current manufacturing capacity and delivery times of our printers.
                    Custom 3D PrintingProfessional custom 3D printing from various materials according to your requirements.
                  • Materials▾

                    Filaments

                    PrusamentPLAPETGASA / ABSPC (Polycarbonate)PA (Nylon)FlexCompositesSpecialMaterials clearance sale

                    Resin

                    Prusament ResinResin Cleaner
                    Filament GuideCheck my Prusament Spool
                    Prusament.com
                  • Parts & Accessories▾

                    Accessories

                    EnclosuresNozzlesPrint SheetsEssential AccessoriesCameras & AddonsTools & CraftingAdhesives

                    Spare parts

                    Merchandise

                    Spare parts - All PrintersCORE OneMK4/S & MK3.9/SMK3/S/+XL
                    Merch
                  • For Business▾
                    Prusa Pro HT90Prusa Pro SLXPrusa Pro AFSPrusa Pro Medical OneOriginal Prusa XLOriginal Prusa XL: Critical Infrastructure
                    Prusa CORE One+Learn more
                    Prusa CORE One LLearn more
                    Prusa CORE One L: Critical Infrastructure Edition

                    3D Printing for

                    Manufacturing and R&DAutomotive IndustryHealthcareEducation and Academic ResearchArchitects and DesignersFilm IndustryCritical Infrastructure

                    3D Printing Stories

                    • How 3D printing started: About Rep-rap and open-source with Adrian Bowyer
                    • Teaching mathematics redefined with 3D printing at JKU Linz
                    • The story behind the LTT screwdriver
                    • Victoria Hand Project: Changing Prosthetic Care with 3D Printing
                    Official Prusa Resellers
                    Sustainability
                    Prusa Education
                    Contact and Inquiry
                    Custom 3D Printing
                    ISO Certified
                  • Software▾
                    PrusaSlicer

                    PrusaSlicerPrusaSlicer

                    PrusaSlicer is an open-source, feature-rich, frequently updated tool that contains everything you need to export the perfect print files for your 3D printer.

                    WindowsMacOSLinux
                    Prusa Connect

                    Prusa Connect

                    Prusa Connect is a cloud service enabling remote control and monitoring of your 3D printers, offering secure data handling, easy setup, and support for managing multiple printers from anywhere.

                    Log in to Connect
                    Prusa.app

                    Prusa.app

                    Control your printer/s remotely from anywhere using the Prusa Connect technology behind. Prusa.app brings a new level of Prusa printer experience to Android and iOS phones.

                    Try it now!
                    Drivers & FirmwareDownload the latest firmware and drivers for your 3D printer.
                    PrusaSlicer Support
                    Prusa Connect Support
                  • 3D Models▾
                    3D PrintersArt & DesignHobby & MakersHouseholdTabletop MiniaturesToys & GamesPrintables Store

                    Popular 3D models

                    • Strong garden hose holder
                    • Prusa Spool Bot
                    • Build Tray — Modular Organizer for Assembly, Disassembly and Maintenance
                    • Broom Holder
                    • Octagon Fabric
                    • Prusa CORE One ? (Mimic Skin)

                    Design Contests

                    • Réutilisation de la carte mère Framework Laptop 129/1/2026 – 9/30/2026
                    • 🏆 Défi du designer : Tours de magie !9/1/2026 – 9/22/2026
                    • Organisateurs de maquillage9/4/2026 – 9/20/2026
                  • Community▾

                    Upcoming Events

                    • 3D Printopia 20269/26/2026 – 9/27/2026 · Pennsylvania, United States · Prusa Team
                    • Maker Faire Bay Area9/25/2026 – 9/27/2026 · Kalifornie, United States · Prusa Team
                    • Hobby Messe10/2/2026 – 10/4/2026 · Sachsen, Germany · Prusa Team
                    • Mezinárodní strojírenský veletrh10/6/2026 – 10/9/2026 · Jihomoravský kraj, Czechia · Prusa Team

                    Prusa Forum

                    • LDC Screen Locked Up on Progress Screen during Print?
                    • Prusa slicer can't use multiple filaments with difference shrinkage rates?!
                    • Front Fan Wiring route
                    Prusa World MapPrusa World MapFind local 3D printing users and explore the community around you.
                  • Help▾
                    Guides & TutorialsPrusaSlicerPrusa ConnectMaterials

                    Printer Model

                    CORE One INDXCORE One LCORE One+CORE One

                    Hardware Troubleshooting

                    • Selftest failed (CORE One/+)
                    • Clogged nozzle (CORE One, CORE One L, XL, MK4/S, MK3.9/S)
                    • Adjusting belt tension (CORE One/+, CORE One INDX, CORE One L/+)
                    • Prusa Connect and PrusaLink explained

                    Drivers & Firmware

                    INDX familyCORE One familyMK4 familyXL familyMMU familyPRO family
                  • Courses▾

                    Become an expert in 3D printing

                    Prusa Academy offers online courses on various 3D printing related topics. Each course features:

                    • easy-to-read text with many pictures and short videos
                    • links for inspiration and further study
                    • quizzes for testing your knowledge along the way
                    • certificate of completion
                    Browse all coursesMy courses library
                    • 3D Modeling in Autodesk Fusion
                    • PrusaSlicer Masterclass – Beginner to Advanced
                    • Complete Guide to 3D Print Postprocessing, Painting, and Detailing
                    • Beginner's Guide to Blender for 3D Printing: Edit and Remix STLs
                  • Blog▾
                    • Prusament PLA ColorMix: Print 45 color shades using just five filament spools (and more)
                    • Back-to-School 2026 Deals Are Here!
                    • PrusaSlicer 3.0 Preview – Built for the Future of 3D Printing
                    E-Book: Basics of 3D Printing
                  • Company▾

                    About Prusa Research

                    We are the largest maker of 3D printers in Europe and the United States.

                    Founded as a one-man startup in 2012 by Josef Prusa, a Czech hobbyist, maker, and inventor. In just 15 years, we've grown into a company of more than 1,200 people. Every month, we design, build, and ship over 10,000 innovative and secure 3D printers from our headquarters in Prague, Czech Republic, and Delaware, USA, to users in more than 160 countries.

                    Watch a video and find out how Prusa Research was born and what we achieved within only 10 years!

                    About UsTimelineSustainabilityOpen-source
                    About Us
                    Contact Us
                    Logo and Photos
                    ISO Certified
                  1. Support
                  2. Original Prusa MK4S
                  3. Configuration and profiles
                  4. Buddy firmware-specific G-code commands
                   

                  Contents

                  • G-codes
                  • M-codes
                  • T-codes
                  • Special / Other commands

                  Blog

                  • Prusament PLA ColorMix: Print 45 color shades using just five filament spools (and more)
                  • Back-to-School 2026 Deals Are Here!
                  • PrusaSlicer 3.0 Preview – Built for the Future of 3D Printing

                  Newsletter

                  Signup and get our monthly squeeze on updates, blog, printables and much more.

                  By clicking, you agree to receive our newsletter.

                  This site is protected by reCAPTCHA Enterprise and the Google Privacy Policy and Terms of Service apply.

                  Strong garden hose holder
                  E-shop
                  • 3D Printers
                  • Printer Upgrades
                  • Filaments
                  • Accessories
                  • Prusa Merchandise

                  © Prusa Research a.s.

                  Printables
                  • 3D Models
                  • Store
                  • Clubs
                  • 3D Design Contests
                  • Brands
                  Community
                  • World Map
                  • Forum
                  • User Groups
                  • Events
                  Help
                  • Prusa Help
                  • Prusa Academy
                  • 3D Printing Calculators
                  Software
                  • PrusaSlicer
                  • Prusa.app
                  • Prusa Connect
                  • Drivers and Software
                  Company
                  • About Us
                  • Blog
                  • Official Prusa Resellers
                  • Contact Us
                  • Certified for ISO 9001, ISO 14001, ISO 45001
                  • General Terms and Conditions
                  • General Terms and Conditions of Use of the PRUSA Websites
                  • Privacy Policy
                  • Information about cookies
                  • Customer Complaints Policy
                  • Status Page
                  • Do Not Sell or Share My Personal Information
                  • Supplemental Statements
                  • General Terms and Conditions
                  • General Terms and Conditions of Use of the PRUSA Websites
                  • Privacy Policy
                  • Information about cookies
                  • Customer Complaints Policy
                  • Status Page
                  • Do Not Sell or Share My Personal Information
                  • Supplemental Statements

                  © Prusa Research a.s.

                  JOSEF PRUSA®, PRUSA RESEARCH®, PRUSA POLYMERS®, PRUSA ORANGE®, PRUSA 3D ® AND PRUSAMENT® are registered trademarks of Prusa Development a.s. used by Prusa Research a.s. under licence from Prusa Development a.s.

                  Buddy firmware-specific G-code commands

                  Relevant for

                  MK4 family
                  XL family
                  MMU family
                  MINI family
                  MK3.5 family
                  +
                  11 comments
                  Article is also available in following languages
                  English
                  Čeština
                  Polski
                  Deutsch
                  Français
                  Español
                  Italiano
                  日本語

                  This is a list of currently implemented G-Codes in Prusa Buddy firmware for MINI/MINI+/XL/MK4/MK3.5 printers. The description is available only for Prusa Research-specific G-codes or the ones having a specific implementation.
                  Since, Prusa Buddy firmware uses a fork of Marlin 2 firmware, the generic G-codes should be Marlin-compatible and their description can be found in Marlin documentation or on RepRap Wiki.

                  For G-code documentation of Prusa firmware for i3 series printers (MK2.5/S, MK3/S/+ etc.), visit the Prusa firmware-specific G-code commands article.
                   

                  G-codes

                  G0 - G0 & G1: Move

                  G1 - G0 & G1: Move

                  G2 - G2 & G3: Controlled Arc Move

                  G3 - G2 & G3: Controlled Arc Move

                  G4 - G4: Dwell

                  G26 - G26: Mesh Validation Pattern

                  First layer calibration, must be run within selftest only.

                  G27 - G27: Park toolhead

                  See P0

                  G28 - G28: Move to Origin (Home)

                  Performs the precise homing. (with no MBL, even without the stadard W parameter)

                  G28 issued without parameters homes the MMU3 as well. (invalidates the homing flags of Selector and Idler. These will perform homing async once it is considered safe, i.e. no filament in the selector)

                  Parameters:

                  • X, Y, Z: home the individual axes.
                  • C: home Z-axis only
                  • P: just invalidate the selector's homing validity flag
                  • I: just invalidate the idler's homing validity flag

                  G29 - G29: Detailed Z-Probe

                  Invalidates previous bed mesh measurements and starts the Mesh Bed Leveling (MBL).

                  G30 - G30: Single Z-Probe

                  G54_59 - Select a new workspace 

                  (For iX printers only)
                  A workspace is an XYZ offset to the machine native space. All workspaces default to 0,0,0 at start, or with EEPROM support they may be restored from a previous session.
                  G92 is used to set the current workspace's offset.

                  G64 - Measure Z-Axis height

                  Measure the Z length and saves the max_z_pos into EEPROM. Then, it shows the results on the serial line.

                  Parameters:

                  • D: Additional z offset

                  Examples:

                  G64 : Measure the Z length, save the measurement, show results on the serial line.

                  G64 D0.2 : Execute the G64 command but add extra 0.2 to the measurement.

                  G65 - Advanced homing/part measurement

                  (For iX printers only)
                  Homing to any endstop. Supports separate home positions in CNC workspaces(G54-G59.3)(enabled by defining CNC_COORDINATE_SYSTEMS in advanced config) Only supports homing of one axis at a time

                  Use: G65 [AXIS][ENDSTOP] D[DIRECTION][DISTANCE] [AXIS] Axis to home(X, Y, Z, E) [ENDSTOP] Target endstop number. [DIRECTION] Direction of homing '+' for positive or '-' for negative direction [DISTANCE] Distance to travel. If endstop is not reached within this distance, motion will stop and position will not be updated to endstop position.

                  G75 - G75: Print temperature interpolation

                  G76 - G76: PINDA probe temperature interpolation

                  G80 - G80: Mesh-based Z probe

                  For MK4 printer with MK3 G-code reverse compatibility.
                  Performs the Mesh Bed Leveling as with the G29.

                  G90 - G90: Set to Absolute Positioning

                  G91 - G91: Set to Relative Positioning

                  G92 - G92: Set Position

                  G162 - Calibrate Z

                  Z-axis leveling.

                  Parameters:

                  • Z: Calibrate Z.
                    With no parameters, no action is performed.

                  Example:

                  G162 Z : Level the Z-Axis.

                  G163 - Measure length of axis

                  Parameters:

                  • X, Y: Set an axis to measure the length on.
                  • S<value>: Set sensitivity.
                  • P<value>: Set measurement period.

                  G425 - G425: Perform auto-calibration with calibration cube

                  Automatic calibration with calibration object. Toolhead offset / Backlash calibration

                   

                  M-codes

                  M0 - M0: Stop or Unconditional stop

                  Pauses a print and waits for user interaction. 

                  M17 - M17: Enable/Power all stepper motors

                  M18 - M18: Disable all stepper motors

                  M20 - M20: List SD card

                  Lists the contents of the USB drive.

                  M23 - M23: Select SD file

                  Select a file from the USB drive.

                  M24 - M24: Start/resume SD print

                  Starts or resumes a print from USB drive.

                  M25 - M25: Pause SD print

                  Pauses a print from the USB drive.

                  Parameters:

                  • U: Unload filament when paused

                  M27 - M27: Report SD print status

                  Reports a status of a print from USB drive.

                  M28 - M28: Begin write to SD card

                  Related to USB drive instead.

                  M29 - M29: Stop writing to SD card

                  Related to USB drive instead.

                  M30 - M30: Delete a file on the SD card 

                  Related to USB drive instead.

                  M31 - M31: Output time since last M109 or SD card start to serial

                  M32 - M32: Select file and start SD print

                  Related to USB drive instead.

                  M42 - M42: Switch I/O pin

                  M46 - M46: Show the assigned IP address

                  M50 - Selftest

                  Enforce Selftest

                  Parameters:

                  • X: X axis test
                  • Y: Y axis test
                  • Z: Z axis test
                  • F: Fan test
                  • H: Heater test

                  M73 - M73: Set/Get build percentage

                  Tells the firmware the current build progress percentage to be displayed.

                  Parameters:

                  • P: Percent finished
                  • R: Time remaining
                  • T: Time to pause

                  M74 - M74: Set weight on print bed

                  Set mass. (Input shaper related)

                  Parameters:

                  • W: Set the total mass in grams of everything that is currently sitting on the bed.

                  M75 - M75: Start print timer

                  M76 - M76: Pause print timer

                  M77 - M77 Stop print job timer

                  M80 - M80: ATX Power On

                  Turn on the Power Supply.

                  If you have a switch on suicide pin, this is useful if you want to start another print with suicide feature after a print without a suicide...

                  Parameters:

                  • S: Report the current state and exit

                  Examples:

                  • M80 : Turn on the Power Supply
                  • M80 S : Report the current state and exit

                  M81 - M81: ATX Power Off

                  Turn off Power, including Power Supply, if possible.

                  Examples:

                  M81: Turn off Power, including Power Supply, if there is one. This code should ALWAYS be available for FULL SHUTDOWN!

                  M82 - M82: Set extruder to absolute mode

                  Set E axis normal mode (same as other axes).

                  M83 - M83: Set extruder to relative mode

                  M84 - M84: Stop idle hold

                  Disable stepper motors / Set timeout.

                  Parameters:

                  • X, Y, Z, E:  Axis to disable stepper on

                  M85 - M85: Set Inactivity Shutdown Timer

                  M86 - M86: Set Safety Timeout

                  M92 - M92: Set axis_steps_per_unit

                  M104 - M104: Set Extruder Temperature

                  M105 - M105: Get Extruder Temperature

                  M106 - M106: Fan On

                  M107 - M107: Fan Off

                  M109 - M109: Set Extruder Temperature and Wait

                  M110 - M110: Set Current Line Number

                  M111 - M111: Set debug level

                  M112 - M112: Full (Emergency) Stop

                  M113 - M113: Host Keepalive

                  M114 - M114: Get Current Position

                  M115 - M115: Get Firmware Version and Capabilities

                  M117 - M117: Display Message

                  Set LCD message text, if possible

                  M118 - M118: Echo message on host 

                  Display a message in the host console

                  M119 - M119: Get Endstop Status

                  M120 - Enable endstops

                  M121 - Disable endstops

                  M122 - M122: Debug Stepper drivers

                  Report driver configuration and status.

                  M123 - M123: Tachometer value

                  Print fan speed on serial port.

                  M125 - Store current position and move to parking position.

                  Called on pause (by M25) to prevent material leaking onto the object. On resume (M24) the head will be moved back and the print will resume.
                   When not actively SD printing, M125 simply moves to the park position and waits, resuming with a button click or M108. Without PARK_HEAD_ON_PAUSE, the M125 command does nothing.

                  Parameters:

                  • L: override retract length
                  • X: override X
                  • Y: override Y
                  • Z: override Z raise

                  M140 - M140: Set Bed Temperature (Fast)

                  M142 - M142: Set Cooler Temperature (Fast)

                  Set target heatbreak cooling temperature.

                  Parameters:

                  • S<value>: Set heatbreak cooling temp in degree Celsius

                  M150 - M150: Set LED color

                  Set display LED color and animations. Color input supports RGB and HSV format.
                  LED strips on MK3.5, MK3.9, MK4, MINI, MINI+ and XL machines are not user-configurable from a G-code!

                  Parameters:

                  RGB color space

                  • R: Red intensity from 0 to 255
                  • G: Green intensity from 0 to 255
                  • B: Blue intensity from 0 to 255

                  HSV color space

                  • H: Hue from 0 to 360
                  • S: Saturation from 0 to 100
                  • V: Saturation form 0 to 100

                  Effects

                  • A: animation type (SolidColor / Fading)
                  • S: printer state
                           - Idle,
                           - Printing,
                           - Pausing,
                           - Resuming,
                           - Aborting,
                           - Finishing,
                           - Warning,
                           - PowerPanic,
                           - PowerUp

                  M151 - LED control for Side LED lights

                  Basic settings are the same as for M150.

                  Additional parameters:

                  Effects

                  • D: duration in milliseconds, iX printer only: set to 0 for infinite duration
                  • T: transition in milliseconds (fade in / fade out)
                           - Fade in is counted toward duration, so if duration is greater than 0 and less than transition, the effect doesn't reach full color intensity.
                           - Fade out is not counted towards the duration.

                  M155 - M155: Automatically send temperatures 

                  Set temperature auto-report interval

                  M190 - M190: Wait for bed temperature to reach target temp

                  M200 - M200: Set filament diameter

                  M201 - M201: Set max acceleration

                  M203 - M203: Set maximum feedrate

                  M204 - M204: Set default acceleration

                  M205 - M205: Advanced settings

                  M206 - M206: Offset axes

                  M211 - Enable, Disable, and/or Report software endstops

                  M217 - M217: Toolchange Parameters

                  Set SINGLENOZZLE toolchange parameters. (MMU3)

                  Parameters:

                  • S[linear]:  Swap length (Requires TOOLCHANGE_FILAMENT_SWAP)
                  • E[linear]:   Purge length (Requires TOOLCHANGE_FILAMENT_SWAP)
                  • P[linear/m]: Prime speed (Requires TOOLCHANGE_FILAMENT_SWAP)
                  • R[linear/m]: Retract speed (Requires TOOLCHANGE_FILAMENT_SWAP)
                  • X[linear]:   Park X (Requires TOOLCHANGE_PARK)
                  • Y[linear]:   Park Y (Requires TOOLCHANGE_PARK)
                  • Z[linear]:   Z Raise

                  M218 - M218: Set Hotend Offset

                  For XL only.

                  M220 - M220: Set speed factor override percentage

                  Set Feedrate Percentage.

                  Parameters:

                  • S<percent>: Feedrate Percentage

                  M221 - M221: Set extrusion percentage

                  Parameters:

                  • T: Tool number
                  • S<percent>: Extrusion rate Percentage

                  M226 - M226: G-code Initiated Pause

                  Wait until a pin reaches a state

                  M290 - M290: Babystepping

                  M300 - M300: Play beep sound

                  Beeep. Beep duration is limited to 0-5 seconds.
                   
                  Parameters:

                  • S: Frequency in Hz
                  • P: Duration in ms
                  • V: Volume

                  M301 - M301: Set PID parameters

                  M302 - M302: Allow cold extrudes

                  Allow cold extrudes, or set the minimum extrude temperature

                  Parameters:  S<temperature> sets the minimum extrude temperature
                    P<bool> enables (1) or disables (0) cold extrusion

                  Examples:

                   M302         ; report current cold extrusion state
                   M302 P0      ; enable cold extrusion checking
                   M302 P1      ; disables cold extrusion checking
                   M302 S0      ; always allow extrusion (disables checking)
                   M302 S170    ; only allow extrusion above 170
                   M302 S170 P1 ; set min extrude temp to 170 but leave disabled

                  M303 - M303: Run PID tuning

                  PID relay autotune

                  Parameters:

                  • S<temperature>: sets the target temperature. (default 150C / 70C)
                  • E: (-1 for the bed) (default 0)
                  • C: Minimum 3. Default 5.
                  • U: with a non-zero value will apply the result to current settings.

                  M304 - M304: Set PID parameters - Bed

                  M330 - Select handler

                  **M330**` ` -- Select `handler` for configuration (`SYSLOG` is selected by default)

                  Example:

                  `M330 SYSLOG`

                  M331 - Enable metrics

                  **M331**` ` -- Enable `metric` for the currently selected `handler`.

                  Example:

                  `M331 pos_z`

                  M332 - Disable metrics

                  **M332**` ` -- Disable `metric` for the currently selected `handler`.

                  Example:

                  `M332 pos_z`

                  M333 - Print metrics and their settings for selected handler

                  List all metrics and whether they are enabled for the currently selected `handler`.

                  M334 - Handler-specific configuration

                  Handler-specific configuration

                  Example:

                  `M334 `  - Configures the syslog handler to send all the enabled metrics to the given IP address and port.

                  M335 - Logging

                  Example:

                  `M335 `

                  M340 - Syslog host and port configuration

                  M350 - M350: Set microstepping mode

                  M400 - M400: Wait for current moves to finish

                  M401 - M402: Deploy probe

                  M402 - M402: Stow probe

                  M403 - M403: Set filament type (material) for particular extruder and notify the MMU

                  M410 - M410: Quick-Stop

                  Abort all the planned moves.

                  M420 - Enable/Disable Bed Leveling

                  Enable/Disable Bed Leveling and/or set the Z fade height.

                  Parameters:

                  • S[bool]   Turns leveling on or off
                  • Z[height] Sets the Z fade height (0 or none to disable)
                  • V[bool]   Verbose - Print the leveling grid
                     * With AUTO_BED_LEVELING_UBL only:
                  • L[index]  Load UBL mesh from index (0 is default)
                  • T[map]    0:Human-readable 1:CSV 2:"LCD" 4:Compact
                  •  C         Center mesh on the mean of the lowest and highest (With mesh-based leveling only)

                  M428 - Apply current_position to home_offset

                  Set home_offset based on the distance between the current_position and the nearest "reference point."
                   If an axis is past center its endstop position is the reference-point. Otherwise it uses 0. This allows the Z offset to be set near the bed when using a max endstop.
                  M428 can't be used more than 2cm away from 0 or an endstop.
                  Use M206 to set these values directly.

                  M486 - M486: Cancel Object

                  A simple interface to identify and cancel printing one of multiple printed objects.

                  Parameters:

                  • T[count] : Reset objects and/or set the count
                  • S<index> : Start an object with the given index
                  • P<index> : Cancel the object with the given index
                  • U : Un-cancel object with the given index
                  • C        : Cancel the current object (the last index given by S<index>)
                  • S-1      : Start a non-object like a brim or purge tower that should always print
                  • Aname    : Name the current object
                  • Nname    : Legacy, same as Aname
                  • A and N need to be alone in the G-code line, use "M486 S1nM486 AMyAwesomeObject".
                     Spaces in name can get consumed by meatpack.

                  M500 - M500: Store parameters in EEPROM

                  M501 - M501: Read parameters from EEPROM

                  M502 - M502: Restore Default Settings

                  M503 - M503: Report Current Settings

                  Print settings currently in memory.

                  M509 - M509: Force language selection

                  M555 - Set print area

                  Set print area for detailed MBL.

                  Parameters:

                  • X: X coordinate of print area rectangle
                  • Y: Y coordinate of print area rectangle
                  • W: Width of print area rectangle
                  • H: Height of print area rectangle

                  Example:

                  M555 X112.5 Y88.5 W32 H29

                  M556 - Override modular bedlet active

                  XL only.

                  Parameters:

                  • X/Y: Set bedlet based on X, Y coordinates
                    (By default, all bedlets are set)
                  • I: set bedlet based on its index
                  • A: Activate bedlet
                  • D: Deactivate bedlet

                  M557 - Set modular bed gradient parameters

                  XL only.

                  Parameters:

                  • C: Set gradient cutoff
                  • E: Set gradient exponent
                  • S: Set expand to sides

                  M569 - Enable StealthChop

                  Used specifically to enable StealthChop on an axis.

                  Parameters:

                  • S[1|0]: Enable or disable
                  • X|Y|Z|E : target an axis
                  • No arguments reports the stealthChop status of all capable drivers.

                  Example:

                  M569 S0 E   - Set spreadcycle mode for extruder.

                  M572 M572: Set or report extruder pressure advance

                  Set parameters for pressure advance.

                  Parameters:

                  • D: Set the extruder number.
                  • S<value>: Set the pressure advance value. If zero the pressure advance is disabled.
                  • W: Set a time range in seconds used for calculating the average extruder velocity for pressure advance. Default value is 0.04.

                  M591 - Configure Filament stuck monitoring

                  Enable/Disable Filament stuck monitoring.
                  Prusa STM32 platform specific.

                  Parameters:

                  • S<n>: 0 disable 1 enable
                    With no parameter, shows the state of EMotorStallDetector on the serial line.

                  M593 - Set parameters for input shapers.

                  Set parameters for input shapers.

                  Parameters:

                  • D: Set the input shaper damping ratio. If axes (X, Y, etc.) are not specified, set it for all axes. Default value is 0.1.
                  • F: Set the input shaper frequency. If axes (X, Y, etc.) are not specified, set it for all axes. Default value is 0Hz - It means that the input shaper is disabled.
                  • T[map]:  Set the input shaper type, 0:ZV, 1:ZVD, 2:MZV, 3:EI, 4:2HUMP_EI, and 5:3HUMP_EI. Default value is 0:ZV.
                  • R<reduction>: Set the input shaper vibration reduction. This parameter is used just for 3:EI, 4:2HUMP_EI, and 5:3HUMP_EI. Default value is 20.
                  • X<1>:         Set the input shaper parameters only for the X axis.
                  • Y<1>:        Set the input shaper parameters only for the Y axis.
                  • Z<1>:        Set the input shaper parameters only for the Z axis.
                  • A<frequency>: Set the input shaper weight adjust frequency delta.
                  • M<mass>:     Set the input shaper weight adjust mass limit.
                  • W<1>:        Write current input shaper settings to EEPROM.

                  M600 - M600: Filament change pause

                  Parameters:

                  • E[distance]: Retract the filament this far 
                  • Z[distance]: Move the Z axis by this distance
                  • X[position]: Move to this X position, with Y
                  • Y[position]: Move to this Y position, with X
                  • U[distance]: Retract distance for removal (manual reload)
                  • L[distance]: Extrude distance for insertion (manual reload)
                  • B[count]: Number of times to beep, -1 for indefinite (if equipped with a buzzer)
                  • T[toolhead]: Select extruder for filament change
                  • A: If automatic spool join is configured for this tool, do that instead, if not, do manual filament change
                     *  Default values are used for omitted arguments.

                  M601 - M601: Pause print

                  M602 - M602: Resume print

                  M603 - M603: Configure Filament Change

                  Parameters:

                  • T[toolhead]: Select extruder to configure, active extruder if not specified
                  • U[distance]: Retract distance for removal, for the specified extruder
                  • L[distance]: Extrude distance for insertion, for the specified extruder

                  M604 - Abort (serial) print

                  This is expected to be set as end-print command ("After print job is cancelled") in Octoprint.

                  M701 - M701: Load to nozzle

                  M701 Pn

                  Parameters:

                  • T, L, Z (as defined in Marlin)
                  • Pn → n index of slot (zero based, so 0-4 like T0 and T4)

                  M701 also has a Tn parameter - that we understand like an extruder index, not the MMU (having an XL with 5 MMU's connected   ) → M701 T4 P4

                  • T: Extruder number. Required for mixing extruder.
                     *                For non-mixing, current extruder if omitted.
                  • Z: Move the Z axis by this distance
                  • L: Extrude distance for insertion (positive value) - 0 == PURGE
                  • S"Filament": save filament by name, for example S"PLA". RepRap compatible.
                  • W: Preheat
                    - W255: default without preheat
                    - W0: preheat no return no cool down
                    - W1: preheat with cool down option
                    - W2: preheat with return option
                    - W3: preheat with cool down and return options
                     Default values are used for omitted arguments.

                  M702 - M702: Unload filament

                  M702 Pn

                  Parameters:

                  • T, U, Z (as defined in Marlin)
                  • W: preheat with options to show additional cooldown and return buttons
                    - W'-1': default without preheat
                    - W0: preheat no return no cool down
                    - W1: preheat with cool down option
                    - W2: preheat with return option
                    - W3: preheat with cool down and return options
                  • I: ask if the unload was successful

                  M704 - M704: Preload to MMU

                  M704 Pn

                  Parameters:

                  • Pn → n index of slot (zero based, so 0-4 like T0 and T4)

                  M705 - M705: Eeject filament

                  M705 Pn

                  Parameters:

                  • Pn → n index of slot (zero based, so 0-4 like T0 and T4)

                  M706 - M706: Cut filament

                  M706 Pn

                  Parameters:

                  • Pn → n index of slot (zero based, so 0-4 like T0 and T4)

                  M707 - M707: Read from MMU register

                  M707 A<address> C
                  Read a variable from MMU.

                  Parameters:

                  • A: Address of register in hexidecimal.
                  • C: How many bytes to read (Optional)

                  Example:

                  M707 A0X19 - Read a 8bit integer from register 0X19 (Idler_sg_thrs_R) and prints the result onto the serial line.

                  Does nothing if the A parameter is not present or if MMU is not enabled.

                  M708 - M708: Write to MMU register

                  M708 A<address> X C

                  Set a variable in the MMU

                  Parameters:

                  • A: Address of register in hexidecimal.
                  • X: Data to write (16-bit integer). Default value 0.

                  Example:

                  M708 A0x19 X07 - Write to register 0x19 (Idler_sg_thrs_R) the value 07. Does nothing if A parameter is missing or if MMU is not enabled.

                  M709 - M709: MMU power & Reset

                  M709 Xn Sn Tn

                  Parameters:

                  • Xn: reset where n means:
                    0 - issue an X0 command via communication into the MMU (soft reset)
                    1 - toggle the MMU's reset pin
                    2 - power cycle the MMU (turn off and back on)
                  • Sn: power off/on
                    0 - turn off MMU's power supply
                    1 - power up the MMU after being turned off
                    S without any parameter returns 0 or 1 for current state
                  • T: index of MMU unit (in case there are multiple - same principle like M701 Tn)

                  M851 - M851: Set Z Probe Z Offset

                  M862 - M862: Print checking

                  Printer verifies if the G-code is compatible with the machine.

                  Common parameters:

                  • Q: get machine value.
                    - query is done during gcode execution (printing)
                  • P: check if supplied value matches machine value
                    - This check is done before starting the print from file. If an incompatible feature is found, the printer shows a corresponding message.
                    This parameter is ignored during print or if supplied via USB CDC

                  Example:

                  M862.3 P "MINI"

                  M862.1 - M862.1: Check nozzle diameter

                  Parameters:

                  • T: Specific tool, default to currently active nozzle.

                  M862.2 - M862.2: Check model code

                  printer checks if the G-code is sliced for a compatible printer model.

                  M862.3 - M862.3: Check model name

                  printer checks if the G-code is sliced for a compatible printer model.

                  M862.4 - M862.4: Check Firmware version

                  M862.5 - M862.5: Check G-code level

                  G-code levels refer to different versions or configurations of G-code. The G-code level determines the set of commands and parameters that the printer can understand and execute.
                  The M862.5 command will compare the input value with the G-code level supported by the printer. If the G-code level does not match the input value, a warning or error message may be displayed.

                  Parameters:

                  • Pnnnn nnnn: Gcode level
                  • Q: Current Gcode level

                    When run with P<> argument, the check is performed against the input value.
                    When run with Q argument, the current value is shown.

                  Example messages:

                  • G-code sliced for a different level. Continue?
                  • G-code sliced for a different level. Please re-slice the model again. Print cancelled.

                  M862.6 - M862.6: Check Firmware features

                  The printer has a list of supported features. Using the M862.6 P[feature], it checks if the list of the required features in the G-code matches the features available on the printer.
                  If an incompatible feature is found, the printer shows a corresponding message.

                  Example:

                  M862.6 P "Input shaper" 

                  Example messages:

                  • G-code isn't fully compatible. misssing requested features: Input shaper

                  M863 - Tool remapping

                  Allows to redefine which tools use for certain parts of the print. 
                  If a part of an object is sliced to be printed with filament 1 - but you wish to print it with filament 2 instead, this G-code helps you achieve so.

                  Examples:

                  M863 M P0 L1 : Instead of tool 0, use tool 1
                  M863 E1/0 : Enable/disable tool remapping
                  M863 R : Reset tool remapping
                  M863 : Report current tool mapping

                  M864 - Spool join settings

                  Enables to configure Spool join function, defining which material to use after the one used runs out.

                  Examples:

                  M864 J A1 B2 : When tool 1 runs out of filament, continue with tool 2
                  M864 R : reset any settings
                  M864 : Report current spool join settings

                  M870 - Chamber vent control

                  For the CORE One+ and CORE One L, this code enables the automatic opening and closing of the vent when it is in manual mode.

                  Examples:

                  M870 O: Open the vent
                  M870 C: Close the vent

                  M900 - M900: Set Linear advance K factor

                  M906 - M906: Set motor current

                  In milliamps, using axis codes X, Y, Z, E.

                  Parameters:

                  • X[current]: Set mA current for X driver(s)
                  • Y[current]: Set mA current for Y driver(s)
                  • Z[current]: Set mA current for Z driver(s)
                  • E[current]: Set mA current for E driver(s)
                  • I[index]: Axis sub-index (Omit or 0 for X, Y, Z; 1 for X2, Y2, Z2; 2 for Z3.)
                  • T[index]: Extruder index (Zero-based. Omit for E0 only.)
                     * With no parameters, reports driver currents.

                  M910 - M910: TMC2130 init

                  M911 - Report stepper driver overtemperature pre-warn condition

                  Report TMC stepper driver overtemperature pre-warn flag.
                  This flag is held by the library, persisting until cleared by M912.
                  (Requires at least one _DRIVER_TYPE defined as TMC2130/2160/5130/5160/2208/2209/2660)

                  M912 - clear stepper driver overtemperature pre-warn condition flag

                  Clear TMC stepper driver overtemperature pre-warn flag held by the library.
                  (Requires at least one _DRIVER_TYPE defined as TMC2130/2160/5130/5160/2208/2209/2660)

                  Parameters:

                  • X, Y, Z, X1, Y1, Z1, X2, Y2, Z2, Z3 and E[index]: Specifies one or more axes to clear the flag on.
                  • If no axes are specified, clears all.

                  M914 - Set StallGuard sensitivity

                  Parameters:

                  • I: Index of a sensitivity value to set.
                  • X, Y, Z: Axis code
                  • * With no parameters, reports the current StallGuard sensitivity.

                  Examples:

                  M914 I0 Z200: Set StallGuard sensitivity for the Z-axis to 200:

                  M914: Print the current StallGuard sensitivity values.

                  M919 - TMC Config Write

                  Writes a value to the TMC driver’s register
                  M919

                  Example:

                  M919 X I_HOLD_IRUN 1000

                  M920 - TMC Config Read

                  Reads a value from the TMC driver’s register
                  M920

                  Example:

                  M920 Z SG2

                  M930 - Set SPI prescaler for xLCD

                  Set up the prescaler of the LCD perifery SPI.
                  This is used for manipulating communication frequency during HW testing.
                  If value was not set or was set 0, prescaler will set up 0 (frequency will be divided by 1 = unchanged).

                  Parameters:

                  [uint16]       Prescaler value (0-7) is mapped internally on power of 2.

                  M931 - Set SPI prescaler for EXT_FLASH

                  Set up the prescaler of the EXT_FLASH perifery SPI.
                  This is used for manipulating communication frequency during HW testing.
                  If value was not set or was set 0, prescaler will set up 0 (frequency will be divided by 1 = unchanged).

                  Parameters:

                  [uint16]       Prescaler value (0-7) is mapped internally on power of 2.

                  M932 - Set SPI prescaler for TMC

                  Set up the prescaler of the TMC perifery SPI.
                  This is used for manipulating communication frequency during HW testing.
                  If value was not set or was set 0, prescaler will set up 0 (frequency will be divided by 1 = unchanged).

                  Parameters:

                  [uint16]       Prescaler value (0-7) is mapped internally on power of 2.

                  M958 - Excite harmonic vibration

                  M959 - Tune input shaper

                  M997 - Update firmware

                  Perform in-application firmware update. Prusa STM32 platform specific.

                  Parameters:

                  • O: Update older or same firmware on restart == force reflash == from menu
                  • S: Firmware module number(s), default 0
                     - 0 - main firmware.
                     - 1 - WiFi module firmware
                     - 2 - 4 - Reserved, check reprap wiki
                  • B: Expansion board address, default 0
                     - Currently unused, defined just to be reprap compatible
                  • /: Selected BBF SFN (short file name)

                  M999 - Reset MCU

                  Prusa STM32 platform specific.
                  Restarts after being stopped. With R parameter, resets the MCU.

                  Parameters:

                  • R: reset MCU
                  • Z: Wait for finishing planned moves, save Z coordinate and restore it after reset.
                       - Must be combined with R parameter, doesn't work otherwise.
                       - Z is restored only if USB flash drive is present.
                         This strange requirement is due to coupling with power panic.

                  M1587 - Wi-Fi credentials

                  Open Wi-Fi credentials dialog.
                  Similar to M587, but meant to be used internally.

                  Parameters:

                  • I: Generate ini file

                  M1600 - Change filament menu

                  Prusa STM32 platform specific.
                  Non-print filament change.
                  Not meant to be used during print.

                  Parameters:

                  • T: Extruder number. Required for mixing extruder.
                  • R: Preheat Return option
                  • U: Ask Unload type
                          - `U0` - return if filament unknown (default)
                          - `U1` - ask only if filament unknown
                          - `U2` - always ask
                  • S"Filament": change to filament by name, for example `S"PLA"`

                  M1601 - Filament stuck detection

                  Prusa STM32 platform specific

                  M1700 - Preheat

                  Prusa STM32 platform specific.

                  Parameters:

                  • T: Extruder number. Required for mixing extruder.
                            For non-mixing, current extruder if omitted.
                  • W: Preheat
                           - `W0`  - preheat no return no cool down
                           - `W1`  - preheat with cool down option
                           - `W2`  - preheat with return option
                           - `W3`  - preheat with cool down and return options - default
                  • S: Set filament
                  • E: Enforce target temperature

                  M1701 - Autoload

                  Prusa STM32 platform specific.
                   Not meant to be used during print.

                  Parameters:

                  • T: Extruder number. Required for mixing extruder.
                           For non-mixing, current extruder if omitted.
                  • Z: Move the Z axis by this distance
                  • L: Extrude distance for insertion (positive value) (manual reload)
                     * Default values are used for omitted arguments.

                  M1704 - Load test

                  Triggers the MMU3 Loading test.

                   

                   

                   

                  T-codes

                   

                  T Toolchange

                  Select extruder in case of multi extruder printer (XL). Select filament position 1-5 (T0-T4) in case of MMU3.

                  Parameters:

                  • F[units/min]: Set the movement feedrate
                  • S1: Don't move the tool in XY after change
                  • M0/1: Use tool mapping or not (default is yes)
                  • Lx: Z Lift settings 0 =- no lift, 1 = lift by max MBL diff, 2 = full lift(default)
                  • Dx 0 = do not return in Z after lift, 1 = normal return

                  Examples:

                  T0 : Select filament position 1 on MMU3 / Select Tool 1 on XL.

                  T1 : Select filament position 2 / Tool 2.

                  Tx - Select filament

                  (MMU3) Printer asks user to select a filament position. Then loads the filament from the MMU unit into the extruder wheels only.

                  Tc - Load to nozzle

                  (MMU3) Loads the filament tip from the extruder wheels into the nozzle.

                   

                   

                  Special / Other commands

                   

                  P0 - Tool park

                  Park extruder (tool) (XL only)
                  Pn: n index of a tool (zero based, so 0-4 like T0 and T4 for tools 1 and 5)

                  Parameters:

                  • F[units/min]: Set the movement feedrate
                  • S1: Don't move the tool in XY after change
                  • M0/1: Use tool mapping or not (default is yes)
                  • Lx: Z Lift settings 0 =- no lift, 1 = lift by max MBL diff, 2 = full lift(default)
                  • Dx 0 = do not return in Z after lift, 1 = normal return

                   

                   

                  Was this article helpful?
                  This action is available only to registered users. Please log-in.

                  Topics

                  • PrusaSlicer 2.9 (Legacy)
                    • Configuration and profiles
                      • Configuration Wizard
                      • Configuration snapshots
                      • Prusa firmware-specific G-code commands
                      • Preferences
                      • Sending G-codes to printer via network (Prusa Connect, PrusaLink, Octoprint)
                      • Profiles for 3rd party printers
                      • How to import and export custom profiles in PrusaSlicer
                      • Template filaments
                      • Buddy firmware-specific G-code commands
                      • Manual profile download for PrusaSlicer 2.9
                      • Importing profiles (HT90)
                    • About PrusaSlicer
                    • User interface
                    • Input/output
                    • Left toolbar
                    • Top toolbar
                    • Print settings
                    • Filament settings
                    • Printer settings
                    • Advanced features
                    • Multi-material slicing
                    • SLA slicing
                    • Other (PrusaSlicer)

                  8 comments

                  Log in  to post a comment
                  SuperCuriousFox
                  •
                  Could this document please be updated to account for any firmware changes for the Core One INDX? Specifically, if the M870 commands still control opening or closing the vent? Thank you.
                  Reply
                  awocrf
                  •
                  I was doing some experiments with M150 command (controlling RGB LEDs) on the Core One (6.5.3 FW) and I must say that its documentation is VERY poor. There's no mention what to actually put after A and S, this site completely omits the P parameter, and even in the code comments for this command there's no mention that brightness (0-255 RGB) only works in fading/pulsing mode (possible bug?). Right now in solid color mode the LEDs are either fully on or fully off.

                  Here's a copy of the code comment for anyone interested:

                  M150: Set LED color "https://reprap.org/wiki/G-code#M150:_Set_LED_color">M150: Set LED color

                  Usage

                  M150 [ R | B | G | H | S | V | A | S | P ]

                  Parameters

                  RGB color space
                  - `R` - Red intensity from 0 to 255
                  - `G` - Green intensity from 0 to 255
                  - `B` - Blue intensity from 0 to 255

                  HSV color space
                  - `H` - Hue from 0 to 360
                  - `S` - Saturation from 0 to 100
                  - `V` - Saturation form 0 to 100

                  Effect
                  `A` - Animation type
                  - `0` - Solid color
                  - `1` - Pulsing
                  `S` - Printer state
                  - `0` - Idle
                  - `1` - Printing
                  - `2` - Pausing
                  - `3` - Resuming
                  - `4` - Aborting
                  - `5` - Finishing
                  - `6` - Warning
                  - `7` - PowerPanic

                  `P` - Period in ms

                  Source: https://github.com/prusa3d/Prusa-Firmware-Buddy/blob/master/src/marlin_stubs/M150.cpp
                  15.06.2026

                  So if anyone is wondering, yes this command does work and I can control the RGB LEDs with it.
                  Reply
                  Joe van Dohn
                  •
                  I suspect article header supposed to be updated... CoreOne+ / CoreOne L are not listed, yet using buddy firmware and mentioned directly in the text, e.g. M870

                  I was confused a moment
                  Reply
                  Dawieder
                  •
                  Is there a command to set the active steel sheet preset like there was for MK3?
                  Reply
                  Lung
                  •
                  M303 has stopped working on the Mini+, but is still listed here as a usable value. Why was it turned off, and how can it be re-enabled?
                  Reply