> For the complete documentation index, see [llms.txt](https://marlin.3dwork.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://marlin.3dwork.io/marlin/troubleshooting-marlin.md).

# Marlin Troubleshooting

{% hint style="info" %}
**English**: Use your browser's built-in translation — Chrome and Edge detect the language automatically and offer to translate the page.
{% endhint %}

Aquí encontrarás los problemas más frecuentes al compilar, flashear o usar Marlin, junto con sus causas y soluciones.

## Errores de compilación

| Error                                         | Causa                                                  | Solución                                                                                                   |
| --------------------------------------------- | ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------- |
| `#error MOTHERBOARD value is not valid`       | El valor de `MOTHERBOARD` en Configuration.h no existe | Busca tu placa en `Marlin/src/core/boards.h` y usa el valor correcto                                       |
| `#error "Serial port..." is not available`    | Puerto serial incorrecto para la placa                 | Revisa `SERIAL_PORT` en Configuration.h — muchas placas STM32 usan `-1` para USB nativo                    |
| `region 'flash' overflowed`                   | El firmware compilado no cabe en la flash de la placa  | Desactiva funciones no necesarias o usa un entorno con más flash (ej: `STM32F407VG` en vez de `STM32F103`) |
| `#error "NOZZLE_PARK_FEATURE is required..."` | Función dependiente no habilitada                      | Lee el mensaje de error: indica qué `#define` habilitar para resolverlo                                    |
| `Cannot open source file "..."`               | Librería de PlatformIO no descargada                   | Ejecuta `PlatformIO: Clean` y vuelve a compilar para que descargue dependencias                            |

## Errores al flashear

| Error                                        | Causa                                                           | Solución                                                                                              |
| -------------------------------------------- | --------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| Puerto COM no aparece                        | Driver no instalado o cable sin datos                           | Instala el driver CH340/CP2102 según el chip USB de tu placa; usa cable USB con datos (no solo carga) |
| `avrdude: verification error`                | Flash incorrecta o protegida                                    | Verifica que el `.hex` corresponde al procesador correcto (mega2560 ≠ mega1280)                       |
| Firmware flasheado pero impresora no arranca | Bootloader corrupto o configuración errónea                     | Reflashea el bootloader con un programador externo o verifica `MOTHERBOARD`                           |
| Pantalla en blanco tras actualización        | Cambio en el protocolo de comunicación o reset EEPROM necesario | Envía `M502` + `M500` para resetear la EEPROM a valores por defecto                                   |

## Problemas de comportamiento

| Síntoma                                        | Causa probable                                        | Solución                                                                                       |
| ---------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| Eje se mueve en dirección contraria            | `INVERT_X_DIR` (o Y/Z/E) incorrecto                   | Cambia el valor true/false del eje correspondiente en Configuration.h                          |
| El homing no para / activa el endstop al revés | Lógica de endstop invertida                           | Cambia `X_HOME_DIR` o usa `#define ENDSTOPPULLUP_XMIN` según el tipo (NO/NC)                   |
| `Printer halted. kill() called`                | Error crítico de temperatura o protección activada    | Revisa los valores de `TEMP_SENSOR_*` y las protecciones `THERMAL_PROTECTION_*`                |
| Temperatura errática o `-14°C` constante       | Termistor mal configurado o desconectado              | Verifica `TEMP_SENSOR_0` — el valor debe coincidir con el termistor instalado                  |
| `Heating failed` al calentar                   | Calefactor no llega a temperatura en tiempo           | Ajusta `WATCH_TEMP_INCREASE` y `WATCH_TEMP_PERIOD` o revisa la resistencia del heater          |
| Steps/mm incorrectos tras actualización        | EEPROM con valores viejos                             | Envía `M502` para cargar los del firmware y `M500` para guardarlos                             |
| `Probing Failed` durante G29                   | Sonda no alcanza el punto de sondeo                   | Ajusta `X_PROBE_OFFSET_FROM_EXTRUDER` / `Y_PROBE_OFFSET_FROM_EXTRUDER` o los límites de sondeo |
| Ventilador de capa no responde a M106          | `EXTRUDER_AUTO_FAN` o pin incorrecto                  | Verifica `FAN_PIN` en los pins de tu placa; revisa si está controlado por `EXTRUDER_AUTO_FAN`  |
| ABL/BLTouch no despliega la sonda              | Pin de control incorrecto                             | Verifica `SERVO0_PIN` o `Z_PROBE_PIN` en el fichero pins de tu placa                           |
| Impresión se desplaza en capas (layer shift)   | Corriente de driver insuficiente o sobrecalentamiento | Ajusta `#define X_CURRENT` en Configuration\_adv.h; mejora la ventilación de los drivers       |

## Problemas con la pantalla

| Síntoma                                         | Causa                                                | Solución                                                                          |
| ----------------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------- |
| Pantalla en blanco (retroiluminación encendida) | Encoder o tipo de pantalla incorrecto                | Verifica `LCD_LANGUAGE`, `DISPLAY_CHARSET_HD44780` y el modelo en Configuration.h |
| Pantalla TFT muestra "No printer attached"      | Baudrate incorrecto o `SERIAL_PORT_2` no configurado | Ajusta `BAUDRATE` a 115200 y habilita `SERIAL_PORT_2` para la TFT                 |
| Menú de nivelación no aparece                   | Función no compilada                                 | Habilita `LCD_BED_LEVELING` en Configuration.h                                    |

## Herramientas de diagnóstico

```gcode
M115   ; información del firmware y capacidades
M119   ; estado de todos los finales de carrera
M503   ; configuración activa completa (pasos, PID, offsets...)
M155 S2  ; reportar temperaturas cada 2 segundos
```

{% hint style="info" %}
**Pronterface** es la herramienta más cómoda para diagnosticar: conecta via USB, envía gcodes y ve los mensajes de respuesta en tiempo real. Más info en la guía de [Pronterface](/marlin/troubleshooting-marlin/pronterface.md).
{% endhint %}

## Guías específicas de esta sección

{% content-ref url="/pages/ogpQJHsC8x4RN82qpTu8" %}
[Pronterface](/marlin/troubleshooting-marlin/pronterface.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MX8-EfV5xaNW8bowUOx" %}
[Control de ventiladores con MOSFET externo](/marlin/troubleshooting-marlin/control-de-ventiladores-con-mosfet-externo.md)
{% endcontent-ref %}

{% content-ref url="/pages/-MXNGvSDMeuv\_P1ndDa1" %}
[Reparar pin sensor temperatura](/marlin/troubleshooting-marlin/reparar-pin-sensor-temperatura.md)
{% endcontent-ref %}
