PlatformIO Marlin

[GUIDA] Come installare Marlin tramite PlatformIO

In questa guida impareremo ad installare il firmware Marlin tramite l’IDE PlatformIO, sostituendo l’ormai datato IDE di Arduino.

Se avete una stampante 3D (o se avete in mente di costruirne una) avrete sicuramente già sentito parlare di Marlin, un firmware per la gestione delle stampanti 3D (e non solo) largamente diffuso e preinstallato nella maggior parte delle stampanti in commercio. Se non sapete che firmware avete sulla vostra stampante è probabile, nel 90% dei casi, che stiate utilizzando proprio Marlin o una sue versione modificata dal produttore.

Essendo un firmware destinato principalmente al famoso progetto RAMPS o simili (ovvero una shield per l’Arduino MEGA 2560) si è sempre proceduto all’installazione di esso mediante l’IDE di Arduino essendo un progetto Arduino a tutti gli effetti.

Ma si sa, con il passare del tempo tutto cambia e tutto si evolve, persino l’IDE consigliato con cui installare Marlin.

Infatti, con l’arrivo di Marlin 2.0.x gli sviluppatori consigliano ora l’utilizzo di PlatformIO in sostituzione all’IDE di Arduino.

Cos’è PlatformIO?

PlatformIO è un IDE di sviluppo open source orientato al mondo dell’IOT, supporta tantissimi controller diversi ed integra al suo interno tutti gli strumenti necessari alla compilazione ed al flash delle schede.

Esso può essere installato come estensione di due famosi IDE gratuiti: Atom e Visual Studio Code ma è quest’ultimo quello consigliato.

PlatformIO installato su VSCode
PlatformIO installato su VSCode

I principali vantaggi, confronto all’IDE di Arduino, sono:

  • essendo un’estensione per IDE avanzati ottiene i pregi di essi e il suo sviluppo di concentra solo ed esclusivamente sulle funzionalità che aggiunge
  • è facile da installare
  • si aggiorna automaticamente
  • se ci sono librerie necessarie al progetto è in grado di riconoscerle ed installarle da solo
  • supporta molti più controller

Come installare PlatformIO

Per procedere all’installazione di PlatformIO dobbiamo prima fare un passo indietro ed installare Visual Studio Code.

Per farlo dirigetevi sul sito web di Visual Studio Code, scaricate il software in base al vostro sistema operativo ed installatelo.

Aprite Visual Studio Code e vi si presenterà questa schermata:

Visual Studio Code
Visual Studio Code

Ora, all’interno della barre laterale a sinistra selezionate Extensions e nel campo di ricercate cercate “platformio“:

Visual Studio Code Extensions
Visual Studio Code Extensions

A questo punto procedete cliccando Install ed attendete che il processo di installazione del plugin di PlatformIO si concluda:

Visual Studio Code Extensions PlatformIO
Visual Studio Code Extensions PlatformIO

A questo punto potete procedere selezionando la voce Reload to Activate che farà iniziare il processo di installazione vero e proprio di PlatformIO e di tutte le sue dipendenze.

Noterete che compariranno vari avvisi e/o richieste in base al vostro sistema operativo, in linea di massima installate sempre tutto ciò che vi chiede e fate i vari Reload dei plugin e di Visual Studio Code quando richiesto:

PlatformIO Installing
PlatformIO installa le dipendenze necessarie
PlatformIO Installing Python
PlatformIO chiede di installare Python
PlatformIO Installing IDE
PlatformIO si sta installando
PlatformIO Reload
PlatformIO chiede di ricaricare la finestra
PlatformIO Reload Window
PlatformIO chiede di ricaricare nuovamente la finestra

Una volta terminato tutto il processo avrete PlatformIO correttamente installato all’interno di Visual Studio Code:

PlatformIO Pronto
PlatformIO pronto

Scaricare il codice sorgente di Marlin

Arrivati a questo punto siamo pronti a scaricare il codice sorgente di Marlin.

Nel nostro caso utilizzeremo l’ultima versione disponibile , ovvero la versione 2.0.x che, sebbene ancora in sviluppo, è già stabile da molto tempo.

Andiamo quindi sul repository di Marlin su GitHub ed assicuriamoci di essere sul branch bugfix-2.0.x:

Branch impostato su bugfix-2.0.x
Branch impostato su bugfix-2.0.x

Infine, procediamo al download dello ZIP contenente il codice di Marlin:

Download ZIP Marlin
Download ZIP Marlin

Fatto ciò, non resta altro che estrarre lo ZIP in una cartella a vostra scelta.

[OPZIONALE] Clonare il repository di Marlin

In alternativa a quanto appena fatto è possibile clonare il repository di Marlin anziché scaricare lo ZIP.

Facendo ciò sarà possibile mantenere il codice sorgente di Marlin sempre aggiornato con gli ultimi sviluppi effettuati dai suoi sviluppatori.

Per clonare il repository possiamo utilizzare Git che è già incluso all’interno di Visual Studio Code, aprendo il menu View e selezionate Command Palette:

