fbpx

Come aggiornare Marlin su Artillery X1 e Genius

Installare Marlin su Artillery

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.7.2)

  • M600 attivo nel firmware
  • Junction Deviation
  • Linear Advance
  • G26 per test piano
  • Manual Mesh bed Level (9 punti GENIUS e 16 punti X1)
  • BLTOUCH Bilineare (12 punti Genius e 25 punti X1)
  • Contatore ore stampante (lanciate M78 da terminale)
  • Adaptive step smoothing
  • M701 e M702 attivi
  • S_Curve Acceleration
  • Thermal Runaway
  • Babystep
  • Probe multiplo per BLTOUCH
  • Disponibili anche per HEMERA E3D

FIRMWARE LCD (BIGTREETECH)

  • M600 Attivo sia su LCD che via USB (per stampe da pc o octoprint)
  • 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) Aggiunto al menù e configurabile da config.ini
  • Menù EEPROM
  • Mesh Level Editor (per BLTOUCH e Manual Mesh Bed)
  • M300 attivo per far funzionare il buzzer
Dati da copiare su SD
I firmware per MKS

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: 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

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
  • 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.

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.

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.

32 commenti su “Come aggiornare Marlin su Artillery X1 e Genius”

  1. Ciao, complimenti per la guida.
    Volevo capire una cosa, il firmware (per l’lcd che è quello che mi interessa) è disponibile solo per i patreon vero? Parlo del tuo ovviamente non quello di rawr.

    grazie e buona giornata.

      1. Ciao Piraz ho appena installato firmware e TFT e ho due pro lemi:
        1- durante l’installazione TFT mi segnala errore sui font dal 288 in poi e vedo i caratteri sbarellati nel menu preriscaldamento, ho riprovato flashando solo il file “ini” come hai detto nel video ma si ripropone sempre l’errore;
        2 – installato tutto ho fatto il mesh levelling e una volta finito ho aggiunto la riga M420 S1
        nello start gcode all’inizio dove c’erano gli altri comandi M prima del comando fine custom. La stampa é iniziata ma sottoestrudeva, premetto che il flusso prima dell’aggiornamento lo regolavo da start gcode in simplify come tu mi hai insegnato in un altro video.
        Quindi detto ciò sbaglio qualcosa o devo semplicemente ri calibrare tutto?
        Grazie Alberto

  2. carlo.lombardo77

    Ho scaricato tutto e seguito la guida per utilizzare il BLTouch (io ho il 3DTouch) ma non funziona.
    Quando premo Home mi dà questo errore: !! STOP called because of BLTouch error – restart with M999

    1. Come scritto nel post, quello del BLtouch è ancora da testare. Monta intanto quello della Waggster mod che va bene con la mia mod in italiano del FW LCD

  3. Ciao, ho aggiornato il TFT ed ora sto facendo aggiornamento firmware, ma sia con prima, sia con xloader resta fermo su flashing/uploading. Come posso risolvere?
    Grazie

    1. Non saprei dirti, ne ho sentite di tutti i colori su questi aggiornamenti. E’ una cosa talmente banale che però ha messo in crisi diverse persone. Il perchè ? La configurazione hardware del PC/Mac che sta caricando il firmware…

  4. Grazie, alla fine ho reinstallato i driver originali ed ho installato in sequenza inversa, partendo dal firmware e poi installando il TFT. Ora va alla grande

  5. SIIIIIIIIIIIIII, ce lho fatta anche io, installavo come in guida prima il TFT e poi la stampante ma continuava a darmi un problema “STAMPANTE NON CONNESSA”, poi ho fatto il contrario, quindi prima la stampante e poi il touch e ora va che è una bomba. Grazie

  6. Notevole aggiornamento, in particola modo per quanto riguarda il mesh bed levelling. si nota la differenza immediatamente.
    E complimenti anche per il supporto via mail, rapido e conclusivo. Una sola nota : in fase di stampa il display continua a darmi errori (ininfluenti ai fini della stampa) di lettura del G-code. gli errori sono numerosi e, anche se ho letto – o sentito in un video di Andrea – che in quello di default era disabilitato il log, sono davvero tanti da essere fastidiosi. Non c’è modo di disattivare il warning anche in questa versione?

    1. Si si il concetto è quello, si è sempre collegati ad un dispositivo che invia i comandi. Purtroppo è un problema noto e indicato anche nell’articolo, stiamo lavorando ad una versione che non dia tutti gli avvisi !

  7. Salve, una domanda, ha senso sostituire la scheda madre da 8 bit con una MKS SGEN_L 32bit?
    Grazie e complimenti per le guide.

  8. Saluti, ho installato con successo il firmware del genio dell’artiglieria. Tuttavia, il firmware dello schermo tft non lo riconosce. La SD ha una capacità di 4Gb, e ho testato in Fat, Fat 32, anche NTFS avendo selezionato correttamente il SD sullo schermo, cosa mi sfugge? Grazie in anticipo.

  9. Ciao Piraz.
    Sono diventato proprio oggi un tuo patreon ma ti seguo da tanto.

    Ho scaricato il firmware per la X1. Ma non mi fa fare il mesh level come mostri tu nel video. Esce un errore.
    Inoltre non mi permette di formattare la eeprom.
    Sono riuscito ( tramite il terzo modo elencato nella tua guida ) ad aggiornare prima LCD ( facendo anche il secondo passaggio con il file config.ini ) e poi aggiornando la mobo.

  10. Volevo solo ringraziarti, firmware aggiornato con metodo entrambi flash, messaggio del mesh e poi reset eprom.
    Ora prendiamo confidenza e al momento non ho domande.
    A presto e ancora grazie

  11. Salve dopo agg.to tutto bene ma calibro il display salvo eeprom ma quando vado a spegnere alla riaccensione non ha più la calibrazione del display. Questo anche se carico la eeprom. Mentre ad esempio la calibrazione del flusso me la memorizzata e quando riaccendo la trova corretta come da me impostata.
    Dove sbaglio?.
    Grazie comunque dell’ottimo lavoro che fai/fate.

  12. Salve schermo aggiornato, ma ho un Mac air e non riesco a far dialogare il Mac con la stampante, ho scaricato anche il driver della usb come detto da voi ma niente, l’ha riconosciuta per un solo instante ma poi niente mi potete dare un consiglio?
    GRAZIE INFINITE PER IL MOMENTO

  13. Ciao,
    penso di aver installato tutto (almeno così dice nelle info della stampante) col metodo 3 però non sono riuscito a fare il reset della eprom alla fine (diceva che la stampante era sconnessa e non succedeva nulla).
    Ho visto che funziona (noto soltanto che i motorini fanno un rumore differente quando muovono piano e testina di stampa; è normale?) così ho provato a lanciare una stampa che è andata ma sul display mi è uscita una notifica “Unknown command: “M1001”.
    Infine: ho livellato il piano, fatto il mesh leveling (non ho sensori ma ho lasciato ON su sensore abl) e salvato in eprom. E’ tutto ok?
    Scusa per il disturbo ma è la mia prima stampante 3d e sono un po’ spaesato ma sono abbastanza abituato a flashare robe sui telefoni. Grazie mille!

  14. Ciao,
    è normale che ora i motorini facciano un rumore diverso rispetto a prima dell’installazione del nuovo firmware?

    1. Se parli di quelli del motore dell’estrusore si è normale, è il Linear Advance che volendo puoi disabilitare con M900 K0 nello start gcode !

      1. Grazie mille! Stampa molto bene (sono alle prime armi) quindi va benissimo così. Se posso chiedere vorrei chiederti come posso migliorare le resa delle superfici esterne: ho stampato un busto ed è perfetto visto di fronte ma sui lati si vedono delle leggere ondulazioni che rendono la superficie non perfettamente liscia. Ho verificato che il piano è stabile e scorre bene. Grazie.

  15. Grazie mille! Stampa molto bene (sono alle prime armi) quindi va benissimo così. Se posso chiedere vorrei chiederti come posso migliorare le resa delle superfici esterne: ho stampato un busto ed è perfetto visto di fronte ma sui lati si vedono delle leggere ondulazioni che rendono la superficie non perfettamente liscia. Ho verificato che il piano è stabile e scorre bene. Grazie.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *