Firmwares : la page de tous les dangers !

Le firmware des imprimantes Artillery

Attention : Les manœuvres décrites dans cet article peuvent être dangereuses pour votre machine puisqu’elles concernent son programme interne. Donc, lisez, comprenez et posez éventuellement des questions à ceux qui savent (c’est à dire pas ici 🙂 ) avant de vous lancer. Sinon, nuits blanches, migraines et nervous breakdown à l’horizon…

Cette page regroupe les liens vers les différents firmwares pour la carte-mère MKS-GenL et l’écran TFT.

Les versions officielles des firmwares Artillery sont disponibles sur Github.

Accessoirement, si vous voulez savoir comment créer un fichier .hex, c’est à dire un fichier de flashage, lisez la page Créer un fichier .hex pour Artillery


Avant de se lancer

Voulez-vous vraiment flasher votre imprimante ?

La première question à vous poser, c’est : pourquoi ai-je besoin de flasher mon imprimante ?

On flashe généralement pour améliorer ses impressions ou ajouter de nouvelles fonctions… qui servent à améliorer les impression. Ce que je veux dire c’est que flasher c’est, avant tout, chercher un gain qualitatif. On peut également chercher une meilleure ergonomie mais dans ce cas ce n’est plus un besoin. Dites-vous qu’il y a beaucoup plus de gens dans le monde qui ont une machine stock (c’est à dire non bricolée) que de gens qui ont flashé. Le truc c’est que sur les forums ce sont ceux qui ont flashé qui parlent le plus. On a donc parfois l’impression d’être une homme de Cro-Magnon si on n’a pas flashé son imprimante. Ne vous laissez pas influencer par ça. Si vous n’avez pas flashé, vous êtes comme la majorité des imprimeurs.

Et vous alors ? Votre machine fonctionne bien ? Vous n’avez pas grand chose à lui reprocher ? Vous voulez imprimer et c’est tout ? Alors je vous dis ; tournez 7 fois autour de votre machine avant de la flasher. Surtout qu’il y a bien d’autres moyens mécaniques (utilisation d’un autre type de plateau, travail sur les axe, etc..) ou logiciels (réglages du trancheur, des paramètres de la machine…) pour améliorer vos impressions.

C’est le moment de vous souvenir de la devise de Docarti : si ça marche, touche à rien !

Mais il y a au moins un cas où vous n’aurez pas le choix. Le cas où vous voulez ajouter un capteur style BlTouch ou TouchMi. Mais là aussi, pourquoi avez-vous absolument besoin d’un capteur ?

Bon, maintenant, que j’ai découragé les moins motivés (ils me remercieront un jour !) passons à ceux qui sont vraiment décidés….

La carte-mère MKS-GenL

Le flashage du firmware de la carte-mère (X1 ou Genius) nécessite d’ouvrir l’imprimante et de débrancher l’écran TFT. C’est du n’importe quoi et on se demande ce qui a germé dans la tête des ingénieurs d’Artillery. Mais hélas c’est indispensable, sinon l’écran intercepte le port com utilisé avec votre pc et le bloque. Le pc ne peut donc plus se connecter à l’imprimante pour lui envoyer le flash.

On commence à trouver des solutions de contournement qui permettent d’éviter de débrancher l’écran pour flasher. Cela nécessite un firmware écran spécial. Cette information sera indiquée dans la notice des firmwares concernés.

Pour flasher on peut utiliser outils : votre trancheur, Pronterface (maintenant nommé Printrun), Octoprint ou l’IDE Arduino.

Une nouvelle fois, attention. En cas de problème, ce flashage peut mettre votre machine HS et vous obliger à changer des composants. Inutile de préciser que si vous parlez garantie après avoir flashé, ça va faire rigoler le SAV 😉 Donc, prudence…

L’afficheur TFT

Pour flasher l’écran TFT, la bonne nouvelle, c’est qu’il n’est pas nécessaire d’ouvrir l’imprimante. Le problème, c’est que, bien souvent le firmware de l’écran est associé à un firmware de la carte-mère. Cela signifie que vous pourrez toujours flasher votre écran, certaines fonctions ne seront pas actives si le firmware de la carte-mère n’est pas compatible. Mais, à la différence du flashage de la carte-mère, vous ne planterez pas votre machine avec un firmware écran (enfin, normalement car on ne sait pas ce que les développeurs peuvent inventer !) Dans le pire des cas, il suffit de reflasher le firmware officiel Artillery (celui sur GitHub)

