Skip to content
forked from cncjs/cncjs

A web-based interface for CNC milling controller running Grbl, Marlin, Smoothieware, or TinyG.

License

Notifications You must be signed in to change notification settings

xingqianlilu/cncjs

Repository files navigation

CNC build status Coverage Status

NPM cncjs

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.

cnc.png

Key Features

Installation

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.

Upgrade

Run npm update -g cncjs to upgrade to a newer version. To determine the version, use cnc -V.

Usage

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

Wiki

https://github.com/cheton/cnc/wiki

Examples

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.

Contributions

Use GitHub issues for requests.

Pull requests welcome! Learn how to contribute.

Donate

If you would like to support this project, you can make a donation using PayPal. Thank you!

Donate

License

Copyright (c) 2015-2016 Cheton Wu

Licensed under the MIT License.

About

A web-based interface for CNC milling controller running Grbl, Marlin, Smoothieware, or TinyG.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • JavaScript 95.9%
  • CSS 3.8%
  • Other 0.3%