3Dwork - Marlin
KLIPPERMARLINLABSTelegramColabora
  • 3DWork.io - Marlin
  • Invitame a un cafe :D
  • 🦈MARLIN
    • Marlin - Guía Compilación
      • Marlin - Gcodes Básicos
    • Configuracion Marlin
      • Ajuste de límites de impresión
      • Nivelación/Homing
        • Bltouch/3DTouch/CRTouch/MicroProbe
        • PINDAv2/Inductivos
        • Nivelado manual MESH
        • Nivelado UBL
        • Asistente Z-Offset [Marlin]
        • Mallado de cama inteligente en Marlin
        • Sensorless
      • Doble Z y autonivelado
      • Sensor de filamentos
      • Módulo UPS - Recuperación ante fallos corriente
      • Leds Neopixel
    • ‼️Marlin Troubleshooting
      • Pronterface
      • Control de ventiladores con MOSFET externo
      • Reparar pin sensor temperatura
    • Guía Calibración Impresoras 3D FDM/Filamento
    • Guía Resolución Problemas Impresoras 3D FDM/Filamento
    • Mejoras/Upgrades Impresoras 3D FDM/Filamento
  • 🐢Octoprint
    • Octoprint
    • Instalación
      • Instalando Octoprint
        • Raspberry Pi 4 – Actualizar firmware
        • Cambios y comprobaciones en nuestro Marlin
        • Reset Password
      • Configurando Octoprint
    • Plugins/Mejoras Octoprint
      • DisplayLayerProcess
      • PrintTimeGenious
      • Cancel Objects
      • ipOnConnect
      • Arc-Welder
      • Telegram
    • OctoDash - UI
    • Controlar varias impresoras usando varias instancias Octoprint
      • Multiples Webcam
    • Controlar varias impresoras usando instancias Docker
  • 🌐3DWORK
    • Quieres promocionar tus productos/empresa?
Con tecnología de GitBook
En esta página
  • Prepara tu propio Marlin para poder personalizarlo
  • Algunos consejos antes de comenzar
  • Procedimiento automático 3Dwork usando fuentes y pre-configuraciones de Marlin
  • Procedimiento manual usando fuentes y pre-configuraciones de Marlin
  • Instalación de software necesario para la edición y compilación de Marlin
  • Compilando nuestro Marlin
  • Actualizando nuestro Marlin a una nueva versión
  • Opciones imprescindibles conocer en Marlin

¿Te fue útil?

  1. MARLIN

Marlin - Guía Compilación

Marlin es el software que gobierna tu Impresora, a continuación te enseñamos como prepararlo para poder instalar o actualizar en tu Impresora.

Anterior3DWork.io - MarlinSiguienteMarlin - Gcodes Básicos

Última actualización hace 7 meses

¿Te fue útil?

Pásate por nuestro para cualquier duda relacionada con el, también si quieres acceder a un grupo general tienes nuestro e .

Os recordamos que tienes mas guias de ayuda en nuestro bot de Telegram

Prepara tu propio Marlin para poder personalizarlo

Con esta guía os vamos a facilitar los pasos para poder generar vuestro propio Marlin base para impresoras comerciales o que Marlin disponga de vuestro preconfigurado... aunque podéis usarlo bajando la última version estable desde el repositorio de Marlin y personalizarlo a mano aunque normalmente es aconsejable partir de un preconfigurado de una máquina similar.

Tenemos dos opciones para generar nuestro Marlin base:

  • , en este caso el soporte a las máquinas que generamos el firware es limitado... revisa si la tuya esta incluída.

  • , aunque también aplicaria si vuestro fabricante dispone de uno personalizado aunque normalmente no están completamente actualizados

Algunos consejos antes de comenzar

  • Si vas a actualizar una impresora y no tienes los ficheros de Marlin originales y has hecho cambios en la configuración de la pantalla te aconsejamos hacer un M503 desde un cliente de terminal como Pronterface y guardarte la información que devuelve ya que son los valores de la EEPROM muy útiles a ajustar en tu nuevo firmware

  • Recuerda que es aconsejable después de subir el firmware cargar los valores de fábrica de la EEPROM, esto lo puedes hacer por terminal con un M502 y seguido un M500 o desde la pantalla en modo Marlin en Configuración/Restaurar y seguido Configuración/Salvar EEPROM... además del M503 con el que podrás listar los valores de tu EEPROM para asegurarte que son correctos.

