fbpx

Come aggiornare Marlin 2.0.9.3 su Artillery X1/X2 e Genius/Genius PRO

Firmware Marlin per Artillery X1 e Genius

Perchè aggiornare i firmware ?

⚠️ ATTENZIONE: aggiornamento a vostro rischio e pericolo, Help3D non sarà responsabile in nessun modo per eventuali malfunzionamenti della stampante o brick della scheda. Se la stampante non risponde o si muove in modo bizzarro NON è colpa dei firmware ma del modo in cui vengono caricati !

Se sei alle prime armi ed hai acquistato la stampante da poco, non avventurarti nell’aggiornamento firmware o rischi solo di rendere non operativa la stampante se l’aggiornamento non va a buon fine. Se invece vuoi abilitare delle funzioni non attive sul firmware della casa madre allora questo aggiornamento è quello che stai cercando. L’aggiornamento prevede l’installazione di un firmware per LCD e uno per la scheda MKS, con le seguenti nuove funzionalità attive:

FIRMWARE MARLIN (2.0.9.3)

  • M600 attivo nel firmware
  • Jerk
  • Linear Advance
  • G26 per test piano
  • Manual Mesh bed Level (9 – 16- 25 punti )
  • BLTOUCH Bilineare (16 – 25 – 36 punti )
  • Contatore ore stampante (lanciate M78 da terminale)
  • Adaptive step smoothing
  • Thermal Runaway
  • Babystepping
  • G34 per allineamento motori
  • Preriscaldo automatico prima del livellamento
  • Disponibili anche per HEMERA E3D

FIRMWARE LCD (BIGTREETECH) aggiornato 2022

  • M600 Attivo sia su LCD che da Marlin (selezionabile da config.ini)
  • Power Resume, ripristino stampa interrotta
  • Nuovo menù rapido tenendo premuto lo schermo per 1.5 sec
  • Nuovo menù Octoprint per disabilitare tutti gli avvisi
  • Test Piano (G26)
  • Menù EEPROM
  • Mesh Level Editor (per BLTOUCH e Manual Mesh Bed)
  • Visualizzazione tempo di stampa rimanente
  • Icone cliccabili in stampa
  • Nessuna visualizzazione errori M1/MO/M21 per X2 e GeniusPRO
Tutti i nuovi Firmware

Premessa (leggere)

Tutti i firmware rilasciati vengono prima testati da Help3D direttamente e da una serie di beta tester selezionati. Salvo qualche bug riscontrato e comunque corretto nelle successive versioni, i firmware sono da considerarsi funzionanti e privi di difetti che possano compromettere il buon funzionamento della stampante. Abbiamo però ricevuto lamentele in merito a “stampanti impazzite” o che non rispondono ai comandi, come detto inizialmente l’aggiornamento è a vostro rischio e pericolo e non sempre tutte le ciambelle escono con il buco. Per quanto le stampanti siano sempre le stesse (Genius o X1), il modo in cui carichiamo il firmware, la configurazione del PC di partenza, il sistema operativo, i drivers USB ecc ecc cambiano da utente ad utente. L’unica cosa che possiamo consigliarti è di seguire scrupolosamente questa guida e leggerla tutta senza tralasciare alcun paragrafo. Se alla fine continui ad avere problemi rimetti i firmware originali che puoi trovare sempre disponibili sul Github della Artillery https://github.com/artillery3d

⚠️ ATTENZIONE: i firmware LCD sono uguali sia per la X1/X2 che per la Genius/Genius PRO. Presta attenzione invece a caricare il file corretto relativo a Marlin per la serie X2 e Genius PRO in quanto montano una scheda a 32 Bit e richiedono un caricamento del firmware differente dalla scheda a 8 bit della X1 e Genius.

⚠️ ATTENZIONE: scegli correttamente quale versione montare di Marlin. Sono pubblicati 2 differenti tipi di firmware, quelli per chi monta il BLTouch o 3DTouch e quello per chi non monta nessun sensore di livellamento (Manual Mesh Bed Level). E’ scontato precisare di NON installare il firmware sbagliato. 

