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.
Última actualización
¿Te fue útil?
Marlin es el software que gobierna tu Impresora, a continuación te enseñamos como prepararlo para poder instalar o actualizar en tu Impresora.
Última actualización
¿Te fue útil?
Pásate por nuestro grupo en español de Telegram sobre Marlin para cualquier duda relacionada con el, también si quieres acceder a un grupo general tienes nuestro grupo Telegram 3Dwork en español e inglés.
Os recordamos que tienes mas guias de ayuda en nuestro bot de Telegram @ThreeDWorkHelpBot
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:
Usando nuestro Auto Builder Marlin usando fuentes y pre-configurados de Marlin, en este caso el soporte a las máquinas que generamos el firware es limitado... revisa si la tuya esta incluída.
Usando directamente las fuentes y pre-configurados de Marlin desde su Github, aunque también aplicaria si vuestro fabricante dispone de uno personalizado aunque normalmente no están completamente actualizados
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.
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
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 la siguiente tabla podéis ver las actualmente soportadas, si estáis interesados en que añadamos más podéis contactar por nuestro grupo Telegram 3Dwork en español e inglés.
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.
Desde tu navegador favorito ves al GitHub oficial de Marlin: https://github.com/MarlinFirmware/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:
El siguiente paso, si tenemos una impresora comercial, descargaremos los pre-configurados de configuración desde https://github.com/MarlinFirmware/Configurations y siguiendo el mismo proceso que el explicado en el punto anterior
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.
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!!!
El siguiente paso es instalar el software necesario, para ello descargue e instale los siguientes programas:
Python: https://www.python.org/downloads/ tambien puedes descargarlo desde la Store de Apps de Windows que en algunos casos realiza una instalación de forma más correcta
Git: https://git-scm.com/
Visual Studio Code: https://code.visualstudio.com/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
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
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:
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
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 link de su documentación o explicado de una forma más "sencilla" en nuestra guía de Marlin.
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»
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.
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.
Descargar la nueva versión de Marlin, tal como os indicabamos aquí descargaremos la nueva versión de Marlin ya sea desde el enlace release de su documentación o desde su Github.
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
Una vez ajustados todos los cambios solamente toca cargar el nuevo proyecto en Platformio como os explicamos al inicio de la guia y compilar ajustando cualquier error que nos aparezca ya que normalmente los errores suelen ser bastante descriptivos.