Installer le firmware Marlin sur l’Anet A8 ou un kit imprimante 3D RepRap avec l’IDE Arduino

Il est très facile d’installer le firmware Marlin sur l’imprimante 3D Anet A8. Marlin est projet Open Source compatible avec la plupart des kits d’imprimantes 3D Reprap. La majorité des fabricants personnalisent ce firmware pour l’adapter à leurs imprimantes. C’est par exemple le cas d’Anet. Comme tout projet informatique, le firmware évolue, soit pour ajouter de nouvelles fonctions, soit pour corriger des bugs. Il peut être intéressant de mettre à jour le firmware de votre imprimante 3D par exemple pour ajouter la fonction d’auto-leveling (auto-bed) si elle n’est pas proposée par le firmware d’origine.

 

C’est par exemple le cas pour l’Anet A8 si on veut remplacer le capteur de fin de course de l’axe Z par un capteur de proximité. Dans l’article précédent, nous avons vu comment installer le firmware Skynet3D qui n’est rien d’autre que le firmware Marlin avec des fichiers de configuration pré-définis pour les imprimantes 3D A8, l’A6 et l’A2.

Que devient le firmware d’origine ?

Il va être tout simplement effacé ainsi que tous les réglages. S vous avez une Anet A6 ou A8, suivez ce tutoriel pour ré-installer le firmware d’origine.

Sur quelle imprimante 3D peut-on installer le firmware Marlin ?

Le firmware Marlin peut être installé sur les cartes mères d’un très grand nombre de kit d’impression 3D.Le firmware Marlin est avant tout un programme Arduino. La communauté qui développe le firmware Marlin depuis novembre 2011 (historique des versions) adapte le code pour qu’il soit possible de l’installer sur les micro-contrôleurs des kits d’imprimantes 3D. C’est également très intéressant pour les fabricants de kits économiques (Anet, ) qui peuvent l’utiliser sans avoir à supporter les coûts de développement et de maintenance.

Voici la liste des cartes mères supportées par la version 1.1.8 (décembre 2017). La liste est disponible sur la documentation officielle.

Petit info au passage, on retrouve dans la liste la carte Melzi utilisée sur les Dagoma Discovery et Disco Easy. Comme j’ai encore mon ancienne Discorey200 qui fonctionne, on verra dans le prochaine tutoriel comment mettre à jour le firmware.