Entender como Marlin utiliza su RAM y/o EEPROM de la electrónica de tu impresora para guardar ciertas configuraciones puede llegar a ser algo confuso al inicio y si no lo hacemos correctamente puede ocasionar problemas al perder ciertos ajustes al reiniciar nuestra máquina.

Marlin utiliza lo que llamamos EEPROM, que puede estar en un chip de memoria dedicado o integrada en una zona reservada por Marlin en la propia ROM de la electrónica... siendo estas las más aconsejables/comunes también contamos con la opción de guardar nuestra EEPROM en la SD de nuestra electrónica donde crea un eeprom.dat (depende de la versión de Marlin este nombre puede variar).

En esta EEPROM Marlin guarda valores de configuración que suelen ser ajustables por el usuario, esto permite un ajuste más sencillo sin requerir tener que ajustar estos valores en las fuentes de Marlin, compilar y aplicar el nuevo firmware a nuestra máquina.

Al arrancar Marlin lo que hace es cargar los valores guardados en la EEPROM (memoria no volátil) a la RAM (que es una memoria volátil) para poderlos usar, consultar y ajustar durante nuestras impresiones, al apagar la máquina esta RAM se borra para realizar el proceso de carga de valores de la EEPROM al arrancar de nuevo Marlin.

A continuación os explicaremos algunos gcodes que vamos a disponer para gestionar esta EEPROM, cuando la tengamos activa activando , y como usarlos en cada caso:

  • M500 (Save Settings) El gcode guarda la configuración que tangamos activa en nuestra RAM a la EEPROM para que los cambios realizados no se pierdan al apagar la máquina. También podemos lanzar este comando desde la pantalla modo emulación Marlin con Store Settings o en pantállas táctiles suelen contar con opciones para realizar el proceso también.

  • M501 (Restore Settings) El gcode carga los valores de nuestra EEPROM sobre nuestra RAM, básicamente realiza el proceso contrario que M500. Normalmente el uso normal del M501 es para deshacer ajustes realizados en nuestra RAM y que no fueron aplicados a nuestra EEPROM. También desde la pantalla modo emulación Marlin disponemos de la opción Load Settings con la que ejecutaremos el M501.

  • M502 (Factory Reset) Con cargaremos las configuraciones incluídas en el firmware, no en la EEPROM, en nuestra RAM asegurándonos que volvemos a los valores originales de nuestro firmware. Suele ser aconsejable realizar un M502, seguido de un M500, cada vez que apliquemos una nueva versión de firmware a nuestra máquina ya que de esta forma cargamos los valores del nuevo firmware reseteando cualquier resto de configuraciones que tuviéramos del anterior en nuestra EEPROM. Es importante decir que en últimas versiones de Marlin, en el caso de detectar cambios significativos en la estructura de la EEPROM con respecto a nuevo firmware, ya nos va a sugerir por pantalla que realicemos este Reset de la EEPROM.

  • M503 (Report Settings) El gcode nos va a permitir mostrar los valores de nuestra RAM por la consola serial (Pronterface por ejemplo) lo cual es algo extremadamente útil para verificar que valores está usando nuestra máquina verdaderamente. En versiones actuales de Marlin contamos con una función llamada que nos permitirá añadir el parámetro C a nuestro M503 y que nos deje un fichero zip en nuestra SD, siempre que sea posible, con los valores de nuestra RAM en formato texto.

  • M504 (Validate EEPROM) Por último contamos con que nos va a vaidar que el formato/estructura de EEPROM es correcta para la versión de nuestro firmware, dado que en el caso que no lo fuera nuestra firmware podría no arrancar correctamente en determinadas circunstancias.

  • Las placas actuales se genera un firmware.bin que se pone en la SD, en estos casos si el proceso de actualización se hizo de forma correcta este fichero queda renombrado a .CUR. Así que para comprobar si el proceso fué de forma correcta extrae la SD después de realizar el proceso de actualización y comprueba desde tu ordenador que el .BIN cambió a .CUR

  • Otras placas, normalmente antiguas de 8b, se "quema" directamente el nuevo firmware en la placa con lo que es necesario tenerlas conectadas por USB. En algunos casos puede dar problemas al programarla por USB por lo que puedes ir a la ubicación donde dejó el binario compilado... en estos casos es un fichero .hex normalmente... y subirlo desde otras herramientas especificas para tu impresora, los slicers/fileteadores como PrusaSlicer o Cura pueden realizar este paso de forma bastante sencilla también