Sono disponibili inoltre tutti i firmware per chi monta l’estrusore HEMERA di E3D con relativo sblocco della temperatura fino a 300°. NON installatelo se avete l’estrusore stock/originale.

Come installare il firmware LCD

Hai acquistato una Artillery a partire da gennaio 2022 ? Leggi qui

Tutte le nuove Artillery sembra vengano spedite con un nuovo microcontrollore GD32F305 che al momento non è supportato da questi Firmware LCD. Se provi a caricare il file MKSTFT28.bin non viene letto e non parte il flash. Chi ha questo tipo di LCD per il momento non potrà aggiornare e dovrà attendere le nuove versioni che verranno rilasciate in futuro.

Se non sai quale modello hai installato in genere lo capisci dal "bootloader" che compare facendo il flash del firmware originale Artillery. Se è V 3.0.4 allora è il nuovo microcontrollore.

Parti sempre con l’installazione del firmware LCD, è la parte più semplice e indolore (quasi) di tutto il processo. In un mio vecchio VIDEO spiego passo passo la procedura per poterlo caricare correttamente, ma qui sotto trovi tutti i passi da seguire:

  • Scarica i files da questo link: https://bit.ly/firmware-artillery-help3d 
  • Estrai il contenuto del file compresso
  • Prendi una scheda MicroSD di capienza non superiore a 8GB e formattala FAT16
  • Inseriscila nel lettore carte sul PC/MAC
  • Carica i files sulla MicroSD
    • config.ini
    • MKSTFT28.bin
    • language_it.ini
    • Cartella MKS (con relative sottocartelle BMP e FONT al suo interno)
  • Spegni la stampante (Interruttore 220V OFF)
  • Inserisci la MicroSD nell’apposito slot accanto alla porta USB
  • Accendi la stampante (Interruttore 220V ON)
  • La stampante entrerà automaticamente in aggiornamento e vedrai tutti i passaggi susseguirsi. Nel giro di 3 minuti il processo si completerà automaticamente e la stampante verrà riavviata.
  • Spegni la stampante (Interruttore 220V OFF)
  • Togli la MicroSD e inseriscila nel lettore carte sul PC/MAC
  • Cancella tutti i files precedentemente caricati
  • Carica solo il file “config.ini”
  • Rimetti la MicroSD sulla stampante e accendila per completare il flash lcd

Quest’ultimo punto è MOLTO importante e fondamentale perchè buona parte delle segnalazioni che sono arrivate di stampanti “impazzite” si sono risolte semplicemente effettuando un secondo flash del solo file config.ini. In alcuni casi non è risultato necessario ma per evitare ogni problema abbiamo reso obbligatorio questo passaggio.

Il file config.ini che cos’è ?

Oltre al file .bin che è il vero e proprio firmware compilato da caricare, è presente anche un file config.ini (non va rinominato aggiungendo altre parole altrimenti non viene letto). E’ un semplicissimo file di testo che è possibile aprire e modificare con un qualsiasi editor di testo (Sublime Text, Notepad++). Perchè modificarlo ? Aprendolo noterai all’interno diverse voci modificabili come:

  • Temperature massima di estrusione
  • Temperature di preriscaldo
  • Codici personalizzati per il test del piano
  • Attivazione del sensore filamento
  • Gestione della routine di spurgo filamento
  • Gestione delle velocità di stampa selezionabili da LCD

e molto altro. Ogni modifica fatta al file config.ini richiede poi che questo venga ricaricato sulla MicroSD, non serve mettere anche altri files basta lui da solo e aggiornerà le modifiche fatte con l’editor di testo. Per chi monta HEMERA è disponibile un file config.ini DEDICATO che porta la temperatura fino a 285°.

Nota su Marlin: imposta la temperatura massima sempre 15° in più rispetto a quanto può supportare il tuo termistore. Esempio: se in Marlin hai messo 300° come massima temperatura di estrusione, sul file config.ini dovrai impostare 300°. Poi Marlin non ti permetterà di andare oltre i 285° comunque. Se fai caso, il file stock config.ini e relativo Marlin riportano 275° come temperatura massima ma su LCD non è possibile andare oltre i 260°.

Problemi aggiornamento LCD

