Marlin - Gcodes Básicos

Los G-codes son el lenguaje que habla tu impresora. Conocer los más importantes te da control total sobre cada aspecto de la máquina.

G-code es el lenguaje de programación CNC que usa tu impresora para comunicarse: movimientos, temperaturas, ventiladores, calibración y mucho más se controlan con estos comandos.

Puedes enviarlos desde Pronterface, OctoPrint, la pantalla LCD o incluirlos en los scripts de inicio/fin de tu laminador.

Referencia completa oficial: marlinfw.org/meta/gcode — aquí tienes los más utilizados en el día a día.

Sintaxis básica

Cada línea es un comando. La estructura es:

[Letra][Número] [Parámetros] ; comentario opcional

Ejemplos:

G1 X90 Y50 Z0.5 F3000 E1  ; mover a X90 Y50 Z0.5 extruindo 1mm
M104 S200                  ; temperatura extrusor a 200°C sin esperar
M109 S200                  ; temperatura extrusor a 200°C esperando

Movimiento

G0 / G1 — Movimiento lineal

G0 es movimiento rápido (sin extrusión), G1 es movimiento con extrusión.

G0 X50 Y50 F6000           ; mover a X50 Y50 a 6000mm/min (sin extruir)
G1 X90 Y50 Z0.5 F3000 E1   ; mover extruindo 1mm de filamento
Parámetro
Descripción

X Y Z

Coordenadas destino (mm)

F

Velocidad (feedrate) en mm/min

E

Cantidad de filamento a extruir (mm)

G2 / G3 — Movimiento en arco

Movimiento circular en sentido horario (G2) o antihorario (G3). Útil con ARC_SUPPORT habilitado.

G4 — Pausa (Dwell)

Pausa la ejecución durante un tiempo definido.

G28 — Homing (Auto-home)

Lleva los ejes a su posición de origen activando los finales de carrera.

G29 — Nivelación automática de cama

Ejecuta el proceso de nivelación según el sistema configurado (Bilinear, UBL, etc.).

G92 — Establecer posición actual

Define las coordenadas actuales sin mover los ejes. Muy útil para el eje E.

Temperatura

M104 / M109 — Temperatura extrusor

M104 establece la temperatura sin esperar. M109 espera a que se alcance.

M140 / M190 — Temperatura cama

M140 establece la temperatura sin esperar. M190 espera.

M106 / M107 — Control de ventiladores

M155 — Reporte de temperatura automático

Extrusión

M82 / M83 — Modo absoluto / relativo de extrusión

M600 — Cambio de filamento

Ejecuta el asistente de cambio de filamento (requiere ADVANCED_PAUSE_FEATURE).

M600 es el gcode estándar que insertan los laminadores para cambios de color/filamento en capas específicas. Es compatible con OctoPrint y la mayoría de hosts.

Calibración

M92 — Pasos por mm

Define los pasos del motor por cada mm de movimiento. Es la calibración de E-steps del extrusor y XYZ.

M201 / M203 / M204 / M205 — Aceleraciones y velocidades

M301 — Ajuste PID extrusor

M851 — Offset Z-probe (Z offset)

M412 — Sensor de filamentos

M900 — Linear Advance

Ajusta el factor K de Linear Advance (requiere LIN_ADVANCE).

M593 — Input Shaper (Marlin 2.1.3+)

Disponible a partir de Marlin 2.1.3 con INPUT_SHAPING_X/Y habilitado.

M306 — Model Predictive Temperature Control (MPC)

Alternativa al PID, disponible en Marlin 2.1+ con MPCTEMP.

EEPROM

La EEPROM guarda la configuración para que persista tras apagar la impresora.

Gcode
Acción

M500

Guardar configuración actual en EEPROM

M501

Cargar configuración desde EEPROM

M502

Resetear configuración a valores por defecto del firmware

M503

Mostrar configuración actual en terminal

Información y diagnóstico

M115 — Información del firmware

M119 — Estado de los finales de carrera

M503 — Informe de configuración

Utilidades y pantalla

M117 — Mensaje en pantalla

M300 — Pitido (Beep)

M150 — Control de LEDs Neopixel

Scripts de ejemplo para el laminador

Gcode de inicio típico

Gcode de fin típico

Resumen rápido

Categoría
Gcodes clave

Movimiento

G0, G1, G28, G29, G92

Temperatura

M104, M109, M140, M190

Ventiladores

M106, M107

Pasos/mm

M92

EEPROM

M500, M501, M502, M503

PID

M301, M303

Linear Advance

M900

Input Shaper

M593

Filamento

M600, M412

LEDs

M150

Diagnóstico

M115, M119, M503

Última actualización