Constante à utiliser dans la configuration MCU Fichier de repérage des broches Nom de la carte mère
BOARD_3DRAG Arduino pins_3DRAG.h 3DRAG RAMPS v1.4
BOARD_AZTEEG_X3 Arduino pins_AZTEEG_X3.h Azteeg X3 RAMPS v1.4
BOARD_AZTEEG_X3_PRO Arduino pins_AZTEEG_X3_PRO.h Azteeg X3 PRO RAMPS v1.4
BOARD_BAM_DICE Arduino pins_RAMPS_14.h 2PrintBeta BAM&DICE
BOARD_BAM_DICE_DUE Arduino pins_BAM_DICE_DUE.h 2PrintBeta BAM&DICE Due
BOARD_BQ_ZUM_MEGA_3D Arduino pins_BQ_ZUM_MEGA_3D.h bq ZUM Mega 3D
BOARD_CHEAPTRONIC Arduino pins_CHEAPTRONIC.h Cheaptronic v1.0
BOARD_CHEAPTRONIC_V2 Arduino pins_CHEAPTRONIC_V2.h Cheaptronic v2.0
BOARD_CNCONTROLS_11 Arduino pins_CNCONTROLS_11.h Cartesio CN Controls V11
BOARD_CNCONTROLS_12 Arduino pins_CNCONTROLS_12.h Cartesio CN Controls V12
BOARD_ELEFU_3 Arduino pins_ELEFU_3.h Elefu RA
BOARD_FELIX2 Arduino pins_FELIX2.h FELIXprinters v2.0/3.0
BOARD_K8200 Arduino pins_K8200.h Velleman K8200 RAMPS v1.3
BOARD_K8400 Arduino pins_K8400.h Velleman K8400 RAMPS v1.4
BOARD_LEAPFROG Arduino pins_LEAPFROG.h Leapfrog Driver board
BOARD_MEGACONTROLLER Arduino pins_MEGACONTROLLER.h Mega Controller
BOARD_MEGATRONICS Arduino pins_MEGATRONICS.h MegaTronics
BOARD_MEGATRONICS_2 Arduino pins_MEGATRONICS_2.h MegaTronics v2.0
BOARD_MEGATRONICS_3 Arduino pins_MEGATRONICS_3.h MegaTronics v3.0
BOARD_MEGATRONICS_31 Arduino pins_MEGATRONICS_31.h MegaTronics v3.1
BOARD_MINIRAMBO Arduino pins_MINIRAMBO.h Mini RAMBo
BOARD_MKS_13 Arduino pins_MKS_13.h MKS v1.3
BOARD_MKS_BASE Arduino pins_MKS_BASE.h MKS BASE 1.0
BOARD_RAMBO Arduino pins_RAMBO.h RAMBo
BOARD_RAMPS_13_EEB Arduino pins_RAMPS_13.h RAMPS v1.3 (Extruder, Extruder, Bed)
BOARD_RAMPS_13_EEF Arduino pins_RAMPS_13.h RAMPS v1.3 (Extruder, Extruder, Fan)
BOARD_RAMPS_13_EFB Arduino pins_RAMPS_13_EFB.h RAMPS v1.3 (Extruder, Fan, Bed)
BOARD_RAMPS_13_EFF Arduino pins_RAMPS_13.h RAMPS v1.3 (Extruder, Fan, Fan)
BOARD_RAMPS_13_SF Arduino pins_RAMPS_13.h RAMPS v1.3 (Spindle, Controller Fan)
BOARD_RAMPS_14_EEB Arduino pins_RAMPS_14.h RAMPS v1.4 (Extruder, Extruder, Bed)
BOARD_RAMPS_14_EEF Arduino pins_RAMPS_14.h RAMPS v1.4 (Extruder, Extruder, Fan)
BOARD_RAMPS_14_EFB Arduino pins_RAMPS_14_EFB.h RAMPS v1.4 (Extruder, Fan, Bed)
BOARD_RAMPS_14_EFF Arduino pins_RAMPS_14.h RAMPS v1.4 (Extruder, Fan, Fan)
BOARD_RAMPS_14_SF Arduino pins_RAMPS_14.h RAMPS v1.4 (Spindle, Controller Fan)
BOARD_RAMPS_OLD Arduino pins_RAMPS_OLD.h RAMPS v1.0, v1.1, v1.2
BOARD_RIGIDBOARD Arduino pins_RIGIDBOARD.h RIGIDBOARD RAMPS v1.4
BOARD_RIGIDBOARD_V2 Arduino pins_RIGIDBOARD_V2.h RIGIDBOARD v2
BOARD_RUMBA Arduino pins_RUMBA.h RUMBA
BOARD_SAINSMART_2IN1 Arduino pins_SAINSMART_2IN1.h Sainsmart 2-in-1
BOARD_SCOOVO_X9H Arduino pins_SCOOVO_X9H.h abee Scoovo X9H
BOARD_ULTIMAIN_2 Arduino pins_ULTIMAIN_2.h Ultiboard v2.0
BOARD_ULTIMAKER Arduino pins_ULTIMAKER.h Ultimaker
BOARD_ULTIMAKER_OLD Arduino pins_ULTIMAKER_OLD.h Ultimaker “old electronics”
BOARD_ZRIB_V20 Arduino pins_BOARD_ZRIB_V20.h zrib V2.0 (Chinese RAMPS replica)
BOARD_BRAINWAVE Brainwave pins_BRAINWAVE.h Brainwave 1.0
BOARD_BRAINWAVE_PRO Brainwave pins_BRAINWAVE_PRO.h Brainwave Pro
BOARD_GEN7_12 Gen7 pins_GEN7_12.h Gen7 v1.1, v1.2
BOARD_GEN7_13 Gen7 pins_GEN7_13.h Gen7 v1.3
BOARD_GEN7_14 Gen7 pins_GEN7_14.h Gen7 v1.4
BOARD_GEN7_CUSTOM Gen7 pins_GEN7_CUSTOM.h Gen7 “Alfons3”
BOARD_MINITRONICS Minitronics pins_MINITRONICS.h Minitronics v1.0/1.1
BOARD_ANET_10 Sanguino pins_ANET_10.h Anet V1.0 by SkyNet3D
BOARD_AZTEEG_X1 Sanguino pins_AZTEEG_X1.h Azteeg X1
BOARD_GEN3_MONOLITHIC Sanguino pins_GEN3_MONOLITHIC.h Gen3 Monolithic Electronics
BOARD_GEN3_PLUS Sanguino pins_GEN3_PLUS.h Gen3+
BOARD_GEN6 Sanguino pins_GEN6.h Gen6
BOARD_GEN6_DELUXE Sanguino pins_GEN6_DELUXE.h Gen6 Deluxe
BOARD_MELZI Sanguino pins_MELZI.h Melzi
BOARD_MELZI_MAKR3D Sanguino pins_MELZI_MAKR3D.h Melzi “MaKr3d”
BOARD_OMCA_A Sanguino pins_OMCA.h Open Motion controller
BOARD_SANGUINOLOLU_11 Sanguino pins_SANGUINOLOLU_11.h Sanguinololu
BOARD_SANGUINOLOLU_12 Sanguino pins_SANGUINOLOLU_12.h Sanguinololu v1.2
BOARD_STB_11 Sanguino pins_STB_11.h STB V1.1
BOARD_OMCA SanguinoA pins_OMCA_A.h Open Motion controller “Alpha”
BOARD_SETHI Sethi 3D pins_SETHI.h Sethi 3D_1
BOARD_5DPRINT Teensy++ 2.0 pins_5DPRINT.h Makibox 5DPD8
BOARD_PRINTRBOARD Teensy++ 2.0 pins_PRINTRBOARD.h Printrboard
BOARD_PRINTRBOARD_REVF Teensy++ 2.0 pins_PRINTRBOARD_REVF.h Printrboard RevF
BOARD_SAV_MKI Teensy++ 2.0 pins_SAV_MKI.h SAV MkI
BOARD_TEENSY2 Teensy++ 2.0 pins_TEENSY2.h Teensy++ 2.0
BOARD_TEENSYLU Teensy++ 2.0 pins_TEENSYLU.h Teensylu 0.7

