{"id":21262801,"url":"https://github.com/michaelfranzl/grbl-gui","last_synced_at":"2025-09-21T22:35:22.306Z","repository":{"id":147443613,"uuid":"57374878","full_name":"michaelfranzl/grbl-gui","owner":"michaelfranzl","description":"Gcode scripting, 3D visualization and streaming for the grbl CNC controller","archived":false,"fork":false,"pushed_at":"2024-01-12T23:59:43.000Z","size":760,"stargazers_count":39,"open_issues_count":2,"forks_count":9,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-08-12T16:38:38.904Z","etag":null,"topics":["3d-visualization","cnc-controller","gcode","gerbil-gui","grbl","gui","opengl","python","streaming"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaelfranzl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-04-29T09:54:07.000Z","updated_at":"2025-05-28T11:12:04.000Z","dependencies_parsed_at":"2025-07-11T04:32:15.324Z","dependency_job_id":"84817b54-4d94-430b-b843-f5bac77762db","html_url":"https://github.com/michaelfranzl/grbl-gui","commit_stats":null,"previous_names":["michaelfranzl/grbl-gui","michaelfranzl/gerbil_gui"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/michaelfranzl/grbl-gui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelfranzl%2Fgrbl-gui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelfranzl%2Fgrbl-gui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelfranzl%2Fgrbl-gui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelfranzl%2Fgrbl-gui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaelfranzl","download_url":"https://codeload.github.com/michaelfranzl/grbl-gui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelfranzl%2Fgrbl-gui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276318629,"owners_count":25621650,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-21T02:00:07.055Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-visualization","cnc-controller","gcode","gerbil-gui","grbl","gui","opengl","python","streaming"],"created_at":"2024-11-21T04:59:25.662Z","updated_at":"2025-09-21T22:35:22.280Z","avatar_url":"https://github.com/michaelfranzl.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# grbl-gui\n\nGraphical User Interface for the \"grbl\" CNC controller; implemented in Python 3 with Qt 6 bindings.\n\n\n## Features\n\n* Real-time displays of grbl's state (mode, working position, machine position, motion mode, plane\n    mode, distance mode, feed mode, unit mode, program mode, spindle mode, spindle RPM, serial read\n    buffer untilization)\n* Quick push buttons for\n   * Abort/reset\n   * Kill alarm\n   * Homing\n   * Check mode\n   * Holding and Resuming\n   * Generation of g-code that draws the bounding box around all other g-code (automatically goes to\n       Hold mode, user can continue by pressing the Resume button)\n   * Go to maximum Z\n   * Go to upper right corner\n   * Go to lower right corner\n   * Go to coordinate system origin\n   * Spindle off\n   * Spindle maximum\n* Simulation (dry-run) mode\n* Sliding feed override\n* interactive preprocessor g-code variable editing\n* Buffer display\n* interactive grbl's settings table\n* Detached-window, real time, 3D visualization of g-code and tool position (using https://github.com/michaelfranzl/pyglpainter)\n* Embedded Python scripting for procedural g-code generation and transformation\n* Robust streaming of g-code to grbl (using https://github.com/michaelfranzl/grbl-streamer)\n* Jogging buttons\n* Coordinate system switching\n* Interactive, one-line command line interface to grbl\n* Supports grbl variant 0.9 (but 1.1 should work too thanks to grbl-streamer)\n* Event timeline (of commands sent and received)\n\n\n## Screenshots\n\n![The main window](screenshots/helloworldgui.jpg)\n\n![The simulator window](screenshots/helloworldsim.jpg)\n\n![The simulator window](screenshots/bumpifysim.jpg)\n\n![The simulator window](screenshots/circletestsim.jpg)\n\n![The simulator window](screenshots/lasercutsim.jpg)\n\n![The simulator window](screenshots/pixeltolasersim.jpg)\n\n\n## Requirements\n\n* Your graphics hardware and drivers need to support at least OpenGL version 2.1 with GLSL version 1.20.\n* An Arduino board with grbl version 0.9j flashed onto it (however, the Gcode simulator and scripting will even work without an Arduino board connected) and connected to your computer.\n\n\n\n## Dependencies\n\nDependencies are managed using pipenv:\n\n```sh\npip install pipenv --user\npipenv install -d\n```\n\n## Usage\n\nTo start:\n\n```sh\npipenv run ./grbl-gui.py gui --path /dev/ttyUSB0 --baud=115200\n```\n\n## Development\n\nUpdate Python code from Qt .ui file\n\n```sh\npyuic6 -o lib/qt/grbl_gui/ui_mainwindow.py lib/qt/grbl_gui/mainwindow.ui\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelfranzl%2Fgrbl-gui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelfranzl%2Fgrbl-gui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelfranzl%2Fgrbl-gui/lists"}