Grbl Overseer : Une interface de contrôle touch-friendly pour CNC

Mon hackerspace local disposant depuis peu d’une fraiseuse à commande numérique pour la gravure de PCB, j’ai beaucoup joué avec.

La machine (low cost, mais robuste) est dotée d’un firmware libre dédié au contrôle de CNC par un hardware basé sur Arduino : Grbl

Plusieurs interfaces utilisateurs (pour PC) existent déjà pour Grbl. Cependant, aucune d’entre elles ne semble permettre la gestion automatisée de plusieurs tâches, ni n’offre d’interface optimisée pour un écran tactile. Ce sont là 2 des objectifs de ce projet.

Capture d’écran avec le panneau « Jobs » déployé

Ses principaux atouts sont :

  • Une interface utilisateur simple, optimisée pour un usage clavier / souris mais aussi sur écran tactile
  • Une prise en main facile
  • Une vue 3D des différentes tâches, ainsi que de la position actuel de l’outil
  • La planification de plusieurs tâches, avec des points d’origine différents
  • La vérification automatique de la validité du gcode, afin d’éviter de rencontrer des erreurs pendant la phase de production
  • Le support de Grbl à partir de sa version 1.1 (celle ci fige enfin l’interface de commande)
  • Commandes de déplacement manuelles exploitant d’interface de « jog » de Grbl 1.1
  • Une console série « futée », afin d’avoir un aperçu clair et détaillé des communications avec la machines
  • Une barre d’état « futée », affichant toujours l’état et la position de la machine, et permettant une lecture rapide même à distance de l’écran
  • Un éditeur de configuration pour les différents paramètres de Grbl
  • Multiplateforme : Windows, Linux, MacOs + Android (en cours de développement)

Le point le plus intéressant, et qui fut même le point d’origine de ce projet, réside dans sa compatibilité avec les plateforme Android.

En effet, les tablettes Android représentent, par leur faible consommation, leur faible encombrement, et leur utilisation intuitive, une plateforme idéale pour une interface utilisateur.

Le support Android, à l’état de preuve de concept, est toujours en développement. Si l’application démarre sur la grande majorité des périphérique, une version  d’Android >= 3.1 et compilée avec le support USB Host est nécessaire pour s’interfacer avec la fraiseuse à travers un convertisseur USB / UART.

Le code source de Grbl Overseer et les instructions de compilation pour Linux sont disponibles sur Gitlab : >> ICI <<

Une archive contenant l’exécutable pour MS Windows est disponible >> LA <<

De nombreux bug subsistent encore, notamment dans la gestion particulière de l’USB et du rendu Open GL ES propre à Android.

Sur PC en revanche, le logiciel devrait se montrer stable, n’hésitez pas à l’essayer, et à me faire remonter vos remarques !

5 Commentaires

Passer au formulaire de commentaire

    • Khaled Homouda sur 14 octobre 2017 à 22h01
    • Répondre

    can I get an APK for grbl-overseer for android…. thank you very much

  1. Hello Pila,

    is it possible to run Overseer on a Raspberry Pi 3?
    And if, what do i have to do to run the app … can you discribe the installation?

    Thank you …

  2. Hello,

    I think the installation instructions for Linux ( on the gitlab page ) should work a Raspberry Pi.
    Can you try them ?

    • Jerold Ponko sur 8 avril 2019 à 19h28
    • Répondre

    Hello Pila,

    I just bought a 3018 cnc to mill PCBs with and I thought I would check out all the various GRBL gui programs for Linux. I like the job queue and the job simulation before running the actual jobs. However, without a PCB surface map function I probably will not be able to use it for PCBs. I see that a feature request was made about a year ago for the PCB surface map feature. Do you intend to add this feature? If not, I might attempt this myself but I haven’t done a Qt5 program for about a year. I built grbl-overseer with Qt v5.9.1 on Linux Mint 19.1 and really like the and I hope you continue your good work!

  3. Bonjour, beau travail.

    J’ ai une question concernant GRBL dans la version 1.1, il y a possibilité de commandes en temps réel tel que : démarrer ou reprendre par « ~ » (cycle start), pause par « ! » (Feed hold), il y a aussi une possibilité d’augmenter ou diminuer la vitesse en temps réel comme dans votre interface (Controls : Overrides : Feed Motions), je voudrais savoir quel code faut-il écrire pour cette action. J’ai l’intention de d’écrire mon interface personalisé.

    En vous remerciant.

    Marc.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.