Per quanto sia semplice questo tipo di aggiornamento, sono sorte comunque le seguenti problematiche, tutte principalmente legate al tipo di MicroSD utilizzata:

  • Non parte il flash: molto probabilmente non viene letta la MicroSD, accertati di utilizzarne una non superiore a 8GB, meglio se più piccola. Prova a formattarla in FAT16 o FAT32
  • Compare una schermata nera con scritto “Found Outdated Data”: la soluzione è semplice, i files dell’aggiornamento non sono stati caricati tutti nella SD oppure semplicemente non sono nella radice di quest’ultima
  • Compaiono bande bianche dopo l’aggiornamento: anche qui è un problema di caricamento e non del firmware. Prova a cambiare MicroSD o prova ad utilizzare un altro lettore per caricarle sulla memoria. 
  • Non risponde più il touchscreen: carica il file (o creane uno tu VUOTO) reset.txt sulla MicroSD e riavvia la stampante. Ti farà calibrare di nuovo il touch
  • Stampante non collegata: se ti compare questo avviso controlla se il baudrate impostato alla voce menù–>connessione–>baudrate è impostato a 250000
  • Durante l’aggiornamento del file di lingua compare l’errore “invalid config file”. Non ti preoccupare e lascialo completare

⚠️ ATTENZIONE: ricorda sempre di effettuare il flash del solo config.ini come spiegato nei punti precedenti

Come installare il firmware MARLIN (disponibili anche HEMERA)

Una volta aggiornato il FW (abbreviazione di Firmware) dell’LCD puoi procedere con quello della scheda MKS (quella che si occupa di muovere i motori, gestire le temperature ecc ecc). Anche questa è una operazione davvero semplice dato che forniamo i files già compilati in formato .hex. Si tratta di scaricare quello relativo alla propria stampante, aprire un programma semplice e flasharlo sulla stampante. Facile no ? All’apparenza si ma in realtà è la procedura che crea più frustrazione in assoluto se non eseguita correttamente.

⚠️ ATTENZIONE: se il flash non va a buon fine la stampante potrebbe non rispondere ai comandi o nei casi peggiori potrebbe “brikkarsi” ovvero bloccarsi in uno stato tale da non poter più caricare altri firmware o utilizzare la stampante stessa. Presta attenzione a ciò che fai e come lo fai.

⚠️ ATTENZIONE: i firmware LCD sono uguali sia per la X1/X2 che per la Genius/Genius PRO. Presta attenzione invece a caricare il file corretto relativo a Marlin per la serie X2 e Genius PRO in quanto montano una scheda a 32 Bit e richiedono un caricamento del firmware differente dalla scheda a 8 bit della X1 e Genius.

In questo vecchio VIDEO  abbiamo spiegato passo passo come eseguire la procedura completa (LCD + MARLIN) ma ci siamo poi accorti che non tutti erano in grado di portarla a termine.

E’ stato fatto un secondo VIDEO nel quale abbiamo parlato di tutte le problematiche relative al caricamento del firmware Marlin

Devo staccare il cavo per aggiornare ?

E’ questo il punto che crea maggiore confusione e smarrimento in chi si avvicina per la prima volta al flash di un FW Marlin su una scheda MKS (o anche di un’altra marca) collegata ad uno schermo LCD TOUCH. La risposta secca è no, non serve necessariamente staccare il cavo ma potrebbe essere la tua unica soluzione se tutti gli altri metodi non funzionano.

Nel 99,9999% dei casi in cui il Firmware non carica o carica parzialmente, la colpa è del fatto che l’LCD occupa la porta seriale che viene utilizzata dal PC per poter collegarsi alla stampante e caricare il FW sulla MKS. Quindi le soluzioni sono principalmente due: 

  • Si disconnette fisicamente LCD dalla MKS staccando il cavo grigio (si vede in uno dei video che abbiamo fatto), in questo modo sei sicuro al 100% che non andrà and interferire con il caricamento del FW
  • Provi a bypassare il collegamento seriale LCD —> MKS utilizzando uno dei seguenti metodi che abbiamo già spiegato in questo VIDEO 

⚠️ ATTENZIONE: abbiamo riscontrato che alcuni driver usb che installa Windows in automatico possono dare dei problemi. Prima di procedere ti consigliamo di installare i driver CH341 

