Recientemente tuve que actualizar una placa de 32bits (MKS Robin Nano de MakerBase) para instalarle un firmware de Marlin, concretamente la versión 2.0.1. Normalmente suelo utilizar sublime y el IDE de arduino, pero esta vez me dispuse a hacerlo con Visual Studio Code y su genial extensión Platform.io IDE.

Había oído hablar previamente de él en nuestro canal de WhatsApp, pero no había tenido la ocasión de utilizarlo nunca. Y ciertamente, me ha parecido una forma genial de editar y compilar los archivos de Marlin.

Así que te dejo por aquí una breve y rápida guía de como utilizarlo. Espero como siempre que pueda servirte de utilidad.

 

 

 

Visual Studio Code

Actualiza tu impresora 3D a Marlin 2.x.x con Visual Studio Code y Platform.io

Visual Studio Code es un fabuloso editor freeware de código muy ligero y potente. Esta orientado a lenguajes de programación de todo tipo (JS, TypeScript, C++, C#, Python, PHP, etc.). Además, incluye numerosas funciones como depuración de código, resaltado de sintaxis, finalización inteligente de código, refactorización y muchas cosas más.

Se encuentra disponible en las 3 plataformas más importantes que existen actualmente: Windows (7, 8 y 10), Linux (formatos .deb .rpm y .tar.gz), y como no Mac (macOS 10.10+).

No es mi función, ni la de esta mini-guía, el explicar todas las bonanzas de este gran editor de código en profundidad. No obstante, si deseas conocerlo más a fondo y obtener toda la información al respecto, no dudes en visitar la página web oficial del proyecto en este enlace.

Pues bien, lo primero que deberás efectuar es instalar este software. Aquí tienes el enlace de descarga para todas y cada una las plataformas disponibles: Descargar Visual Studio Code

 

 

 

Instalando la extensión PlatformIO IDE

Una vez que hayamos instalado correctamente Visual Studio Code, ejecutaremos el programa y buscaremos en la barra lateral izquierda, un icono con una especie de Puzzle (como puedes ver en la imagen superior)

Con esto accederemos a la sección donde se administran las Extensiones. Allí iremos al cuadro de búsqueda, introduciremos el nombre «PlatformIO IDE» y esperaremos a que aparezca en el listado. Después lo seleccionaremos y pulsaremos el botón «Install” para comenzar el proceso de instalación del mismo.

El tiempo de instalación dependerá de tu ordenador y del sistema operativo que tengas. Tardara un poquito, así que ten paciencia y espera a que termine completamente. Una vez finalizado, el propio software te avisará con un mensaje en la parte derecha inferior «PlatformIO IDE has been successfully installed! Please reload window«.

En el caso de que no tengas Python instalado, Visual Studio Code te pedirá que lo instales, ya que es completamente necesario para esta extensión. Te debería aparecer un mensaje tal como este «PlatformIO: Can not find working Python 2.7 or 3.5+ Interpreter. Please install the latest Python 3 and restart VSCode«. Y te ofrecerá la posibilidad de descargarlo pulsando un botón, picha en él, descargas el software y lo instalas, nada más simple.

 

 

 

Cargando nuestro Firmware Marlin

Actualiza tu impresora 3D a Marlin 2.x.x con Visual Studio Code y Platform.io

Ya con Visual Studio Code y la extensión Platform.io IDE completamente instalados y funcionales, podremos empezar a trastear con nuestros firmware Marlin. Para ello arrancaremos la aplicación, y en la parte superior buscaremos una pestaña llamada PIO Home (justo a la derecha del Welcome).

Si pulsamos en esta pestaña, PlatformIO nos dará la bienvenida y nos mostrará varios botones de acceso rápido (Quick Access). Entre ellos localizaremos uno que dice «Open Project» y lo pulsaremos para buscar nuestro proyecto, que en este caso será un firmware de Marlin para editar y/o compilar.

Recuerda haber descomprimido el firmware Marlin, en caso de que sea recién descargado, ya que lo que vamos a seleccionar aquí es la carpeta contenedora, y no el archivo del proyecto como hacíamos con el compilador oficial de Arduino (Arduino IDE).

 

 

 

Configurando nuestro proyecto

Actualiza tu impresora 3D a Marlin 2.x.x con Visual Studio Code y Platform.io

Ahora llega la hora de configurar nuestro firmware Marlin para la mecánica de nuestra impresora, y con las opciones que deseemos obviamente.

Para ello, te animamos a que te leas nuestro artículo Guía completa: Configurar Marlin 2.0.x desde cero y no morir en el intento, que escribí unas semanas atrás y que te será de gran ayuda si careces de experiencia previa compilando Marlin.

Si ya tienes el firmware configurado a tu gusto (y al de la exigente impresora), solo resta seleccionar el microprocesador sobre el que vamos a trabajar, pudiendo ser de 8 bits o de 32 bits. Para ello, dentro de la carpeta del proyecto Marlin, buscaremos y editaremos un archivo que se denomina «platformio.ini».

En este archivo le indicaremos que tipo de microprocesador tiene nuestra electrónica, así el compilador podrá preparar el firmware para que funcione en ella sin ningún problema. Para ello buscaremos las siguientes líneas:

 

[platformio]
src_dir = Marlin
build_dir = .pioenvs
lib_dir = .piolib
libdeps_dir = .piolibdeps
env_default = megaatmega2560

 

Donde aparece env_default deberás indicar el microcontrolador de tu electrónica. Yo dispongo normalmente en mis impresoras de una MKS Gen v1.4, y por eso esta configurado el valor «megaatmega2560».

Deberás descubrir cual es el valor a poner en env_default y rellenarlo, sino te dará errores de compilación.

Os dejo aquí un listado con algunos de los microprocesadores más comunes y el valor a indicar en esa variable. Existen más, así que consulta el archivo «platformio.ini» si el tuyo no aparece aquí.

 

ELECTRÓNICA DISPONIBLE ENV_DEFAULT
Arduino Mega 2560 (8-bit) megaatmega2560
Arduino Mega 1280 (32-bit) megaatmega1280
Arduino Due DUE
Re-ARM Board
MKS SBASE 1.3
LPC1768
Panucatt Azteeg X5
Smoothieboard 4x
LPC1769
MKS Robin mks_robin
MKS Robin Nano mks_robin_nano
RAMBO (8-bit) rambo
Melzi y clones melzi
Sanguinololu (ATmega644p) sanguino_atmega644p
Sanguinololu (ATmega1284p) sanguino_atmega1284p

 

 

 

Compilando y subiendo el firmware a nuestra impresora

Actualiza tu impresora 3D a Marlin 2.x.x con Visual Studio Code y Platform.io

Y para acabar, llegamos a la parte mas sencilla del artículo, compilar y subir nuestro firmware personalizado a la impresora 3D. Así que vamos a ello!

 

Electrónicas de 8 bits

En las placas de 8 bits debemos de hacer clic en el icono del «marcianito» o «libélula» (no tengo ni idea de que narices es). Este se encuentra en una barra de iconos a nuestra izquierda, y esta posicionado debajo del icono que utilizamos anteriormente para instalar la extensión «PlatformIO IDE«.

Una vez hayamos efectuado el clic nos aparecerá otra barra (algo más ancha) a su derecha con las diferentes opciones del compilador. En la sección PROJECT TASKS, pulsaremos la opción»Build» para compilar el firmware.

El compilador empezará a trabajar, y ya solo tendremos que esperar a que finalice. En mi ordenador con windows10 y microprocesador i7 (de primera generación) suele tardar poco más de un minuto. Sobra decir, que si tenemos algo mal configurado, el compilador y el «SanityCheck.h» de Marlin, nos darán error de compilación e información exhaustiva del problema.

Ya para finalizar, si deseamos subir el firmware compilado a nuestra impresora pulsaremos la opción «Upload«. Recuerda haber pinchado tu placa al ordenador vía USB, sino no podrá conectar y finalizar el proceso.

 

Electrónicas de 32 bits

Para las placas de 32 bits, seguiremos el mismo proceso para compilar. Clic en el «marcianito», y después en la opción «Build«, de igual manera que hacíamos en las de 8 bits.

Pero en este caso no usaremos la opción «Upload» para subir el archivo a la placa, ya que normalmente en las electrónicas de 32 bits se suele copiar el archivo generado (Firmware) en una SDCard. Después introduces la SDCard en su ranura correspondiente y tras alimentar la placa, el mismo detectara un nuevo firmware y se actualizara automáticamente durante el proceso de encendido.

Para que esto suceda, copiaremos nuestro firmware generado a la tarjeta, y lo encontraremos en la siguiente ruta de nuestro proyecto Marlin: \.pio\build\mks_robin_nano\firmware.bin

 

 

 

Y bueno, esto es todo, no quisiera alargarme más, ya que os prometí que era solamente una mini-guía. Como siempre, si tenéis alguna duda, no olvidéis visitar nuestra comunidad al WhatsApp.

 

Puedes encontrar otros artículos interesantes dentro de 3DWork.io: