Skip to main content

GCODE Macros

Key Concepts

GCODE Macros let you save the operator GCODE you use every day (bed-clearing and part-ejection sequences, purge routines, maintenance moves) and run it on your printers with one click instead of pasting raw GCODE each time. Each macro is a named, reusable block of GCODE with a type that describes its purpose (Bed Clearing, Purge, Maintenance, or Generic) and a list of compatible printer models. Compatibility matters: GCODE is model-specific and can crash another type of printer. A macro only runs on the models you declare it safe for, so a macro with no models listed will not run anywhere.

Macros send raw GCODE to your hardware

When you run a macro, the printer executes it exactly as written, with no simulation and no substitution. Motion, heating, and extrusion commands take effect immediately. Always review a macro's GCODE and confirm the printer is clear before running it.

The Macro Library

Navigate to Macros under the Printing section of the main menu. The library lists every macro in your organization with its type, description, and how many printer models it is compatible with. From here you can create new macros, edit existing ones, or run a macro directly from its row.

The Macros library listing three macros with type badges, compatibility counts, and per-row Run buttons
Macro library: every macro in the organization, with its type, how many models it covers, and a Run button on each row.

Creating a Macro

  1. Click New Macro
  2. Give it a name, pick a type, and optionally add a description. The type is permanent, so pick the one that matches the macro's purpose. It controls where the macro is offered in the app.
  3. Add the printer models the macro is safe to run on. The picker lists your fleet's models first (with an Add all shortcut) and lets you search the full catalog below. Models that cannot receive raw GCODE are labelled no raw GCODE. At least one model is required in practice: a macro that lists none cannot run on anything, which keeps a half-finished macro from reaching hardware. For a routine that suits your whole fleet, use Add all.
The compatible printer models picker open, showing a Your Printers group with an Add all shortcut and the full catalog below with no raw GCODE labels
Model picker: your own printers' models sit at the top, and models that cannot take raw GCODE are flagged before you pick them.
  1. Write or paste the GCODE. The Insert Example menu offers starting points for common routines (purge line, bed cooldown and sweep, home and park). Adjust coordinates and temperatures for your machines before saving.
The macro editor with name, locked type, description, one compatibility chip, and a GCODE card holding a bed sweep routine
Macro editor: name, type (fixed after creation), the compatible models, and the GCODE itself.

Macros are sent exactly as written. Placeholders such as {bed_temp} are not substituted.

Running a Macro

You can run a macro from four places:

  • The Run button on a macro's row in the library
  • The Run button when editing a macro
  • The menu on a printer's detail page (Run Macro)
  • The printers list: select one or more printers, then choose Run Macro from the actions menu. The dialog opens with those printers already selected.
The printers list with printers selected and the bulk actions menu open on Run Macro
Bulk run: select printers on the printers list and pick Run Macro to send one macro to all of them.

The confirmation dialog shows which printers are eligible right now. For each printer you'll see one of:

  • Idle: ready to receive the macro
  • Printing: busy, and macros only run on idle printers
  • Offline: not connected
  • Incompatible model: the printer's model is not in the macro's compatibility list, which is also what you see on every printer when the macro lists no models at all
  • No raw GCODE support: this printer's connection cannot carry raw GCODE (see below)

Review the full GCODE preview, tick the confirmation checkbox, and click Run. Printago sends the macro to every eligible printer and reports the result for each one. Printers that are offline, busy, or incompatible are skipped, and the rest still run.

The Run Macro dialog with a macro picker, two idle printers and one flagged as an incompatible model, the GCODE preview, a raw GCODE warning, and the confirmation checkbox
Run Macro: each printer's current eligibility, the exact GCODE about to be sent, and the safety confirmation.

If you run macros constantly and don't want to tick the confirmation every time, turn on Skip the run confirmation checkbox in Settings → Account → General Settings (Macros section). The checkbox then starts pre-checked, and the GCODE preview and per-printer eligibility checks still apply.

General Settings showing the Macros section with the Skip the run confirmation checkbox toggle
Macros setting: pre-check the confirmation for operators who run macros all day.

Which Printers Can Receive Raw GCODE

Not every printer accepts raw GCODE while it sits idle. What matters is how Printago talks to the machine, not the badge on the front, so the same model can land on either side of this list depending on how you added it.

Macros work on:

  • Klipper connections (Moonraker): Voron, RatRig, Qidi, Sovol, Elegoo Neptune 4 series, Klipper-flashed Creality machines, and any other Klipper build
  • OctoPrint connections: Creality Ender and CR series, Prusa i3, Anycubic Kobra, Vyper and i3 Mega, Artillery, Snapmaker, Raise3D, UltiMaker, and the rest of the OctoPrint-supported field
  • Bambu Lab printers on a LAN or cloud connection: A1, A1 mini, P1P, P1S, X1, X1 Carbon, X1E

Macros do not work on:

  • Prusa machines added over PrusaLink: MK4, XL, MINI
  • Elegoo Centauri and Centauri Carbon
  • Anycubic Kobra 3 and S1 series added over Anycubic's LAN connection

Those three protocols carry print control only, with no channel for arbitrary GCODE. Connect the same Prusa or Anycubic printer through OctoPrint instead and it can run macros, just as a Creality Ender 3 can behind OctoPrint or reflashed to Klipper.

If you are unsure about a particular machine, the app tells you in two places: the model picker labels unsupported models no raw GCODE, and the Run Macro dialog shows No raw GCODE support beside any printer that cannot receive one. A printer showing Idle in that dialog will run the macro.

Who Can Do What

Macro access follows your organization's roles:

  • Viewers can browse the macro library
  • Operators can also run macros on printers
  • Admins can create, edit, and delete macros

See Roles & Permissions for the full breakdown.