Voici la marche à suivre :

  1. Copier les fichiers de mise à jour décompressés à la racine d’une carte sd de 32go maximum formatée en FAT32 ou en FAT16. En général ça tient largement sur une 8go. Il vaut mieux utiliser une 8go de marque qu’une 32go pas chère.
  2. Éteindre l’imprimante
  3. Insérer la carte sd
  4. Allumer l’imprimante
  5. Attendre que la mise à jour soit terminée
  6. Éteindre l’imprimante
  7. Retirer la carte sd
  8. Allumer l’imprimante
  9. Si vous aviez défini le port usb comme source de données par défaut, vérifier qu’il n’est pas repassé à carte sd du fait de la mise à jour.

Après le flashage, ne croyez pas que vous pourrez réutiliser la carte SD telle quelle pour flasher une autre fois, comme le vulgaire mp3 qui contient vos blagues à la Pérusse et que vous voulez passer à vos copains. Et non, ce serait trop simple. On est dans le monde de l’impression 3d, le monde où tout est toujours compliqué. Pour résumer, quand vous flashez, l’imprimante renomme les fichiers. Si vous voulez reflasher plus tard avec la même carte, la machine ne reconnaîtra pas ses petits et vous ne comprendrez pas pourquoi elle ne veut pas booter sur cette #!@# de carte qui a si bien marché la dernière fois.

Pour comprendre tout ça, direction la page du wiki qui s’appelle Je n’arrive pas à flasher le firmware de l’écran (je me demande où je vais chercher des titres aussi originaux !).


Les firmwares pour cartes Makerbase

Le nom du firmware est suivi de la version de Marlin utilisée (quand elle est connue) et des machines pour lesquelles il est prévu. La mention CM signifie qu’il permet de flasher la carte-mère MKS GenL. La mention TFT signifie qu’il permet de flasher l’écran.

Molise 1.1.1 – Marlin 2.0.7.2 (X1 et Genius – CM+TFT)

Voici un firmware basé sur une version très récente de Marlin. On le doit à David Touton. C’est donc un firmware avec la “touche France”. Il arrive avec la panoplie complète : carte-mère et écran. Il y a une version X1 et une pour Genius.

Sa particularité tient au fait que David l’a conçu avec un système de paramétrage ingénieux. Les paramètres importants sont regroupés au début du fichier “Configuration.h”. Ils sont regroupés en 7 blocs fonctionnels. Suivant les options qui vous intéressent, vous commentez ou décommentez la ligne concernée (Drivers, BLtouch, led, etc). Le paramétrage est donc très simplifié puisque vous n’avez pas besoin de courir aux quatre coins du fichier.

Il est prévu de base avec le choix des drivers, toutes les version de cartes SRK (1.3, 1.4 et turbo), les extrudeurs BMG et Hemera, ainsi que bltouch, sensorless homing etc.

A noter qu’il ne peut être compilé qu’avec VS Code (Visual Studio Code).

Cerise sur la gâteau, il y a une version en français du firmware écran (basé sur le celui de Digant).

A noter que plusieurs fichiers .hex (c’est à dire à flasher directement sans compilation, donc beaucoup plus simplement) sont fournis et que David prend le soin de conserver une version française de ses commentaires sur Thingiverse. Bravo et merci.

Et maintenant vous pouvez retrouver David sur sa chaine YouTube !

3d-Nexus – Marlin 1.1.9 (X1 et Genius – CM+TFT)

 Vous pouvez retrouvez sur cette page mes commentaires sur le flashage du firmware de 3d-nexus, tel que je l’ai fait sur ma machine.

Wagster 1.5 – Marlin 2.0.2 (X1 – CM+TFT)

Un firmware pour BLtouch basé sur Marlin 2.0.2 dans la version 1.5. Il est possible également de télécharger les version précédentes (1.1, 1.2, 1.3, 1.4) dont certaines conviennent à Marlin 1.1.9.

  • Instructions pour le montage du BLTouch
  • Modifications du firmware de la carte et de la carte écran
  • Réglage du BLtouch
  • Babysteps et réglage du Z-Offset
  • Reset du BLtouch
  • Réglage PID

Le tout en photos et très détaillé. Pas étonnant que ce mod ait autant de succès.

Grâce à Alain Giresini, voici la doc d’installation traduite en français ! Merci à lui.

3dPrintBeginner – Marlin 2.0.5.3 (Genius – CM+TFT)

  • Sauvegarde de l’Eeprom
  • Autotune des PID hotend et plateau
  • Réglage manuel de niveau du plateau
  • Linear Advance 1.5 installé et préconfiguré à 0.13
  • Accélération des courbes
  • Préchauffage PLA et PETG
  • Babystepping Z activé
  • Home rapide activé (avance en biais au lieu de déplacement X puis Y)
  • Modifications du feedrate et des accélérations pour améliorer le silence