Procedimiento automático 3Dwork usando fuentes y pre-configuraciones de Marlin

Hemos desarrollado una automatización para poder generar, para un numero limitado de impresoras y electrónicas, de forma automática el firmware compilado usando las fuentes y pre-configurados de Marlin.

En las siguientes pestañas podéis encontrar el listado de marcas y modelos soportados:

  • Modelo, podréis ver el modelo de impresora y la electrónica usada

  • Firmware, un link a la descarga del firmware compilado

  • Config, un link a los ficheros de configuración usados para generar el firmware que podéis utilizar para personalizarlos vosotros mismos y generar vuestros propio firmware

  • default_env, el default_env a poner en el fichero platformio.ini

IMPORTANTE!!!

Los firmwares compilados a continuación están hechos en base a las fuentes y pre-configurados de Marlin oficial.

En cualquier caso no nos hacemos responsables de ningún problema relacionados con los mismos, es tu responsabilidad usarlos y aplicarlos.

Procedimiento manual usando fuentes y pre-configuraciones de Marlin

Si queréis conocer las novedades, contenido o problemas corregidos de las diferentes versiones de Marlin lo podéis hacer desde el siguiente link:

  • Una vez en la página descarga el código de Marlin de la siguiente forma:

También puedes ir directamente a la página de descargas de Marlin:

Es importante recordar las diferentes versiones disponibles

  • versión release, que es la normalmente estable... ej. 2.1.1.zip

  • versión release con actualizaciones, esta versión contiene resolución de problemas sobre la versión estable aunque en ocasiones pueden provocar daños colaterales... ej.. 2.1.x.zip

  • versión bugfix, son usadas para integrar correcciones para testear... siempre que no sea porque corrije un fallo para nuestra máquina lo ideal es evitarlas... ej. bugfix-2.1.x.zip

IMPORTANTE!!! Recuerda bajar la version de preconfiguraciones que concuerde con la versión de Marlin descargada con release en su nombre. Como referencia existen las siguientes ramas en los preconfigurados: - release : son las versiones que se usan con las versiones estables de Marlin que compiles - bugfix : en el caso que uses un Marlin bugfix, normalmente no aconsejable, deberás usar los preconfigurados de esta rama - import : esta rama no es aconsejable ya que están integrados cambios que no estan ligados con versiones de Marlin directamente y pueden contener configuraciones erroneas o problemáticas

Ahora y dispones de los archivos de Marlin en tu ordenador deberemos de descomprimirlos.

Importante!!! Idealmente no dejar la carpeta con tu Marlin dentro de muchas carpetas anidadas ni con símbolos o acentos en los nombres de las mismas ya que pueden provocar errores en la compilación.

