A web-based CNC milling controller for the Arduino running Grbl. It runs on an Raspberry Pi or a laptop computer that you have Node.js installed, connecting to the Arduino over a serial connection using a USB serial port, a Bluetooth serial module, or a Serial-to-WiFi module like XBee or USR-WIFI232-T.
- Supported CNC controllers
- Grbl v0.9 or later
- TinyG2 will be supported in v2.x
- Desktop App for Linux, Mac OS X, and Windows
- 3D Visualizer
- Allows multiple HTTP connections at the same serial port
- Responsive view for small screen display with device width less than 720px
- Safari on an iPhone 5S
- Safari on an iPhone 5S
- Widget Management
- TinyWeb Console for 320x240 LCD Display
- Keyboard Shortcuts
- Contour ShuttleXpress
- I18n Ready
- Z-Probing
First, ensure you have prefix=~/.npm
in ~/.npmrc
. For example:
$ echo "prefix=~/.npm" >> ~/.npmrc
$ cat ~/.npmrc
prefix=~/.npm
Then, install cncjs
without sudo
, or the serialport
module may not install correctly on some platforms like Raspberry Pi.
$ npm install -g cncjs
If you want to run it on Raspberry Pi with Raspbian Wheezy, be sure to install gcc/g++ 4.8 before npm install.
Check out wiki for other installation methods.
Run npm update -g cncjs
to upgrade to a newer version. To determine the version, use cnc -V
.
Run cnc
or ~/.npm/bin/cnc
to start the server, and visit http://yourhostname:8000/
to view the web interface:
$ cnc
Run cnc
with -h for detailed usage:
$ cnc -h
Usage: cnc [options]
Options:
-h, --help output usage information
-V, --version output the version number
-p, --port set listen port (default: 8000)
-l, --host set listen address or hostname (default: 0.0.0.0)
-b, --backlog set listen backlog (default: 511)
-c, --config <filename> set config file (default: ~/.cncrc)
-v, --verbose increase the verbosity level
-m, --mount [<url>:]<path> set the mount point for serving static files (default: /static:static)
If you need view detailed logs for troubleshooting, you can run the server in debug mode.
$ cnc -vv
https://github.com/cheton/cnc/wiki
There are several *.gcode files in the examples directory. You can use the GCode widget to load a GCode file and make a trial run.
If you don't have a CAM software, try using jscut to create G-Code from *.svg. It's a simple CAM package that runs in the browser.
Check out a live demo at http://jscut.org/jscut.html.
Use GitHub issues for requests.
Pull requests welcome! Learn how to contribute.
You can help translate the resource.json file from English to other languages. Check out Localization guide to learn how to get started. If you are not familiar with GitHub development, you can send your translations to cheton@gmail.com.
Locale | Language | Contributors |
---|---|---|
de | Deutsch | [Thorsten Godau] (https://github.com/dl9sec) |
es | Español | |
fr | Français | |
it | Italiano | |
ja | にほんご | |
zh-cn | 中文 (简体) | |
zh-tw | 中文 (繁體) | [Cheton Wu] (https://github.com/cheton) |
Please let me know if you would like to help translate content to your language but not listed here.
If you would like to support this project, you can make a donation using PayPal. Thank you!
Copyright (c) 2015-2016 Cheton Wu
Licensed under the MIT License.