Télécharger le firmware Marlin

Le projet Marlin est hébergé sur GitHub sur cette page. Comme d’habitude, cliquez sur Clone or download puis Download ZIP. Décompressez et ouvrez le dossier du projet.

download marlin firmware

Comme vous pouvez le constater, vous pouvez également utiliser PlatformIO pour compiler et téléverser le firmware.

Nous allons maintenant préparer l’IDE Arduino pour pouvoir se connecter et téléverser sur l’Anet A8

Configurer l’IDE Arduino pour l’imprimante 3D Anet A8 ou A6

Contrairement à Skynet3D, Marlin n’est livré avec aucun fichier de configuration permettant de se connecter à l’imprimante (et compiler le code) depuis l’IDE Arduino. On va donc récupérer ce qu’il nous faut en téléchargeant Skynet3D sur GitHub ici  (vous pouvez suivre ce tutoriel en détail si ça vous intéresse). Décompressez le fichier ZIP de Skynet3D. Voici son contenu

skynet3D project folder

Installez l’IDE Arduino sur votre ordinateur (Windows, Linux ou macOS) depuis cette page si vous ne l’avez pas encore fait. Installez l’IDE Arduino comme n’importe quel autre logiciel.

Lancez une première fois l’IDE Arduino puis quittez le. Ouvrez le dossier Documents. Allez dans le dossier Arduino puis hardware.

