Vladivarius edited this page Aug 1, 2018 · 56 revisions

Here a list of working configurations and special requirements for operating.


Ubuntu 14.04.2 LTS x64

  1. Update your system:
 	sudo apt-get update
 	sudo apt-get upgrade
  1. To update pyserial, install pip and upgrade pyserial:
 	sudo apt-get install python-pip
	sudo pip install pyserial --upgrade
  1. Install tkinter:
	sudo apt-get install python python-tk python-imaging
  1. Download or clone the repository to your system.
    If downloaded as zip file, extract it to a preferred location, open the folder and run:

Happy milling!


OpenBSD 5.8 is known to work. You'll need to install the dependencies, which are all available in the OpenBSD ports collection.


  • Usually python is missing from Windows, so you need to install it. Python 2 is more tested at present time and should work nicely with the latest release of v2. Efforts are made to allow bCNC run also on Python 3.
  • Install also pyserial, use the correct installer for the same version of your python installation. From a terminal (cmd) you can execute the command (where PythonXX is your python installation directory)
C:\PythonXX\Scripts\easy_install pyserial
depending on the Windows installtion, the commandline might start with "C:\Users\USERNAME>" copy-pasting the command will still work.

  • Download or clone the repository to your system.
    If downloaded as zip file, extract it to a preferred location, open the folder and run bCNC.bat

  • Latest working version of PySerial on Windows XP is 3.0.1

C:\PythonXX\Scripts\pip install pyserial==3.0.1

For reference, below you can find a table of successful installation of bCNC as reported from various users. However it is strongly recommended to install the latest python release of V2.

OS Python Notes
Windows XP SP3 2.7.5
Windows Vista SP2 2.7.9
Windows 7 2.7.* Any 2.7 version should work
Windows 8.1 2.7.10 is known to work
Windows 10 2.7.* Any 2.7 version should work


It is recommended to use Homebrew for installing dependencies.

  1. Install Python You can install python with two different options. The first option links against Apple's tcl-tk library which has been found to cause some issues locking up python when using bCNC. The recommended option is to add the --with-tcl-tk parameter which will download the latest version of tcl and link python against it. This fixed a problem with editing the User buttons in one instance. If you have already installed python and have issues with tcl-tk then try the reinstall command instead of install (with the options below).
    brew install python --with-tcl-tk
  1. Activate the brew python version. At the time of writing, the standard "brew link python" method no longer works. Put the brew path before the OS provided PATH in your profile files. See notes on homebrew github. For example, in your .bash_profile and/or .profile, add the following line (or adapt the PATH line that is in there already), and restart the terminal session.
    export PATH=$(brew --prefix)/opt/python/libexec/bin:${PATH}
  1. Install a recent version of tcl-tk. At the time of writing, you may need the dev version, in order to avoid a SIGABRT. See notes on homebrew github.
    brew install --devel tcl-tk
  1. Install zlib which is required by python-imaging. See notes on Stackoverflow.
    brew install homebrew/dupes/zlib
    brew link zlib --force 
  1. Install pyserial and pillow (python-imaging)
    pip install pyserial --upgrade
    pip install pillow

Raspberry Pi

  1. Setup a fresh Raspberry Pi image on an SD card and get it connected to the internet
  • Download the most recent Raspbian image from raspberrypi.org. Make sure to use their recommended methods to upload Raspbian to an SD card.
  • Connect to power, a monitor/TV, keyboard, and mouse. Do the standard setup of an RPi image, expanding the file system and setting it boot to the GUI.
  • Optional: Connect the RPi to the internet via Ethernet or using a Wifi dongle and GUI Wifi setup tool. If not, bCNC runs great as a stand-alone Grbl GUI!
  1. Load bCNC onto your Raspberry Pi!
  • If connected to the internet, open the RPi web browser and download bCNC from github. Unzip the downloaded file.
  • If not connected to the internet, you'll need to download bCNC onto a USB stick and copy it onto your RPi.
  1. Run bCNC!
  • Simply run bCNC by clicking on the bCNC icon. When asked, it's recommended that you select Execute from terminal the first time you run it to know if there are any problems. Or, you run it from terminal directly. That's it!

All of the dependent libraries should already be part of the standard RPi image (confirmed on RPi 2). If bCNC doesn't load and gives a serial error, you may need to update pyserial manually. To fix, install pip via sudo apt-get install pip, followed by sudo pip install pyserial --upgrade. (You may want to run sudo apt-get update and sudo apt-get upgrade beforehand.)

There is also a a RPI image with bCNC, XRDP, CuteCom at http://wiki.protoneer.co.nz/Raspberry_Pi_CNC#bCNC_.5BPython.5D.5BRecommended.5D


Reported as working

Olimex Olinuxino

It work on this platform: Olimex A20-Olinuxino-Micro


You can order the SD card with the Olimex official Debian Wheezy image (rel 10)

EDIT: Tested and is working also on the Armbian Platform, that works on many SBC boards

Or you can download and write the same image on a SD card as described in the above link, around the mid of the page (it is a long page and there you will find all the information you need)

VGA Output

"The default SD card setup is made with settings for HDMI 720p/60H" so if you want to use a VGA monitor you have to:

  • use the board VGA output (the cheap "A20-VGA-CABLE" is needed or you can DIY it with the appropriated connectors). An important warning is to connect the monitor power plug to the same power outlet of the board to avoid differential ground potential that could destroy the VGA output of the board. The VGA output may be disturbed a little (maybe a lack of some shielding in my installation) but many people have an old VGA monitor somewhere and this is a perfect way to use it.
  • follow the instructions under the FAQ: "How to change HDMI, VGA and LCD resolutions in the official Debian image?" to set the resolution, and/or the preferred display type (The board could use HDMI, VGA and even a dedicated LCD attached to a dedicated connector on the board). To do so you have to connect to the board to launch the proper commands.

Connecting to the board

Follow the direction in the How To..

  • I don't have neither serial cable, nor HDMI monitor. I also can't access the local Ethernet network. Can I somehow access the board anyway?

  • Using the the USB-Serial-Cable-F connected to the UART0, The RX line of the cable (GREEN wire) should go to TX line of the target board; the TX line of the cable (RED wire) should go to the RX line of the target board. The BLUE wire should go to the target's GND line. After you install the drivers the default terminal settings for the port associated with USB-SERIAL-CABLE-F are: 115200 baud, 8-N-1


When you are connected with the board you are in a serial console and you can launch the command to set the display type and resolution and then install the required additional software:

With both of the tested software you use Debian Linux so the packages to install are: sudo apt-get install python-pil python-pmw python-tk python-serial

The remaining as far as i know are installed by deafult.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.