On d'autant mieux le faire à l'ancienne avec un éditeur, que les fichier yaml basées sur la mks dlc32 existent. Ils intègrent tout de qui est spécifique à cette carte, il ne reste qu'à customiser pour sa machine (taille, vitesse, gestion des axes et des moteurs, etc.) ses fonctionnalités (laser, broche, servo, etc.).
Au départ, c'est un peu confusant, même si tout est bien documenté dans le wiki, l'approche est différente du grbl usuel ($xx=yy) ou même un peu plus riche de grbl-esp32 qui est malgré tout très directe.
Ceci dit ayant "surmonté" cette étape, j'ai maintenant une machine qui me permet d'utiliser facilement laser et stylo. Le laser est branché sur la sortie standard avec l'alimentation qui convient parfaitement à mon 5,5w optique. Le servo qui gère le crayon est raccordé à la prise probe. (io pin 22 et il faut faire attention au câblage de la prise servo, l'ordre des fils n'est pas natif). Le laser est en "tool_num: 0", le servo est en "tool num : 100", le passage de l'un à l'autre se fait par une commande de changement d'outil "m6 txx". J'utilise Lightburn et pour avoir un fonctionnement le plus transparent possible, j'ai 2 configs, une standard "laser" avec gestion de la puissance et une "servo/besc" basée sur du grbl M3 (du tout ou rien en M3 et M5). Chaque config fait l'ajout de la commande "m6 txx" qui va bien avant l'envoi du gcode.
Au niveau mécanique, j'ai développé un support avec une attache rapide aimanté qui me permet de passer rapidement de l'un à l'autre, les 2 câbles aboutissent à proximité, il suffit de débrancher l'un et de brancher l'autre.
Il serait même possible d'avoir les 2 têtes branchées en permanence, mais ce n'est pas mon choix car cela me mangerait trop de course sur ma machine.
Cela fait un moment que je travaille sur la double fonctionnalité. Jusqu’à présent c'etait un peu du bricolage car je devais intervenir sur le raccordement au niveau de la carte quand je voulais swappé et j'utilisais 2 fichiers gcode qui me permettaient de faire le changement de paramêtre grbl entre laser et servo. C'était pénible pour moi mais transparent pour madame et les travaux qu'elle me confiait
J'ai mis du temps à finaliser car j'hésitais entre 3 solutions, le firmware mks dlc32 avec quelques modifs et compilation, grbl-esp32 pareil mais sans écran ou FluiNC relativement simple et sans écran. FluidNC vainqueur et il me simplifie grandement la vie moyennant, pour la mise en place, un peu d'écriture dans le fichier de config qui est vraiment prévu pour .
Clairement, la prochaine étape est l'installation de "drag chain" pour mettre de l'ordre dans le fouillis!