Quale programma utilizzare per il caricamento del .hex ?

Il file .hex che scarichi non è altro che il FW già compilato pronto per essere caricato sulla stampante. Ci vuole però un programma che possa comunicare con la stampante e caricarlo correttamente, noi ti consigliamo:

Indipendentemente dal software che utilizzerai, il firmware deve caricarsi correttamente e non dare errori strani nel log di caricamento. Se vedi errori, riflasha tutto da zero oppure cambia PC/MAC. Addirittura anche cambiare cavo USB e porta USB può aiutare. 

⚠️ ATTENZIONE: prima di proseguire accertati che la porta COM venga rilevata dal PC/MAC e che sia rilevata anche dal software che utilizzerai per caricare il firmware.

⚠️ ATTENZIONE: scarica e seleziona il firmware corretto per la tua stampante. Se non hai il BLtouch installato allora scegli la versione Mesh Bed Level.

Metodo 1: flash contemporaneo (non serve staccare il cavo)

  • Accendi la stampante (Interruttore 220V ON)
  • Carica i files di aggiornamento LCD sulla MicroSD
  • Inserisci la MicroSD sulla stampante
  • Attacca il cavo USB alla stampante e al pc
  • Apri Prusa Slicer (o altri programmi)  e accertati che veda la COM della stampante
  • Carichi il firmware .hex ma non premere ancora flash
  • Premi reset su lcd (tastino nero accanto a LCD) + subito flash su prusa slicer

Cosa succede ? Premendo reset si riavvia la stampante e in quel momento parte automaticamente l’aggiornamento LCD. Durante questa fase LCD non comunica con la scheda MKS e quindi la porta seriale resta libera per poter comunicare con il PC. Presta attenzione al tempismo con cui premi reset + flash, devono essere quasi simultanei (prima reset e subito dopo flash). Questo metodo funziona con tutti i programmi sopra indicati. Una volta che tutto è andato a buon fine ricorda sempre due punti fondamentali:

  • Resetta la EEPROM (vedi paragrafo più in basso)
  • Flasha nuovamente il solo file config.ini per LCD

Metodo 2 (non serve staccare il cavo)

  • Flasha il FW LCD come spiegato nei paragrafi precedenti
  • Al riavvio resetta la EEPROM (vedi paragrafo sotto) 
  • Una volta resettata la EEPROM riavvia la stampante (interruttore 220V ON)
  • Comparirà un avviso che avverte “Bed level non attivo .Salva una nuova mesh”
  • NON premere nessun tasto per continuare
  • Attacca il cavo USB alla stampante e al pc
  • Apri Prusa Slicer (o altri programmi) e accertati che veda la COM della stampante
  • Carichi il firmware .hex e premi flash

Ora la stampante non comunica ancora con LCD e quindi la seriale è libera. Puoi utilizzare il software che preferisci per caricare. Questo è il metodo più semplice e che funziona sempre. Se non dovesse funzionare  prova a selezionare come “programmer” WIRING invece di STK. Quando il programma il programma ha terminato controlla che il risultato sia “Flash con successo”. Se compare qualsiasi altro avviso allora non hai caricato correttamente il Firmware e devi riprovare . Una volta che tutto è andato a buon fine ricorda sempre:

  • Resetta la EEPROM (vedi paragrafo più in basso)

Metodo 3 (non serve staccare il cavo)

  • Stampante spenta (interruttore 220V OFF)
  • Attacchi il cavo USB al PC e alla stampante
  • La stampante si accende
  • Entri in menù–>connessione–> e premi “scollega”
  • Non toccare più LCD
  • Accendi la stampante (interruttore 220V ON)
  • Apri Prusa Slicer (o altri programmi) e accertati che veda la COM della stampante
  • Stacchi il cavo USB
  • Riattacchi il cavo USB
  • Carichi il firmware .hex e premi flash

Una volta che tutto è andato a buon fine ricorda sempre:

  • Resetta la EEPROM (vedi paragrafo più in basso)

