Se podría decir que el nacimiento del firmware Marlin ha cambiado la forma de ver la impresión 3D y la fabricación en general. En menos de 10 años, Marlin se ha convertido en el firmware más instalado en impresoras 3D y es debido a la gran versatilidad que ofrece.

Veamos más sobre el fw Marlin a continuación:

¿Qué es el firmware Marlin?

Marlin es un firmware. Un firmware es un software, pero con funciones mínimas para controlar una tarjeta electrónica específica. Es la interfaz entre el hardware de la impresora 3D y el software que le envía la información del modelo 3D.

Marlin es un firmware diseñado especialmente para controlar impresoras 3D. Se instala en la tarjeta madre y controla todos sus procesos de la impresión 3D como la temperatura, movimientos sobre la cama, etc.

Marlin está hecho para controlar impresoras 3D FFF Open Source de la familia RepRap (aunque también fue desarrollado para Ultimaker en sus inicios) y debe ser montado sobre Arduino. Es decir, que cualquiera que quiera desarrollar una impresora 3D desde cero, lo más probable es que se descargue el Marlin y lo instale su tarjeta Arduino para controlar dicha impresora 3D.

¿Como Descargar Marlin?

Desde la página oficial del firmware puedes descargar la última versión estable de Marlin.

A continuación, te dejamos los enlaces de descarga de los últimas versiones de Marlin:

Descargar (Download) Marlin 2.0.5.3

Mejoras incluidas
  • Se incorpora QSPI EEPROM para SAMD51.
  • Se corrige el tiempo de retardo en Max7219.
  • Se remueven las llamadas extras a unskew.
  • Se optimizó la completación por tarjeta SD.
  • Se permite que la función PID_DEBUG sea encendida o apagada.
  • Se agrega compatibilidad con la tarjeta Funmat HT v4.0.
  • Se actualizan los lenguajes ruso e italiano.

Descargar Marlin 2.0.5.2

Mejoras incluidas
  • Se incorporan nuevas opciones para el ventilador del controlador.
  • Se incluye la instrucción gcode M710.
  • Se agrega M42 M para ajustar el modo del pinado.
  • Se implementa la función CONTROLLER_FAN_USE_Z_ONLY.
  • Se mejoró la instrucción M43.
  • Se incorporó la tarjeta Copymaster3D.
  • Se corrigen los límites en la edición de aceleración.

Descargar Marlin 2.0.5.1

Mejoras incluidas
  • Se incorporó la opción EEPROM_BOOT_SILENT para un arranque menos detallado.
  • Se incluyen 3 dígitos de precisión cuando se editan los offsets del hotend.
  • Se corrgió la barra de progreso.
  • Se corrigió la carga del slot U.B.L.
  • Se arregló la corrección en Z después de G29.

Descargar Marlin 2.0.5

Mejoras incluidas
  • Ahora se incluye la características de nivelación de cama Quad-Z.
  • Se agregaron los pines E2 de motores de paso para Rumba.
  • Se mejoraron los pines y variantes para FYSETC S6.
  • Se permite invalidar la función Z_STOP_PIN en SKR 1.4.
  • Se usa la temperatura máxima de la cama para compensación de temperatura de la sonda predeterminada.
  • Se incluyó la función HOME_AFTER_G34.
  • Se hicieron mejoras para los displays DGUS.
  • Ahora es posible usar la función M220 sin argumentos de impresión.
  • Se actualizaron los lenguajes alemán, turco y chino.
  • Se envía mensaje “archivo de tarjeta SD abierto” a todos los hosts conectados.
  • Se agregan verificaciones tempranas de conflictos de pines para LPC1768.
  • Se optimizó y mejoró la función M900.
  • Se incluyeron los métodos “Max7219::suspend” y “resume”.

Descargar Marlin 2.0.4.4

Mejoras incluidas
  • Se optimizó a compatibilidad con las tarjetas:
    • BTT SKR 1.4.
    • STM32.
    • MKS SGen-L
  • Chequeo de integridad de posibles conflictos de pines seriales para LPC176x.
  • Se corrigió la asignación, reinicio y edición de servo ángulos.
  • Se corrigió problema con la detección de ruptura de las funciones M0/M1.
  • Prevención de posibles atascos cuando se imprime con SD.
  • Se arregló la falla de sensado con la función G33.
  • Ahora se muestran los errores EEPROM init en la LCD.

