====== Install CNCJS ====== **Raspberry pi** \\ Setup a fresh install of raspian on a raspberry pi. Enable ssh, vnc, etc. as usual. **Download cncjs. ** \\ Note [[https://www.npmjs.com/package/cncjs|this site]] appears to have the latest code and NOT the intuitively named https://cnc.js.org/. **Install cncjs**\\ Follow the directions on https://www.npmjs.com/package/cncjs. **Setup cncjs to autostart** \\ mkdir ~/.config/autostart nano cncjs_autostart.desktop and enter the following lines into the desktop file. [Desktop Entry] Type=Application Name=cncjs_autostart Exec=sudo cncjs -p 80 This should allow the code to autostart. Note that sudo is required to use a non-default port (default = 8000). Note that 80 is the default html port (which I like because it makes connecting to cncjs easier). ====== Install grbl ====== TODO. complete this section. **Install grbl on your arduino (TODO add steps) inside of your raspberry pi.** **Log into your pi with VNC and install arduino IDE.** **Install the grbl library** **Upload to the arduino** **log into cncjs** Open your browser, enter , and cncjs should load. Make sure you can connect to grbl on your arduino. **Make sure basic functions work** If the spindle enable pins aren't working, comment out the line #define VARIABLE_SPINDLE inside Inside config.h. (inside the grbl library). Note that M3 or M4 is the gcode to enable the spindle and M5 disables the spindle. Apparently, there is a mixup in pins 11 and 12 somewhere for some shields or with the Uno. ====== Setup CNCJS and grbl ====== Next, we start tweaking the grbl settings to work with cncjs. **