Come resettare la EEPROM

  • Devi aver già flashato il FW LCD
  • Tieni premuto sullo schermo (un punto qualsiasi) per più di 1.5 sec fino a quando non ti appare il menù rapido
  • Premi su EEPROM
  • Premi RESET (e deve comparire un avviso “Hardcoded Default Setting Loaded”)
  • Premi SALVA (e deve comparire l’avviso “Echo: setting stored”)
  • Rifai il punto 3 e 4 nuovamente
  • Premi CARICA (e deve apparire l’avviso “V82 Stored Settings Retrieved”)

A questo punto la EEPROM è resettata e sei sicuro di aver caricato gli ultimi parametri impostati a firmware. Resettare la EEPROM dopo il caricamento di un nuovo FW (non quello LCD ma solo MARLIN) è fondamentale perchè durante il caricamento alcuni valori salvati nella EEPROM non vengono cancellati e quindi non risulteranno aggiornati con quelli impostati nel nuovo firmware. Qualche esempio ? Il PID, Le velocità, il jerk, le accelerazioni ecc ecc.

⚠️ ATTENZIONE: resettando la EPROM cancellerai anche il salvataggio del manual mesh bed leveling (la griglia di punti di livellamento) e del BLtouch. Nessun problema, al riavvio ti verrà richiesto di fare una nuova calibrazione

Errori durante il caricamento

Se nel log del programma di caricamento ti trovi messaggi come

avrdude.exe: stk500v2_ReceiveMessage(): timeout

oppure

avrdude-slic3r: verifying …

avrdude-slic3r: verification error, first mismatch at byte 0x3401

                0xff != 0x92

avrdude-slic3r: verification error; content mismatch

allora vuol dire che il caricamento non è andato a buon fine. Come detto in precedenza non è un problema legato al firmware ma quanto al modo in cui lo carichiamo. Prova con tutti i metodi proposti (presta bene attenzione a tutti punti descritti) e se con nessuno riesci a caricarlo allora forse c’è qualche problema di connessione tra il tuo PC/MAC e la scheda. Cambia porta USB, cambia cavo USB prova con un PC differente e con un sistema operativo differente e controlla soprattutto i driver USB installati.

avrdude-slic3r: writing flash (63126 bytes): avrdude-slic3r:

stk500v2_command(): command failed

Questa sequenza di comandi e relativo errore è normale perchè su questo Atmega 2560 non è attiva la funzionalità di “cancella flash memory” e quindi restituisce questo errore. Non ti preoccupare non pregiudica la buona riuscita del caricamento.

COME aggiorno marlin su X2 e la genius pro ?

Il processo di aggiornamento MARLIN (solo marlin non LCD)  di queste due stampanti è differente in quanto montano una scheda a 32 bit e non a 8 bit come X1 e Genius. L’aggiornamento è decisamente più semplice e ben spiegato nel video qui sotto, ma stai MOLTO attento a quale file vai a caricare.

Nella 8bit ti facevamo caricare un .hex in queste 32 bit va caricato un .bin ma ATTENZIONE a non caricare il file MKSTFT28.bin che è invece relativo al firmware LCD. Se lo fai la stampante non funzionerà più ! 

I file da caricare avranno il nome “V1-GENIUSPRO-16PUNTI.bin” oppure “V1-X2-25PUNTI.bin” e questi identificano il firmware MARLIN da caricare SOLO sulla scheda Ruby con il metodo indicato in questo video.

Vuoi compilare il firmware dai sorgenti ? ATTENZIONE !!

Abbiamo creato una repository su Github contenente tutti i codici sorgente dei 4 firmware che abbiamo pubblicato. Potrai scaricarle e compilarle in autonomia ma… segui questo prezioso consiglio.

In questo video abbiamo spiegato come si compilano i sorgenti con Platformio e Visual Studio Code. Bene… Per le MKS ARTILLERY abbiamo scoperto che NON si deve compilare il .hex con Platformio perchè può dare dei problemi ad alcune stampanti. Non abbiamo ancora capito il motivo esatto e stiamo indagando per cercare una soluzione. Per il momento scaricate i sorgenti e compilateli con ARDUINO IDE ma solo sotto Linux o MacOs, sotto windows non compilano più dalla versione 2.0.6.2 per via della lunghezza dei nomi files nelle numerose sotto cartelle del firmware.