Descargar Marlin 2.0.4.3

Mejoras incluidas
  • Se corrigió la evaluación de cuál motor de paso tiene software serial.
  • Se elimina la advertencia de “packed member” con el nuevo compilador LPC176x.
  • Ahora se asegura que la última línea de instrucciones en la tarjeta SD haga commit antes de cerrar el trabajo de impresión.
  • Se reduce el TMC baudrate predeterminado a 57600 con software serial.
  • Se mejoraron las configuraciones de las impresoras Geeetech A10T / A20T.

Descargar Marlin 2.0.4.2

Mejoras incluidas
  • Se corrigieron los errores de lazo de espera roto en las funciones M0 / M1.
  • Ahora se soporta la función ANET_FULL_GRAPHICS_LCD con SKR 1.4.
  • Se incluye la verificación de integridad para todos los items de menú personalizados por el usuario.

Descargar Marlin 2.0.4.1

Mejoras incluidas
  • Se incluyeron de vuelta, los pasos de bebé para los ejes Y y Z.

Descargar Marlin 2.0.4

Mejoras incluidas
  • Ahora se puede auto asignar los puntos de prueba con la función G34.
  • Se incluyó la función Z_AFTER_HOMING para incremento estándar después de la función G28.
  • Ahora es posible hacer inserciones de borde individuales cuando se hace la nivelación de la cama.
  • Ahora es compatible con la tarjeta MKS BASE 1.6.
  • Se habilita la posibilidad de configurar la longitud de retracción de la función G26.
  • Se mejoraron los caracteres del LCD.
  • Se brinda soporte opciones para frases citadas en gcode.

Descargar Marlin 2.0.3

Mejoras incluidas
  • Ahora brinda soporte a tarjetas madre E4d@BOX.
  • Se definieron los pines RX/TX para alcanzar hasta 8 extrusores.
  • Se puede auto asignar los pines stallGuard DIAG para X2/Y2/Z2/Z3/Z4.
  • Se agregó termistor 21 para PT100 con lógica de 3.3V.
  • Ahora es posible hacer el uso combinado de perilla y botones táctiles.
  • Ahora se usa menos SRAM para motores de paso L64xx.
  • Se optimizó la nivelación de la cama con múltiples extrusores.
  • Se corrigió el error de compilación de la función M48.

Descargar Marlin 2.0.2

Mejoras incluidas
  • Ahora soporta nuevas tarjetas:
    • HMS434 V15 ATSAM.
    • BigTreeTech GTR V1.0.
  • Se incluyeron nuevas funciones de afinado para las funciones de segmentación de arco G2/G3.
  • Se agregó la posibilidad de ajustar el tiempo de respuesta (debounce) para teclados ADC.
  • Se optimizó la compatibilidad con los siguientes circuitos integrados:
    • Geeetech GTM32.
    • STEVAL 3DP001V1.
    • BigTreeTech BTT002.
    • FYSTEC F6.
    • BigTreeTech SKR 1.3.
    • Trigorilla 1.4.
  • Ahora es posible trabajar hasta con 8 extrusores.
  • Se agregaron las funciones G60/G61 para guardar y restaurar las posiciones.
  • Se agregó la función de compensación de temperatura para la sonda P.I.N.D.A.
  • Se incorporó la función de compensación de temperatura para la sonda de la cama caliente.
  • Ahora es compatible a sondas Duet Smart Effector.
  • Incluyen compatibilidad con motores de paso 4x.
  • Ahora es posible ajustar el Master ID del circuito LPC1768 i2c.

Descargar Marlin 2.0.1

Mejoras incluidas
  • Ahora es compatible con más tarjetas electrónicas.
    • MKS Robin Pro
    • MKS Robin Lite3
    • MKS Robin 2 base pins
    • MRR_ESPA / ESPE (ESP32)
    • FLYBOARD (STM32F4)
    • RUMBA32 con PlatformIO
  • Ahora incluye configuraciones para más impresoras 3D.
    • Creality Ender 5 Pro
    • Geeetech A10D
    • Geeetech PI3A Pro
    • EXP3D
    • Flsun QQ-S
    • Tevo Nereus (con Robin nano)
    • RAMBo for CNC
    • Kossel Clear
  • Se mejoró el comportamiento de los botones táctiles.
  • Se optimizaron los lenguajes francés, checo e italiano.
  • Se incluyó el eje Z para la función feedrate lineal de Impresoras SCARA.
  • Se corrigieron multiples errores detectados en la versión 2.0.0, como por ejemplo:
    • Errores de conexión con el puerto serial del LCD Malyan.
    • Falta de sensores de Home para el circuito integrado TMC2209.
    • Correccion en el tiempo de pulso de la función “STEP”, que causaba pérdidas de pasos.

