Después de cambiar la placa original de mi Ender 3 por una BIGTREETECH SKR 1.3, el siguiente paso fue configurar Marlin, el firmware que controla la impresora. La placa nueva no sirve de nada sin un firmware compilado para ella: hay que decirle qué placa es, qué drivers lleva, qué pantalla y qué termistores.
Cuando escribí esta guía en 2020 usé Marlin 2.0 con el editor Atom y el complemento PlatformIO. Atom se dejó de desarrollar en 2022, así que la he actualizado al método que recomienda hoy la documentación de Marlin: Visual Studio Code con PlatformIO. Los archivos y las rutas son los mismos, así que mis capturas siguen sirviendo de referencia.
Requisitos
- Una Ender 3 con la SKR 1.3 ya montada.
- Un ordenador con Windows, macOS o Linux.
- Visual Studio Code.
- Una tarjeta microSD (la de la impresora sirve).
1. Instalar VS Code y PlatformIO
- Instala Visual Studio Code.
- Abre la vista de Extensiones e instala PlatformIO IDE.
- Opcionalmente, instala Auto Build Marlin: añade botones para compilar y elige el entorno de la placa por ti. Al abrir la carpeta de Marlin, VS Code suele sugerirla.
La primera vez, PlatformIO tarda unos minutos en descargar sus herramientas.
2. Descargar Marlin y la configuración de ejemplo
- Descarga la última versión estable de Marlin desde marlinfw.org o desde sus versiones en GitHub. En 2020 yo usé la 2.0.x; hoy la rama estable es la 2.1.x.
- Descarga también las configuraciones de ejemplo (MarlinFirmware/Configurations) de la misma versión que Marlin. Mezclar versiones es la causa número uno de errores al compilar.
- Descomprime Marlin y abre la carpeta que contiene
platformio.inien VS Code (Archivo › Abrir carpeta).
Dentro verás la carpeta Marlin/ con los dos archivos que vas a tocar: Configuration.h y Configuration_adv.h.

3. Configurar Marlin para Ender 3 + SKR 1.3
En los ejemplos oficiales no hay una carpeta específica para Ender 3 con SKR 1.3, así que lo más práctico es partir de config/examples/Creality/Ender-3/CrealityV1/ (la placa original), copiar sus dos archivos a Marlin/ y cambiar lo que depende de la placa. Si quieres comparar, la carpeta BigTreeTech SKR 1.4 es la más parecida.

En Configuration.h:
#define MOTHERBOARD BOARD_BTT_SKR_V1_3
#define X_DRIVER_TYPE TMC2208
#define Y_DRIVER_TYPE TMC2208
#define Z_DRIVER_TYPE TMC2208
#define E0_DRIVER_TYPE TMC2208
#define CR10_STOCKDISPLAY // pantalla original de la Ender 3
Revisa también:
TEMP_SENSOR_0yTEMP_SENSOR_BED: el tipo de termistor. Si cambiaste el hotend por un V6, comprueba cuál lleva.- La dirección de los motores (
INVERT_X_DIR…): con drivers TMC suele haber que invertir alguno respecto a la placa original. - Si montas un BLTouch o 3DTouch, la sección de sonda (
BLTOUCH,NOZZLE_TO_PROBE_OFFSET,AUTO_BED_LEVELING_BILINEAR…).
En Configuration_adv.h está la corriente de los drivers en UART: X_CURRENT, Y_CURRENT, Z_CURRENT y E0_CURRENT, en miliamperios RMS. Parte de los valores del ejemplo y ajústalos según tus motores; no copies cifras a ciegas.
En platformio.ini, el entorno de la SKR 1.3 es LPC1768:
default_envs = LPC1768
4. Compilar
Lanza la compilación desde PlatformIO › Project Tasks › LPC1768 › Build, desde el icono de la barra inferior o con el botón de Auto Build Marlin. En 2020, con Atom, era el menú PIO Build (LPC1768); el resultado es el mismo.

Al terminar, en la pestaña Terminal tiene que aparecer SUCCESS.
5. Instalar el firmware
El archivo resultante está en .pio/build/LPC1768/firmware.bin.


- Copia
firmware.bina la raíz de la microSD (FAT32). - Con la impresora apagada, inserta la tarjeta en la ranura de la SKR 1.3.
- Enciende. La placa instala el firmware en unos segundos.
- Si al sacar la tarjeta el archivo se llama
FIRMWARE.CUR, la actualización se ha hecho bien.
Comprobar que funciona
- Envía
M115desde un terminal (OctoPrint, Pronterface…): muestra la versión de Marlin compilada. M122muestra el estado de los TMC2208; ningún driver debe aparecer con error de comunicación.M502seguido deM500carga los valores del nuevo firmware en la EEPROM, para que no se mezclen con los antiguos.- Mueve cada eje y haz un home (
G28).
Problemas habituales
Error al compilar que habla de la versión de Configuration.h. Los archivos de configuración no son de la misma versión que Marlin. Descarga los ejemplos de la etiqueta correspondiente.
La placa no se actualiza. La microSD no está en FAT32, el archivo no se llama exactamente firmware.bin o has puesto la tarjeta en la ranura de la pantalla en vez de la de la placa.
La pantalla no muestra nada. Falta CR10_STOCKDISPLAY o el cable está en el conector EXP equivocado.
Los motores hacen ruido pero no se mueven o se mueven al revés. Revisa los *_DRIVER_TYPE y los INVERT_*_DIR.
PlatformIO no encuentra el entorno. Has abierto la subcarpeta Marlin/ en vez de la carpeta raíz que contiene platformio.ini.
¿Y Klipper?
Hoy muchos usuarios de Ender 3 usan Klipper en lugar de Marlin. Klipper reparte el trabajo: un ordenador (normalmente una Raspberry Pi) calcula los movimientos y la placa solo los ejecuta. Aporta funciones como input shaping y pressure advance, y la configuración se edita en un archivo de texto (printer.cfg) sin recompilar. La SKR 1.3 (microcontrolador LPC1768) es compatible y el proyecto incluye una configuración de ejemplo para ella. Si ya tienes una Raspberry Pi con OctoPrint, es una opción a valorar; si quieres algo que funcione solo con la placa, Marlin sigue siendo perfectamente válido.

Relacionados
- Configurar la placa SKR 1.3 en la Ender 3
- Calibrar los drivers con un multímetro
- Calibrar los e-steps del extrusor
- Controlar la Ender 3 con OctoPrint
Vídeo del proceso
Material utilizado