A noter le très bon guide d’installation (hélas en anglais) qui va avec.

Pinguinpfleger – Marlin 2.0.5.1 (X1 – CM+TFT)

Parmi les fonctionnalités activées de ce firmware :

  • Enregistrement vers l’EEPROM
  • Linear Advance
  • S_Curve accéleration
  • Adaptive step smoothing

G2Barbour v1.3.96 (X1+Genius – CM+TFT)

Un firmware qui fait ce que tout le monde (ou presque) attend : l’activation du M600 ! Et en plus valable pour X1 et Genius et avec ou sans Bl-Touch ! Elle est pas belle, la vie ?

Une vidéo pour vous montrer ça.

Laurent Groussin – Marlin 1.1.9 (X1 – CM+TFT)

  • Laurent a modifié les icônes et ajouté la gestion du BLTouch depuis l’écran. Mais si vous n’avez pas de BLTouch, d’abord vous n’êtes pas seul(e), et ensuite ce firmware n’est pas pour vous.

Les différents écrans

Digant – Marlin 2.0.5.4 (X1+Genius – CM+TFT)

Il s’agit d’un portage du firmware de l’écran Bigtreetech sur la X1. Il propose.

  • Bed leveling automatique, si cette fonction est activée dans Marlin
  • Bed leveling manuel
  • BabyStep utilisable pendant l’impression
  • Préchauffage pour PLA, PETG et ABS applicable à la buse et/ou au plateau chauffant.
  • Menu Gcode qui permet d’envoyer n’importe quelle commande Marlin
  • Menu Gcode préporgrammé avec différents codes : M501, M502, M500 etc.
  • Menu de réglage de la machine qui permet de paramétrer les aspects techniques comme le feed rate, l’accélération, etc.
  • Menu de fonctions qui permet de paramétrer les aspects utilisateur : activeation/descativation du détecteur de fin de filament, extinction après une impression etc

Pour résumer c’est un firmware qui semble avoir énormément de potentiel mais qui ne donne sa pleine mesure que si le firmware de la machine a été flashé avec les bonnes options activées.

Après l’avoir essayé (sur le firmware 1.1.9 de 3d-Nexus), je trouve qu’il y a énormément de fonctions. Hélas, je n’ai pas vu le Mesh Bed Levelling manuel, dommage pour ceux qui, comme moi, n’ont pas de bl-touch. Je croyais qu’on était limité à 7 fonctions personnelles sur les firmwares écran mais ce n’est manifestement pas le cas. Là il y en a partout. C’est impressionnant. Et pour le coup un peu fouillis. Mais c’est probablement une question d’habitude.

Le gros défaut en ce qui me concerne c’est que ça ne marche pas avec Octoprint. Je ne sais pas si c’est une incompatibilité avec le firmware de 3d-nexus ou avec octoprint mais j’ai du mal à me connecter à l’imprimante. Et une fois connecté, impossible de lancer la chauffe de la buse depuis octoprint.

Donc, pour moi, il y a encore des progrès à faire sur ce firmware. Mais en tout cas il faudra le suivre de très près. Surtout qu’il offre une fonction (pas testée) qui permet de flasher la machine sans débrancher la carte écran ! Ce serait génial.

Firmware TFT de RAWR

Un firmware pour écran (une version X1 et une version Genius) qui propose pas mal de choses. Il possible assez facilement de le paramétrer pour modifier les valeurs de préchauffage, par exemple.

  • M600 (changement de filament) à partir de l’usd et la carte sd sans avoir besoin de modifier Marlin !
  • PID
  • Baby Steps
  • Nivellement manuel du plateau (5 Points)

Démo du changement de filament

Firmware TFT de Fab Sarah Enzo

Firmware TFT de 3D-Nexus

Mise à jour de l’afficheur pour les SW X1 stock (20/02/2020)

Récupérez ici les fichiers pour installer ce firmware

Les firmwares pour cartes Bigtreetech

Ces firmware sont utilisés avec les cartes BTT. Cela implique donc de gros travaux de remplacement pour pouvoir les utiliser.

Voici un tableau récapitulatif des différences entre les deux versions pour BTT des firmwares Fulament.

Version stockVersion Hemera
Extrudeur stock / TitanHemera
Nivellement manuelBLTouch
Détecteurs de butée standardsDetection de butée sans capteur (sensorless homing)

Comment modifier vous-même le firmware écran

SI vous avez décidé de vous lancer dans la modification de votre firmware écran, voici une vidéo qui vous explique tout ça pour le Genius. Et donc pour la X1.