Descargar Marlin 2.0.0

La versión 2.0.0 representa un salto mayor en cuanto a las mejoras de Marlin e incluye muchas características importantes que se describen más abajo.

Mejoras incluidas
  • Ahora brinda soporte a 32-bits para las siguientes tarjetas electrónicas:
    • DUE / SAM3X8E.
    • Grand Central / SAM5D.
    • Smoothie / SBASE / EZBoard / LPC176x.
    • SKR Mini / STM32.
    • ESP32.
  • Se mejoró el soporte a las tarjetas AVR siguientes:
    • Melzi / ATmega 1280.
    • RAMPS / ATmega 2560.
    • RAMBo / miniRAMBo / Einsy RAMBo.
  • Se optimizó la función de recuperación ante pérdida de energía durante trabajos de impresión mediante tarjeta SD.
  • Ahora soporta multiplexores de Prusa MK2.
  • Brinda control automático de pérdida de energía.
  • Ahora es compatible con sondas Touch Mi.
  • Ahora soporta juegos en LCD gráfico.
  • Compatible con menús de control tipo LED.
  • Ahora soporta Touch UI de impresoras 3D Lulzbot.
  • Incluye soporte a displays FSMC.
  • Soporte a controlador de lazo cerrado externo.
  • Ahora permite trabajar con Ejes de paso dual, triple Z, multi-endstop y alineación automática del eje Z auto.
  • Se optimizó la función para volver a Home.
  • Se incluyó en las opciones de LCD la función de reimprimir el último archivo de la SD.
  • Se agregaron las funciones de control de refrigeración M7/M8/M9.
  • Se incorporó la función de verificación de impresora 3D M16.
  • Ahora brinda soporte a mayor cantidad de sensores de temperatura.
  • Se mejoró la calibración delta.
  • Se incluyeron más opciones en la ventana de estados gráficos.
  • Ahora es posible trabajar con un máximo de 6 extrusores.

Descargar Marlin 1.1.9.1

Mejoras incluidas
  • Ahora soporta sensores de autonivelación BLTouch 3.0/3.1.
  • Se incorpora la instrucción M524 para abortar la impresión por SD.
  • Se incluye el ajuste de salto del eje Z para la función “LEVEL_BED_CORNERS”.

Descargar Marlin 1.1.9

Esta es la última versión 8-bits del firmware.

Mejoras incluidas
  • Ahora se puede especificar los drivers del motor de paso por eje. El firmware determina el tiempo del pulso para cada motor.
  • El avance lineal 1.5 fue actualizado y ahora incluye un nuevo rango de valor k.
  • Se incluye la función “POWER_LOSS_RECOVERY” para impresión con tarjeta SD.
  • Se incorporó la función “POWER_LOSS_PIN” para detectar pérdida de potencia más pronto y poder guardar el estado actual de impresión.
  • Ahora se cuenta con la función “Z_CLEARANCE_MULTI_PROBE” para ajustar la distancia “bump” de la sonda.
  • Ahora incluye la función “DELTA_FEEDRATE_SCALING” que permite escalar de forma dinámica el feedrate y lograr un moviemiento delta correcto.
  • Se incluyó una ventana de estatus ligera (LIGHTWEIGHT_UI) para displays gráficos ST7920 (lo más usados).
  • Se incorporaron opciones de hacer Home, sondear y nivelar.
  • Se agregaron las instrucciones M701 / M702 para carga y descarga de filamentos.
  • Se incluye la nueva característica “SLIM_LCD_MENUS” que permite trabajar con impresoras 3D con volumen de impresión más pequeños.
  • Se agregó la función “AUTO_POWER_CONTROL” para encender y apagar la impresora 3D de forma automática.
  • Ahora se incluye el parámetro M421 N para configurar un punto de malla para la función NAN.
  • Ahora es compatible con LCD Malyan.