Dans le projet Skynet3D, ouvrez le dossier Arduino-1.8.0 puis hardawre. Copiez le dossier Anet et collez le dans le dossier hardware de l’IDE Arduino précédemment ouvert.

copy anet board hardware ide arduino folder

Supprimez le fichier platform.local.txt qui se trouve dans le sous-dossier avr car ce fichier génère cette erreur de compilation

fork/exec /usr/local/bin/generate_version_header_for_marlin: no such file or directory
Erreur de compilation pour la carte Anet V1.0

Installer la librairie Sanguino

Pour les kits ReRap à base d’Arduino Mega 2560, il n’y a rien à installer pour se connecter à la carte mère. Pour les autres cartes, Marlin conseille d’installer la libraire Sanguino développée par Kristian Sloth Lauszus (page GitHub du projet). Cette librairie permet de se connecter à des cartes de développement à base d’Atmega 644, 644P, 1284P (8 ou 16Mhz), ce qui est le cas de la carte mère des imprimantes 3D Anet3D A2, A6 et A8. Le firmware Skynet3D utilise d’ailleurs cette librairie comme on peut le voir dans le fichier boards.txt qui se trouve dans le dossier arduino-1.8.0/hardware/anet/avr.

# See: https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification
# See: http://code.google.com/p/arduino/wiki/Platforms

##############################################################

menu.cpu=Processor

########################################
## Anet V1 (sanguino clone) -
########################################
anet.name=Anet V1.0

anet.upload.tool=arduino:avrdude
anet.upload.protocol=arduino
anet.upload.maximum_size=131072
anet.upload.speed=57600

anet.bootloader.low_fuses=0xD6
anet.bootloader.high_fuses=0xDA
anet.bootloader.extended_fuses=0xFD
anet.bootloader.unlock_bits=0x3F
anet.bootloader.lock_bits=0x0F

anet.build.mcu=atmega1284p
anet.build.f_cpu=16000000L
anet.build.board=AVR_SANGUINO
anet.build.core=arduino:arduino
anet.build.variant=sanguino

anet.bootloader.file=atmega/ATmegaBOOT_168_atmega1284p.hex
anet.bootloader.tool=avrdude

Malheureusement, ça ne fonctionne pas chez moi. J’obtiens les erreurs suivantes au moment de téléverser le code sur la carte mère.

Les variables globales utilisent 4161 octets (25%) de mémoire dynamique, ce qui laisse 12223 octets pour les variables locales. Le maximum est de 16384 octets.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x73
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x74
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x61
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x72
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x74
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x0a
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x65
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x63
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x68
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x6f
Une erreur est survenue lors du transfert du croquis

Pour le moment, on est donc condamné à récupérer la librairie dans le projet Skynet3D en attendant une mise à jour de la librairie Sanguino. J’ai d’abord pensé que c’était un problème avec le bootloader et donc ré-installé le firmware d’origine mais sans succès. Si quelqu’un trouve la solution, je suis preneur.

Configurer le firmware Marlin pour l’Anet A8

Ouvrez le dossier contenant Marlin et allez dans le dossier Marlin puis example_configurations. Vous allez y trouver des fichiers de configuration pour les principales imprimantes listées précédemment. Beaucoup d’imprimantes sont aujourd’hui obsolètes

Collez le ou les fichiers de configuration de votre imprimante à la racine du projet (au même niveau que le fichier marlin.ino). Pour l’A6 ou l’A8, il y deux fichiers configuration.h et configuration_adv.h (configuration avancée).

copy anet a8 a6 3d printer configuration arlin firmware

Installer le firmware Marlin à l’aide de l’IDE Arduino

Tout est prêt. Lancez l’IDE Arduino et ouvrez le projet du firmware marlin.

