GRBL CNC command sender, autoleveler and g-code editor
Python JavaScript HTML
Clone or download
vlachoudis Merge pull request #931 from Harvie/master
Major tab fix! Center drilling, Centerpoint plugin, Improved trochoids, Single click DRO zero, Oneshot plugins, Flatpath plugin, Helix recut, Plugin icons on exe button
Latest commit 8137b50 Aug 13, 2018
Permalink
Failed to load latest commit information.
icons Now using PNG instead of GIF #920 Aug 11, 2018
lib intersection() cleanup, workaround to make isInside() behave better Aug 13, 2018
locale Update Traditional chinese Jul 2, 2018
pendant - Reset to zero IJK after rotation in process() (#732) Jan 29, 2018
plugins Converted center and diff plugin to oneshot type Aug 13, 2018
.git_cache_meta Removed pyc May 12, 2018
.gitignore ignore .pyo (similar to .pyc, but optimized) Jul 15, 2018
CNC.py simplified tabs Aug 12, 2018
CNCCanvas.py Now properly rendering custom tabs #220 Jul 4, 2018
CNCList.py Block split/join = Enable to move individual tabs #912 Jul 9, 2018
CNCRibbon.py Translatable labelframe Jun 21, 2018
Camera.py remove unused import calls Feb 18, 2018
ControlPage.py Single click to zero all coordinates Aug 10, 2018
EditorPage.py Block split/join = Enable to move individual tabs #912 Jul 9, 2018
FilePage.py Import button on file page, fixes #877 Jul 1, 2018
LICENSE.BSD3 Mesh slicer now supports slicing of STL files. #901 Jul 11, 2018
LICENSE.MIT Mesh slicer now supports slicing of STL files. #901 Jul 11, 2018
LICENSE.md Create LICENSE.md Jul 9, 2018
Pendant.py Now using PNG instead of GIF #920 Aug 11, 2018
ProbePage.py added missing translating fields [ProbePage.py] Jun 29, 2018
README.md README on serial debugging Aug 11, 2018
Ribbon.py remove unused import calls Feb 18, 2018
Sender.py Maybe help status update and pause #773 #885 #899 #567 Aug 10, 2018
TerminalPage.py Added Grbl V1 as choice Sep 23, 2016
ToolsPage.py Update execute button with plugin icon if available Aug 13, 2018
Updates.py remove unused import calls Feb 18, 2018
Utils.py Now using PNG instead of GIF #920 Aug 11, 2018
bCNC correction erreur Dec 22, 2015
bCNC.bat restored "python" instead of "pythonw" until Feb 10, 2016
bCNC.desktop Corrected unicode error in autoleveling Nov 29, 2015
bCNC.ico Fix ugly Icon in Windows Sep 30, 2015
bCNC.ini retract before start Jul 9, 2018
bCNC.png - cleaner icons Oct 2, 2015
bCNC.pot Added new strings in pot Jul 1, 2018
bCNC.py Trochprofile added Aug 4, 2018
bCNC.xbm - cleaner icons Oct 2, 2015
makefile Extended charactes converted to chr() to avoid errors Nov 3, 2016

README.md

bCNC

GRBL CNC command sender, autoleveler and g-code editor

An advanced fully featured g-code sender for GRBL. bCNC is a cross platform program (Windows, Linux, Mac) written in python. The sender is robust and fast able to work nicely with old or slow hardware like Rasperry PI (As it was validated by the GRBL mainter on heavy testing).

bCNC screenshot

Installation

You will need the following packages to run bCNC

  • tkinter the graphical toolkit for python Depending your python/OS it can either be already installed, or under the names tkinter, python-tkinter, python-tk
  • pyserial or under the name python-serial, python-pyserial
  • Optionally:
  • python-imaging-tk: the PIL libraries for autolevel height map
  • python-opencv: for webcam streaming on web pendant

Expand the directory or download it from github and run the bCNC command

Configuration

You can modify most of the parameters from the "Tools -> Machine" page. Only the changes/differences from the default configuration file will be saved in your home directory ${HOME}/.bCNC or ~/.bCNC

The default configuration is stored on bCNC.ini in the installation directory.

PLEASE DO NOT CHANGE THIS ONE

Features:

  • simple and intuitive interface for small screens
  • import/export g-code and dxf files
  • fast g-code sender (works nicely on RPi and old hardware)
  • workspace configuration (G54..G59 commands)
  • user configurable buttons
  • g-code function evaluation with run time expansion
  • feed override during the running for fine tuning
  • Easy probing:
    • simple probing
    • center finder with a probing ring
    • auto leveling, Z-probing and auto leveling by altering the g-code during sending.
    • height color map display
    • manual tool change expansion and automatic tool length probing
    • canned cycles expansion
  • Various Tools:
    • user configurable database of materials, endmills, stock
    • properties database of materials, stock, end mills etc..
    • basic CAM features (profiling, pocketing, cutting, drilling)
    • User g-code plugins:
      • bowl generator
      • finger joint box generator
      • simple spur gear generator
      • spirograph generator
      • surface flatten
      • ...
  • G-Code editor and display
    • graphical display of the g-code, and workspace
    • graphically moving and editing g-code
    • reordering code and rapid motion optimization
    • moving, rotating, mirroring the g-code
  • Web pendant to be used via smart phones

Debuging

You can use following command to connect to debug serial traffic. ttyUSB0 is real HW, ttyUSB23 is gonna be new fake device to which you'll connect the bCNC in order to intercept trafic:

interceptty -l /dev/ttyUSB0 /dev/ttyUSB23 | interceptty-nicedump

Disclaimer

The software is made available "AS IS". It seems quite stable, but it is in an early stage of development. Hence there should be plenty of bugs not yet spotted. Please use/try it with care, I don't want to be liable if it causes any damage :)