Descargar Marlin 1.1.8

Mejoras incluidas
  • Incluye la instrucción “NO_VOLUMETRICS” para sacar todo el código volumétrico de la cola de ejecución.
  • Ahora incluye las acciones de “pausa” y “continuar” con los códigos M600 y M125, respectivamente.
  • Se incorpora la función de copiar la escala del feedrate SCARA similar a Evezor.
  • Ahora se usa “NOZZLE_PARK_FEATURE” para “ADVANCED_PAUSE_FEATURE”.

Marlin en Github

Github es la plataforma de desarrollo estrella cuando queremos compartir, archivar y revisar versiones de nuestros códigos o programas. Los desarrolladores del Marlin lo usan como repositorio para todas sus versiones previas del firmware. A continuación, puedes ir a la página donde se guardan las diferentes versiones del Marlin.

Manual de Marlin para principiantes

Desde la página oficial de Marlin puedes encontrar la documentación técnica necesaria para configurar Marlin. También, te dejamos a continuación, un manual pdf en español para descargar.

Características del Fw Marlin

Marlin evoluciona día a día para ser compatible con todas las nuevas mejoras que van teniendo las impresoras 3D. La comunidad de desarrolladores independientes y empresas privadas aportan grandes ideas y códigos para incorporar a las nuevas versiones de Marlin. Veamos sus características más importantes:

  • Sus instrucciones máquina derivan de gcode y posee más de 150 comandos.
  • Es compatible con impresoras 3D cartesianas, delta, Scara y Core/H-Bot.
  • Soporta hasta 5 extrusores más una cama caliente.
  • Trabaja con sistemas de movimiento inteligente con aceleración lineal.
  • Posee contador de impresiones y temporizador de trabajo de impresión.
  • Soporta control de temperatura por PID de lazo cerrado con auto afinación, protección térmica y corte de seguridad.
  • Brinda compensación de nivelación de la cama (con o sin sonda de cama).
  • Permite trabajar con controladores LCD y soporta hasta 30 diferentes lenguajes, incluyendo español.
  • Puede correr desde un host instalado en una PC o desde una tarjeta SD.
  • Posee la función de auto arranque.
  • Soporta avance lineal para extrusión basado en presión.
  • Permite trabajar con extrusión volumétrica.
  • Se puede trabajar con extrusores de diferentes tipos mezclados. Cyclops, Chimera, Diamond, etc.
  • Soporta sensores de filamento gastado.

Ventajas del firmware Marlin

Aunque marlin nació como una derivación del firmware sprinter y grbl, a partir de agosto de 2011 evolucionó en un firmware independiente y único. Hoy en dia Marlin ofrece múltiples ventajas que resumimos a continuación:

Mejoras incluidas
  • Marlin puede ser ejecutado directamente desde una tarjeta SD o conectado a un programa Host como octoprint o repetier host.
  • Es totalmente de código abierto y gratuito.
  • Posee más de 150 comandos de instrucciones gcode.
  • Puede entender cálculos complejos para los movimientos en los diferentes ejes.
  • Se puede usar para diferentes tipos de impresoras: cartesiana, delta, Scara, etc.
  • También es posible usarlo en impresoras de resina y SLS.
  • Con la nueva versión 32-bits, ahora es compatible con impresoras que usan wifi.
  • Es muy estable, con mínimos errores que se van corrigiendo día a día.
  • Existe una gran comunidad de desarrolladores y empresas aportando valor para mejorar el firmware.
  • Se puede instalar en tarjetas Arduino de 8-bits y 32-bits, siendo la combinación de Arduino Mega2560 y RAMPS 1.4 la más popular entre los entusiastas.
  • Es configurable, extensible y personalizable. Cualquiera puede crear su propia versión de Marlin.
  • Es muy liviano y se puede usar en impresoras de diferentes complejidades, desde una mini impresora 3D sin cabezal hasta una impresora profesional full.

Marlin y RepRap

A partir del concepto de autorreplicación nació la idea de una impresora 3D capaz de imprimir ella misma sus partes. El proyecto RepRap nació con la idea de crear una impresora 3D doméstica, gratuita y que pudiera imprimir objetos de plástico (incluyendo recambios para sus piezas).

