Installare il Bootloader su Anet A8 e Ender 3 – guida al modding nel 2025
Bentornati in laboratorio! Oggi parlerò di un argomento che sta ritornando in voga in questo finire del 2025, ovvero il modding delle stampanti 3D “old style”, inteso come aggiornare il Marlin delle stampanti (il firmware che esegue tutti i nostri comandi) alle versioni più recenti, dotate di tutte le funzionalità moderne come il cambio filamento, la pausa, accelerazioni più precise e funzionalità di sicurezza come il Thermal Runaway.
Spesso infatti abbiamo delle stampanti 3D in soffitta, ferme da anni a prendere polvere, e la tentazione di rimetterle in sesto con poco è sempre alta, anche in ottica di imparare a stampare in 3D
Queste macchine erano basate sulle Melzi, schede madri a 8bit che montavano ATMEGA1284p o 2560 e con preinstallato il firmware SKYNET, progetto deprecato nel 2018. Peccato che queste schede per risparmiare spazio non avessero installato di default il Bootloader, impedendoci quindi di installare la versione del Marlin con le funzionalità che ci servono.
Cos'è il bootloader
Prima di iniziare, dobbiamo capire cos’è il Bootloader, e comprendere come mai è fondamentale per aggiornare il firmware.
Le schede delle stampanti 3D Melzi sono in sostanza delle schede simili a un Arduino MEGA, ovvero un MCU Atmel che esegue codice scritto in Arduino Framework, e come tale può essere programmato in due modi, o tramite porta ISP (i 6 pin della porta SPI) o via USB, ques’ultima però richiede il Bootloader, che non è presente su queste schede, in quanto per risparmiare spazio sul microcontrollore e semplificare il processo di produzione non viene “precaricato”
Il bootloader è un piccolo programma che viene caricato nella memoria flash del microcontrollore e consente di caricare nuovi sketch (programmi) tramite la porta seriale (USB) senza bisogno di un programmatore hardware esterno. In pratica, avvia il microcontrollore e attende istruzioni dalla porta seriale per ricevere e caricare il programma inviato dal computer, consentendo così il processo di programmazione tramite la porta seriale.
Installare il bootloader può sembrare a prima vista un’operazione complicata, in realtà sono necessari solo un Arduino UNO e dei jumper da collegare alla porta ISP della scheda madre della stampante, seguendo una procedura a seconda del modello di stampante 3D e seguendo il corrispettivo cablaggio tra arduino e scheda
Come si installa il Bootloader - Anet A8
La procedura per l’installazione del bootloader richiede pochi semplici passi
- Installare sul pc “Arduino IDE” e configurare l’ambiente incollando il link https://github.com/benlye/anet-board/raw/master/package_anet_board_index.json nel board manager raggiungibile da “File > preferences > Additional Board URLs” e confermando con “OK”
- Nel board manager (il secondo simbolino della barra di sinistra con un “arduino” stilizzato) cercare “anet” e installare la libreria Anet 3D Printer Boards
Una volta configurata la libreria possiamo passare all’azione
- Prepariamo l’arduino UNO a nostra disposizione a fare da programmatore, collegandolo al PC e caricando l’esempio “Arduino as ISP”. Selezioniamo la porta COM della nostra scheda di sviluppo e carichiamo il programma finche non comparirà un “done” in fondo a confermarci l’avvenuto caricamento
- Una volta caricato l’esempio possiamo procedere a collegare l’arduino alla scheda della stampante 3D, seguendo il cablaggio che vi condividiamo qui sotto
Una volta che il cablaggio è stato verificato, procedere a ricollegare la USB dell’Arduino al PC, e selezionare andare in Arduino IDE su “Strumenti” > Scheda > Anet 3D Printer Boards > Anet v1 (Optiboot)
Su “programmer” invece selezionare “AVRISP mkII”
Una volta selezionata la board, verificare di selezionare la porta COM corretta e infine cliccare su “Burn Bootloader/Installa Bootloader”
Nel caso usiate il vecchio collegamento usando le porte 11,12,13 di Arduino UNO (Immagine sotto) ricordatevi di decommentare la linea “USE_OLD_STYLE_WIRING”
In questa maniera il bootloader della scheda della Anet sarà installato, e riceveremo un messaggio con scritto “done” al termine.
Possiamo ora procedere con l’installazione del firmware Marlin caricando un file .hex contenente l’update da Prusaslicer o da altri programmi come xLoader
Nel caso la procedura invece non sia andato a buon fine, potete riprovare alimentando la stampante per il flash del bootloader
Come si installa il Bootloader - Ender 3
Come per la Anet A8 , anche il bootloader della Ender 3 si può installare tramite Arduino Ide, installando al posto della libreria Anet la libreria Sanguino, incollando il link https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
Al pari poi della procedura per la Anet, occorre configurare Arduino come un ISP, caricando l’esempio “ArduinoISP” come da immagini precedenti e caricandolo nella scheda di sviluppo.
Ciò che invece cambia è la definizione della scheda per il programmatore, in quando dovremo selezionare la Board Sanguino, con ATMega1284P da 16MHz di clock e selezionando come “programmer” “AVRISP mkII”
Anche il collegamento di Arduino alla Melzi con i cavetti dupont leggermente differente, vi lasciamo qui sopra un’immagine presa dal tutorial di Teaching Tech per la Ender 3, di cui alleghiamo il link al video
Anche qui, una volta ottenuto conferma dall’IDE che l’installazione è andata a buon fine potete procedere a installare il firmware di vostra preferenza (anche klipper) tramite Prusaslicer, Platformio, XLoader e tutti gli altri programmi capaci di gestire un Arduino
Nel caso riscontriate delle difficoltà nell’esecuzione di una o dell’altra procedura, vi suggeriamo di unirvi al nostro gruppo telegram in cui potete confrontarvi direttamente con altri esperti https://t.me/klinkonelectronicschat
Bonus tip - Installare Marlin su 1284p
Nel caso abbiate problemi a flashare Marlin con Prusaslicer o XLoader potete provare AVRDUDESS, programma simile a XLoader ma che consente di gestire meglio il flash su piattaforme come il Mega1284p.
Per flashare il firmware basta aprire il programma, impostare su programmer “arduino”, selezionare la com della stampante, baud rate a 115200 e selezionare la MCU desiderata (è possibile anche fare l’autodetect!).
In “flash” va caricato il file .hex contenente il firmware.
Una volta impostato tutto cliccare su “Program” e il firmware sarà installato in men che non si dica!