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
- 3D Visualizer
- Allows multiple HTTP connections at the same serial port
- Supports a minimum width of 720px to target small-screen devices
- 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:https://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:https://jscut.org/jscut.html.
Use GitHub issues for requests.
Pull requests welcome! Learn how to contribute.
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.