Menu Command Palette
Menu Command Palette

Cerchiamo git e selezioniamo Git Clone:

Git Clone” class=”wp-image-323″/>
Command Palette -> Git Clone

Ora ci verrà chiesto l’indirizzo del repository di Marlin che corrisponde al seguente indirizzo: https://github.com/MarlinFirmware/Marlin.git

Indirizzo repository Marlin
Indirizzo repository Marlin

Fatto ciò, dopo aver scelto dove salvare il codice sorgente di Marlin, attendiamo che il processo di clonazione del repository termini correttamente:

Download repository Marlin
Download repository Marlin

Una volta concluso il processo, Visual Studio Code ci chiederà se vogliamo aprire il progetto appena scaricato, facciamo quindi click su Open Repository:

Apertura repository
Apertura repository

A questo punto vedrete che si caricherà la cartella che contiene il codice sorgente di Marlin all’interno di Visual Studio Code.

Ciò che a noi interessa è effettuare il checkout al branch corretto, infatti noterete, guardando in basso a sinistra di Visual Studio Code, che siete sul vecchio branch 1.1.x:

Vecchio branch 1.1.x selezionato
Vecchio branch 1.1.x selezionato

Cliccate quindi su 1.1.x per visualizzare tutti i branch disponibili su cui poter effettuare il checkout, tra essi selezionate origin/bugfix-2.0.x:

Checkout a nuove branch
Checkout a nuovo branch

Infine assicuratevi che ora compaia il branch corretto:

Branch bugfix-2.0.x selezionato
Branch bugfix-2.0.x selezionato

Configurare Marlin all’interno di PlatformIO

Indipendentemente da come avete scaricato il codice sorgente di Marlin si può ora procedere all’apertura del progetto tramite PlatformIO ed a configurarne le impostazioni della stampante.

Dalla schermata principale di PlatformIO (PIO Home) selezionate Open Existing Project:

Apertura progetti tramite PlatformIO
Apertura progetti tramite PlatformIO

Selezionate ora la cartella contenente il codice sorgente di Marlin ed attendete che PlatformIO finisca il processo di importazione.

Noterete che tra i progetti recenti presenti in PlatformIO verrà aggiunto Marlin:

Progetti recenti di PlatformIO
Progetti recenti di PlatformIO

Da qui sarà possibile riaprire il progetto semplicemente selezionando la voce Open.

Infine, sulla sinistra vi ritroverete la struttura ad albero del codice sorgente di Marlin, non vi resterà altro che modificare i file Configuration.h e Configuration_adv.h relativamente alla vostra stampante 3D:

Configuration.h aperto in VSCode
Configuration.h aperto in VSCode

Come installare Marlin tramite PlatformIO sulla stampante 3D

Modificati i file di configurazione in base alla vostra stampante 3D non resta altro che compilare il firmware e flasharlo sulla scheda della vostra stampante.

Farlo è estremamente semplice perché, a prescindere da qualsiasi configurazione abbiate impostato come ad esempio driver TMC2130/2208, schermi LCD particolari etc etc, PlatformIO scaricherà ed installerà in autonomia tutte le dipendenze necessarie alla corretta compilazione del firmware.

Ciò significa che tutto ciò che dovrete fare sarà andare nel menu di PlatformIO e selezionare Build:

Menu PlatformIO
Menu PlatformIO

Ora, attendete la compilazione del firmware, noterete che PlatformIO scaricherà automaticamente eventuali dipendenze:

Compilazione in corso
Compilazione in corso

Se il processo si è concluso correttamente otterrete, ad esempio, il seguente risultato:

Compilazione avvenuta
Compilazione avvenuta

Infine, per caricare il firmware sulla scheda non ci resta altro che collegarla tramite il cavo USB e selezionare la voce Upload per concludere la procedura.

[EXTRA] Aggiornare il codice sorgente di Marlin

Se avete seguito la guida clonando il repository di Marlin anziché scaricare lo ZIP potrete anche aggiornare il codice sorgente di Marlin conservando le vostre modifiche apportare ai file di configurazione.

Per farlo dovete eseguire una procedura di merging delle nuove modifiche, in gergo si tratta del comando git pull.

Anche in questo caso Visual Studio Code ci rende la vita facile fornendoci un tasto pronto all’uso per questa evenienza, il tasto di sincronizzazione Synchronize Changes:

Tasto Synchronize Changes
Tasto Synchronize Changes

Infine confermate la volontà di effettuare il pull delle modifiche per applicare gli ultimi aggiornamenti:

Conferma Pull
Conferma Pull

Ora siete pronti ad effettuare nuovamente il Build e l’Upload del firmware sulla vostra scheda.

P.S: Visual Studio Code potrebbe anche proporvi di effettuare il fetch delle modifiche in automatico:

Richieste fetch automatico
Richiesta fetch automatico

Ciò significa che vi avviserà se ci sono delle nuove modifiche che possono essere applicate al codice sorgente attraverso la procedura appena vista, non le applica in automatico senza il vostro consenso.