ouvrir marlin ino ide arduino

Personnaliser le firmware, interface en français

Le firmware est pré-configuré mais on peut encore le personnaliser un peu plus. La première chose à faire est de mettre l’interface en français :D.

Pour cela cherchez la clé LCD_LANGUAGE. Indiquez fr, les caractères accentués (fr_utf8) ne s’affichent pas correctement.

On peut également personnaliser le nom de l’imprimante en dé-commentant la clé CUSTOM_MACHINE_NAME et en indiquant un nom.

Voilà, il ne reste plus qu’à téléverser le programme. L’imprimante redémarre avec le firmware Marlin fraichement installé.

marlin firmware anet a8 3d printer update

Et en français en prime 😀

marlin firmware anet a8 3d printer francais update

En prime, puisque vous êtes sur l’IDE Arduino, profitez-en pour ouvrir le moniteur série. Sélectionnez la vitesse configurée par la clé BAUDRATE dans le fichier configuration.h

ide arduino serial monitor anet a8 marlin firmware

Voilà, je ne peux malheureusement pas tester pour toutes les imprimantes du marché. Je compte sur vous pour nous aider à trouver les fichiers de configuration pour les autres imprimantes. Si vous rencontrez des difficultés ou si vous avez d’autres astuces, les commentaires sont à votre disposition.

Impossible de téléverser le firmware Marlin

Pour une raison qui m’échappe, de temps en temps, il n’est pas possible de téléverser le firmware sur la carte mère de l’imprimante. Voici ce que vous pouvez faire tenter dans ce cas :

  • Débrancher puis remettre sous tension l’imprimante
  • Appuyer sur le bouton reset présent sur la carte mère dès que le téléversement commence
  • Débrancher puis rebrancher le câble USB puis recommencer à téléverser.

Si vous avez d’autres astuces, profitez des commentaires. Merci

Imprimante 3D Anet A8 en promo

118,99€
Geekbuying.com
132,73€
187,97
en stock
Gearbest.com
150,42€
223,00
en stock
Gearbest.com
216,00€
en stock
4 nouveau de 216,00€
Relevé le 13 mai 2019 3 h 01 min
Amazon.fr
Livraison gratuite
454,99€
en stock
1 nouveau de 454,99€
Relevé le 13 mai 2019 3 h 01 min
Amazon.fr

Accessoires et pièces de rechange pour les imprimantes 3D Anet A6 ou A8