Combinaremos Marlin estable con el preconfigurado de nuestra máquina

  • Abrimos el explorador de archivos de Windows y accedemos a la carpeta donde hemos descargado y descomprimido el repositorio de Marlin .

  • Una vez ahí, abriremos otro explorador de ficheros con el contenido del repositorio de pre-configuraciones

  • Encontraremos dos ficheros de pre-configuración de Marlin para nuestra impresora, en la imagen de ejemplo usaremos una Ender 3 con las pre-configuraciones para una placa SKR MINI v2 (la carpeta a buscar sería lo indicado en el cuadro azul de la siguiente captura):

  • Copiamos los archivos del interior de la carpeta de nuestro pre-configurado (cuadro rojo de la captura anterior y los pegaremos (substituyendo los existentes) en la carpeta «...\Marlin» donde dejamos descomprimido el repositorio de Marlin

Con esto ya tenemos nuestro Marlin listo para compilar!!!

Instalación de software necesario para la edición y compilación de Marlin

El siguiente paso es instalar el software necesario, para ello descargue e instale los siguientes programas:

Durante la instalación asegúrate que seleccionas la casilla "Add Python x.x to PATH"

Algo muy importante, es dejar marcada la casilla «Agregar a PATH» en el cuadro de diálogo de Tareas Adicionales

  • Una vez instalados ambos programas, vedemos instalar el plugin PlatformIO en Visual Studio Code, para ello seguiremos los siguientes pasos:

    • Presionamos los cuadrados del menú izquierdo

    • en el buscador escribimos «PlatformIO»

    • presionamos sobre le rectángulo verde de instalar

Posibles soluciones a problemas en la instalación de la extensión Platformio:

  • Instala Python antes, tal como se sugiere en esta guía, desde su web o la App Store de Windows

  • Ejecuta VSC como administrador, al menos durante la instalación de las extensiones necesarias, así evitaras que en determinadas configuraciones de Windows ciertas acciones esten restringidas o bloqueadas

  • Ves a "Aplicaciones y características" en caso de Windows, eligiremos la opción de "Alias de ejecución de aplicaciones" desactivando el instalador de aplicaciones python.exe y python3.exe. Una vez realizado este paso reiniciaremos VSC y volveremos a intentar la instalación.

  • Asegúrate que tú antivirus/firewall no está bloqueando el proceso de VSC/instalación Platformio ya que partes del proceso requieren descargar módulos desde Internet.

  • Si no ha funcionado... empieza de cero y en el orden correcto de instalación:

    • Desinsta completamente VSC y cualquier otro componente relacionado que instalaste

    • Borrar cualquier directorio que quede relacionado con estas tareas de compilado de Marlin

    • Instalar todo de cero siguiendo los pasos de la guía de esta guía

Comprobaciones para verificar que Python esta correctamente instalado (depende de version de Python instalada y de sistema operativo) ya que es una parte fundamental tanto de la instalación de Platformio y para que funcione:

  • Ejecutar desde una linea de comandos (tecla Windows + R -> cmd.exe)

    • echo %PATH% - esto deberia retornar un listado de directorios donde uno de ellos debería de ser el de Python y hay que asegurarse que apunte a la versión compatible con nuestra versión de Platformio... ejemplo, el path muestra una version 2.5 y nuestro Platformio necesita Python 3.6+

    • echo %PYTHONPATH% - al igual que el anterior deberia retornar el path de Python

    • python --version - en el caso que este correcto lo anterior debería retornar la version de nuestro Python instalado

    • pip --version - pip es un instalador de paquetes de Python y también puede ser necesario para algunas acciones

Lista de alternativas si no es posible hacer funcionar VSC+Platformio:

Compilando nuestro Marlin

Una vez tenemos nuestro Marlin a nivel de ficheros y el software necesario instalado correctamente toca compilarlo para poder generar el fichero a usar en nuestras impresoras:

  • Una vez realizado este paso, abrimos Visual Studio Code, presionamos sobre el icono con dos documentos del menú izquierdo, y a continuación sobre le botón azul de «Agregar carpeta»

  • Buscamos la ubicación donde tenemos nuestro repositorio Marlin y presionamos Agregar:

Os aconsejamos no tener la carpeta con vuestras fuentes de Marlin en muchos directorios anidados ya que esto puede provocar algunos problemas.

Lo ideal es tenerlo en la raíz de cualquiera de vuestras unidades, ej. C:/Marlin

  • En Visual Studio Code, seleccionamos el archivo plaformio.ini del área de trabajo de Marlin que acabamos de añadir.

  • Editamos la fila de «default_envs» y sustituimos » megaatmega2560 » por el adecuado para nuestra placa/impresora, haciendo scroll en este documento encontraras diversas placas, encuentra la tuya y substituye «megaatmega2560» por tu placa en caso de que sea necesario

En la captura anterior podéis ver un ejemplo para una SKR MINI V3 donde:

  1. encontraréis los valores a poner en vuestro platformio.ini en ocasiones podéis encontrar varios, normalmente usar el primero

  2. hace referencia a la carpeta donde se encuentra el fichero pins de nuestra electrónica en el caso que tengamos que averiguar el ID de un pin o cambiar el rol a alguno

  • Una vez realizados los ajustes deseados, presionamos sobre el botón de compilar, este se encuentra en la parte inferior izquierda y tiene forma de «check»

Para errores del tipo "IncludePath"/ faltas de librerias se aconseja borrar la cache:

  • borrar la carpeta .pio

  • borrar la carpeta .vscode

  • hacer click en el icono de papelera (Clean) de la barra azul de Platformio

  • Del menú de Platformio lanzar un Rebuild IntelliSense Index o el icono de basura de la barra inferior azul del VSC

Si no funciona lo ideal es desinstalar y reinstalar las extensiones C++ y Platformio

  • Cuando ya esté compilado el código, vamos a la carpeta: «...\Marlin\.pio\build\xxxx» donde encostraremos un fichero llamado «firmware.bin» o similar dependiendo de las características que necesite nuestra electrónica.

En el caso de ejemplo se describe el proceso para una placa de 32b en las cuales es suficiente copiar el fichero generado en la tarjeta SD de nuestra impresora.

Para impresoras más antiguas el fichero generado suele ser un .hex el cual con la impresora conectada por USB podemos directamente subir desde VSC o usar PrusaSlicer o Cura para actualizar nuestra impresora.

Recuerda que es posible que VSC no lo haga directamente en el caso que no instales los drivers de tu placa y sea capaz de detectar correctamente el COM que se crea o tengas por ejemplo Cura abierto

  • Copiamos este fichero en una tarjeta SD vacía en el directorio raíz o seguiremos el proceso adecuado para nuestra electrónica.

  • Extraemos la SD del ordenador

  • Apagamos la impresora (Desconectamos el USB y la alimentación si están ambos conectados)

  • Esperamos unos 30 segundos

  • Colocamos la tarjeta SD con el nuevo Firmware

  • Encendemos la Impresora, tras unos segundos, veremos como esta instalando el nuevo firmware, poco después, y se iniciara con nuestro nuevo Marlin instalado.

Actualizando nuestro Marlin a una nueva versión

Muchos usuarios ven muy complicado el proceso de actualización de la versión última cocinada por ellos a una nueva, a continuación os damos algunos consejos de como realizar el proceso para que sea más sencillo.

  • Una vez descargado y descomprimido añadiremos esa carpeta a nuestro proyecto en VSC junto con la antigua versión

  • Ahora que tenemos ambos directorios en nuestro proyecto tan solo tendremos que usar la herramienta de comparacion que lleva incluida VSC para comparar los ficheros de configuración de Marlin

    • platformio.ini, es el fichero donde básicamente encontraremos el env de nuestra electrónica

    • Marlin/configuration.h, fichero donde normalmente habilitaremos las funciones y configuración de la impresora/electrónica/extensiones

    • Marlin/configuration_adv.h, similar al anterior pero donde encontraremos ciertas funciones avanzadas

  • Para comparar dos ficheros y desde el panel lateral donde se muestra la estructura de ficheros y carpetas de nuestro proyecto (Explorer) sobre el fichero a comparar de nuestra antigua versión pulsaremos Select for Compare del menú que aparece al hacer click derecho sobre el

  • A continuación haremos lo mismo pero con el fichero de nuestra nueva versión pero en este caso seleccionaremos la opción Compare with Selected y nos aparecerá una nueva pantalla con la comparación entre ellos

    • En la parte superior marcada en la captura siguiente veremos el nombre y carpeta de los ficheros a comparar

    • En la parte central vemos como marca los cambios, en el primer bloque indica en rojo las partes que no incluye el destino (rojo), el central donde indica cambios en ambos sitios y la que normalmente usaremos para detectar ajustes (rojo/verde) y la parte inferior (verde) donde encontrarás lo que se encuentra en el nuevo y no en el antiguo

  • podéis invertir el orden de selección de ficheros si el código de colores os es más amigable

  • os aconsejamos que siempre se añadan comentarios, con // al final de las lineas que modifiqueis ya que os sera mas sencillo identificar cambios

  • en ocasiones puede que funciones cambien de sitio o nombre asi como el formato de valores, aqui tan solo es fijarse y leer los comentarios del propio codigo

Opciones imprescindibles conocer en Marlin

En la siguiente tabla podéis ver las actualmente soportadas, si estáis interesados en que añadamos más podéis contactar por nuestro e .

Desde tu navegador favorito ves al GitHub oficial de Marlin:

El siguiente paso, si tenemos una impresora comercial, descargaremos los pre-configurados de configuración desde y siguiendo el mismo proceso que el explicado en el punto anterior

Python: tambien puedes descargarlo desde la Store de Apps de Windows que en algunos casos realiza una instalación de forma más correcta

Git:

Visual Studio Code: A pesar de que parezca que Python y Git no se usan en ningún paso, son requerimientos de Visual Studio Code para este tutorial

Lanzar un limpiador de registro como , o similar, eliminando cualquier referencia a aplicaciones que no sean necesarias

Otro truco para encontrar cual es nuestro default_envs si solo conocemos la placa que tenemos que poder en MOTHERBOARD dentro de /Marlin/configuration.h es ir al fichero pins de Marlin (Marlin/Marlin/src/pins/) donde buscaremos por nuestro MOTHERBOARD y en la parte final de la linea encontraremos esa información:

A continuación si queremos hacer cambios en la configuración básica de nuestra impresora, ya sea por que le hemos hecho una modificación o para mejorar algún ajuste, desplegamos la carpeta Marlin y nos aparecerán los dos archivos de configuración. Podeis encontrar información de opciones básicas de Marlin en el siguiente de su documentación o explicado de una forma más "sencilla" en .

Descargar la nueva versión de Marlin, tal como os indicabamos descargaremos la nueva versión de Marlin ya sea desde el o desde su .

Una vez ajustados todos los cambios solamente toca como os explicamos al inicio de la guia y ajustando cualquier error que nos aparezca ya que normalmente los errores suelen ser bastante descriptivos.

grupo Telegram 3Dwork en español
inglés
https://github.com/MarlinFirmware/Marlin
https://github.com/MarlinFirmware/Marlin/releases
https://marlinfw.org/meta/download/
https://github.com/MarlinFirmware/Configurations
https://www.python.org/downloads/
https://git-scm.com/
https://code.visualstudio.com/
CCleaner
PrivaZer
Usar Sublime en lugar de VSC
Usar cualquier editor de textos y lanzar Platformio desde linea de comandos
Usar Atom en lugar de VSC
pins.h
link
nuestra guía de Marlin
enlace release de su documentación
Github
aquí
cargar el nuevo proyecto en Platformio
compilar
🦈
- English Version
grupo en español de Telegram sobre Marlin
grupo Telegram 3Dwork en español
inglés
@ThreeDWorkHelpBot
EEPROM_SETTINGS
M500 (Save Settings)
M501 (Restore Settings)
M502 (Factory Reset)
M503 (Report Settings)
CONFIGURATION_EMBEDDING
M504 (Validate EEPROM)
Usando nuestro Auto Builder Marlin usando fuentes y pre-configurados de Marlin
Usando directamente las fuentes y pre-configurados de Marlin desde su Github
✅ Guía completa: Configurar Marlin 2 desde cero y no morir en el intento3DWork
Logo
Ejemplo de error en la instalación de Platformio
Descargar Marlin desde documentación
Descargar Marlin desde su Github, es importante seleccionar la rama adecuada en la esquina superior izquierda.
Page cover image
marlin m500
marlin m502
marlin m503
marlin m504