I received my Shapeoko 3 XXL 2 weeks ago and have been putting it through it’s paces. One of the things I didn’t like with the normal setup was having to lug my laptop into the garage where my S3 lives. That led me to look at grblweb on a raspberry pi which was easy enough to get going: http://xyzbots.com/grblweb.html
Grblweb was ok and worked nicely with the shapeoko, but I didn’t like the user interface much especially the preview pane. You also can’t customize the different panels/widgets, and it doesn’t support the shuttle express, also the nodejs code is just too old and hard to maintain or modify.
A better alternative which I did not see mentioned much is CNCJS:
Here is how I got it working on the Pi3:
1- I installed the latest Raspbian OS on the PI3
1a- If you know how, tell your wireless router to always assign the same IP address to the MAC address of the Raspberry Pi. Alternatively, configure wifi on the pi to be a static IP so you can easily login to it via a web browser.
2a- Give a nice short name to your pi by running raspi-config from a terminal, then Install avahi-daemon on your raspberry pi: “sudo apt-get install avahi daemon”. This will let you find it via that short name pus “.local”. I named mine pi3 and I get to it by typing “pi3.local” into safari on the ipad (bookmarked).
2- I installed nodejs and cncjs using the git instructions (since I’d like to customize it a bit). If you don’t plan on modifying it, use the simpler default instructions)
My current workflow:
1- On my mac, I use fusion 360 to post process using the carbide 3d profile.
2- I open “http://pi3.local” in a browser and click “Upload Gcode” in CNC.JS and pick the gcode file.
Now everything below is on my tablet (any tablet with a browser, I use an old iPad):
3- I walk over to my S3 and turn it on. I then tap the homing button. (notice the gcode uploaded from desktop appears on the iPad preview ready to run.
4- I click go to G28 position (opposite corner from home for me, you can also set G28 and G30 positions to anything you want through cncjs).
5- I move the machine to the corner of my stock and zero out the working offsets. I store this in G30 if I will be running multiple jobs on the same position stock.
6- I raise Z, turn on the Dewalt, and tap the play button above the preview window. At this point CNCJS shows me the position of the bit in the preview window in sync with what the machine is doing.
7- I drink beer while waiting for the job to finish (I still like to watch it do it’s thing)
Hit me with any questions while this is still fresh in my memory!