-4% Anet A8 A6 5015 Air ventilateur 12 V 24 V Ultra-silencieux Huile...
1,39 1,46
Voir l'offre
aliexpress.com AliExpress
Courroie GT2 largeur 6 mm pas de 2mm au mètre pour imprimante...
2,55
MOSFET Tube d'alimentation MOS d'expansion de lit chauffant de puissance élevée pour...
3,17
buse MK8 0.2, 0.3, 0.4, 0.5, Anet A8 nozzle extrudeur M6, MK7,...
3,49
Buse / nozzle extrudeur MK8 lot de 2. Diam 0.2, 0.3, 0.4...
3,55
Anet 5 pcs 0.2 0.3 0.4 0.5mm 3D imprimante buses pour a6...
3,82
Voir l'offre
aliexpress.com AliExpress
Ventilateur / Fan 40mm x 40mm x 10mm 12V - Imprimante 3d...
3,85
Buse acier inox MK7 / MK8 - Diam 0.2/0.3/0.4/0.5mm - Prusa i3,...
3,99
DIY Chaude Fin Kit Buse M6 Extrudeuse Gorge Chauffe-Thermistance En Aluminium Chauffe-Bloc...
4,53
Voir l'offre
aliexpress.com AliExpress
Résistance / Cartouche chauffante imprimante 3D - 12V 40W - Prusa I3,...
4,99
Anet A8 / AM8 écrou anti backlash pour vis trapézoïdale 8 mm...
5,95
-40% 3D Printer Z-probeTouch Auto Leveling Sensor Auto Bed Leveling Sensor Touch For...
9,85 16,42
Voir l'offre
aliexpress.com AliExpress
Anet A8 câble pour plateau chauffant RepRap hotbed heated bed cable upgrade
9,90
Anet 5 pcs/lot 1.7 m GT2 Courroie de distribution 6mm Largeur Renforcé...
9,99
Voir l'offre
aliexpress.com AliExpress
KeeYees 8pcs MK8 Buse Imprimante 3D M6, 0,2 mm 0,3 mm 0,4...
9,99
Voir l'offre
amazon.fr Amazon.fr
KeeYees 5M Courroie de Distribution GT2 6mm avec Ressort de Tension pour...
9,99
Voir l'offre
amazon.fr Amazon.fr
Practical 6 - 36V Auto Leveling Sensor for 3D Printer
11,03
-31% Trianglelab 2019 NEW 3D Printer 3D TOUCH SENSOR Free Shipping Auto BED...
12,28 17,80
Voir l'offre
aliexpress.com AliExpress
Extrudeuse de Bowden à distance complètement en métal de machine d'alimentation pour...
13,38
-15% 3D printer Round Shape frosted Borosilicate glass plate Diameter 170mm/180mm/200mm/220mm / 240mm...
14,05 16,53
Voir l'offre
aliexpress.com AliExpress
Anet® 220x220x3mm 120W 12V MK3 Panneau d'Aluminium Amélioré PCB Lit de Chauffage...
15,48
Wisamic Effacer Verre Borosilicate chaleur Lit 220 x 220 x 3 mm...
15,99
Voir l'offre
amazon.fr Amazon.fr
-14% Anet A6 A8 MK3 12 V Foyer En Aluminium Chauffée Lit Mis...
16,21 19,07
Voir l'offre
aliexpress.com AliExpress
Ils - 8 mm LJ18A3-8-Z/BX Autolevel capteur inductif A8 A2 A6 Imprimante...
16,93
Voir l'offre
amazon.fr Amazon.fr
5 pcs 220x220mm noir Givré Chauffée lit Autocollant Construire Feuille construire plaque...
20,88
Voir l'offre
aliexpress.com AliExpress
-29% 2017 Mise À Jour 3D Commande De L'imprimante Carte Mère pour Anet...
24,79 35,41
Voir l'offre
aliexpress.com AliExpress
Anet 12 V 20A 250 W Interrupteur Alimentation Pilote Pour LED lumière...
25,12
Voir l'offre
aliexpress.com AliExpress
3D Imprimante Partie de Mk8 Extrudeuse Moteur Kit J-tête Chaude fin Buse...
30,87
Voir l'offre
aliexpress.com AliExpress
Imprimante 3D Mainboard Anet V1.0 pour carte mère de contrôle Reprap Mendel...
33,70
-6% 3D imprimante accessoires lit chaud chauffage lit verre tremp¨¦ 310 * 310...
46,00 49,00
Voir l'offre
amazon.fr Amazon.fr
Anet V1.0 3D Printer Controller Board for A8 RepRap Prusa
46,69

Anet A6, plus robuste, plateau chauffant jusqu’à 100°C

L’Anet A6 est une version améliorée de l’A8.

Inscrivez-vous à la newsletter hebdomadaire

Aucun spam et aucun autre usage ne sera fait de votre email. Vous pouvez vous désinscrire à tout moment.

Promos à ne pas louper

1
Poster un Commentaire

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  S’abonner  
Notifier de
Fabrice DUBOIS

Bonjour,
Je rencontre le même souci que vous lors de televersement sur l’anet A8. J’avoue ne pas bien comprendre votre phrase :
Pour le moment, on est donc condamné à récupérer la librairie dans le projet Skynet3D en attendant une mise à jour de la librairie Sanguino.

Merci de bien vouloir m’éclairer à ce sujet

Domotique et objets connectés à faire soi-même