Esta impresora 3D open source debía contar con un firmware open source, así que se desarrolló Marlin para controlar las impresoras RepRap. Esta combinación Marlin – RepRap ha sido una de las innovaciones más revolucionarias de este siglo 21.

¿Cómo funciona Marlin?

Marlin es un programa que corre en la tarjeta madre y se encarga de controlar y monitorear todo el hardware de tu impresora 3D. Recibe el gcode y lo traduce en movimientos necesarios para crear el objeto 3D.

Entre las cosas que controla y supervisa Marlin están:

  • Calentadores.
  • Motores.
  • Pantalla LCD.
  • Lector de tarjeta SD.
  • Ventiladores.
  • Sensores.
  • Luces.
  • Botones.
  • WiFi.

Para lograr el proceso de impresión FFF, el filamento debe ser extruido y depositado en una cama dónde se va formando el objeto capa por capa.

Para darle forma al objeto, se requiere un movimiento coordinado del extrusor y la cama, pero también es necesario que otros elementos sean controlados como la temperatura a la cual de debe calentar el filamento o los momentos de encendido de los ventiladores.

Todo este control está establecido en el código g que recibe Marlin. Gcode es código de instrucciones que le dicen a Marlin: «calentar a 180°» o «extrusor 12 cm de filamento», por ejemplo.

Marlin toma estas instrucciones y las convierte en señales eléctricas en forma de pulso que luego envía a los distintos elementos de la máquina 3D (motores de paso, circuitos integrados, etc.).

¿De dónde se obtiene el gcode? Lo obtienes de un programa Slicer como Cura o Simplify 3D. Estos programas toman el modelo, originalmente en archivo obj o stl, y lo convierten en gcode.

Marlin solo entiende gcode.

Existen 2 tipos de procesos que se manejan con diferentes prioridades en Marlin, y, por ende a diferentes velocidades de ejecución. Por un lado, los procesos dinámicos (desplazamientos) se manejan de forma más rápida a una tasa de alrededor de 4000 pasos por segundo.

En cambio, los procesos no dinámicos (cómo temperatura o sensado de variables) se manejan a velocidades más bajas.

Gcode del Marlin 3D

Marlin usa una versión modificada, pero muy similar, de gcode para la ejecución de instrucciones de impresión 3D. Actualmente, posee alrededor de 150 comandos y todas se describen en el siguiente artículo separado.

Impresoras 3D que usan Marlin

Una gran cantidad de fabricantes grandes y pequeños venden impresoras con variantes de Marlin como controlador. Ultimaker, Hephestos, Anet y Creality son ejemplos de empresas que usan marlin en sus máquinas 3D.

Veamos un listado actualizado de impresoras 3D que usan alguna versión de Marlin:

  • ANET A8.
  • Anet A8 plus.
  • Ender 3.
  • Ender 3 Pro.
  • Hephestos 2.
  • Geeetech prusa i3 pro B.
  • Geeetech prusa i3 pro W.
  • Geeetech A10M.
  • Geeetech A20M.
  • Ultimaker 2.
  • Ultimaker 3.
  • Ender 5.
  • Ender 5 pro.
  • Creality CR10S.
  • Prusa i3 MK3.

¿Cómo instalar Marlin?

Antes que nada, es importante que reconsideres si es necesario realizar el cambio de firmware. Si el firmware actual de tu impresora funciona correctamente, no es necesario instalar otro.

La mayoría de los problemas de una impresora 3D están asociados a mala calibración, tornillos flojos o correas mal tensadas.

Si deseas instalar Marlin en la tarjeta madre de tu nueva impresora 3d, debes seguir los siguientes pasos a continuación. Este proceso es aplicable a cualquier impresora 3D o tarjetas Arduino, incluyendo:

  • Anet A8.
  • Ender 3.
  • Tevo tarantula.
  • Prusa i3.
  • Hephestos 2.

Marlin para Impresoras de Doble Extrusor

Marlin está preparado para controlar hasta 5 extrusores al mismo tiempo. El proceso es tan simple como configurarlo y listo. Te dejamos un vídeo para ayudarte con el Marlin para doble extrusor. En este caso, se usa una Geeetech A10M, pero el proceso es similar para cualquier marca de impresora 3D DIY.

Scroll al inicio