Shapeoko 3 XXL + Raspberry Pi 3 + CNCJS + Tablet

(EJ Ciramella) #21

Flashed the board successfully, still nothing in CNCjs.

When I click the “open” button in cncjs, I can hear the Shapeoko make the sound (as if all the steppers are now locked). But when I click “homeing” it does nothing. In the console, I can see the $H being passed, but no luck.

Hmmm - I also see this:

Grbl Widget
This widet shows the Grbl state and provides Grbl specific features.
Set $10=2 for Grbl v1.1d (or $10=15 for Grbl v0.9) to see planner buffer and receive buffer in queue reports.

I put that in the Grbl console and hit enter, but that didn’t seem to get “stored” anywhere. FWIW - connecting carbide motion V4 works perfectly, so I know it’s not the board…

Still poking…

(EJ Ciramella) #22

Shouldn’t this be ttyUSBX where X is 0, 1, or 2?

(Tito) #23

Doesn’t the board communicate at 115xxx whatever? Looks like your software is trying at 250000 baud?

(EJ Ciramella) #24

holy moly - @tito you’re my hero!

How’d you know that?!

(Pierre LaFromboise) #25

I hope that it is working for you now. The default baud rate for GRBL is 115200. Older version use a slower rate and I believe that you can recompile GRBL to use something else. But, again, the standard is 115200. Also, the controller should be connecting to a ttyACM port like you’re seeing. ACM stands for abstract control model and it is a standard subtype for USB communication devices. Basically, it allows USB to act like a serial port and should be compatible with the older RS-232 communication standard. None of that particularly matters other than that is how it should show up in CNCjs.

(EJ Ciramella) #26

I was able to finally get one device to show what the other had loaded and started. I just had to click “open” on the second device.

However, it’s really herky/jerky for circles, but not bad for squares, thoughts?

I did flash the board to grbl 1.1 and had no issues.

(EJ Ciramella) #27

What is the F, S, and R near the GRBL widget? Is that feed/speed/something?

14 PM

I feel like the jerkyness is tameable with these settings, but I could just be imagining all of it…

(EJ Ciramella) #28

FWIW - I plugged the shapeoko into my laptop and just ran the same gcode through carbide motion and it was flawless.

So it’s something in my cncjs configuration. I’m open to all ideas :-/

(EJ Ciramella) #29

More breadcrumbs…

(even though my ENTIRE project is just ONE 2" circle, cut as a .5" deep pocket)

(EJ Ciramella) #30

@yfi - I’m wondering if all my issues stem from running a Raspberry Pi 1 Model B revision 1.2. I’m starting to think it just doesn’t have enough juice to keep the buffers flooded…

I’m going to try overclocking it a smidge tomorrow AM. It currently runs at 700 mhz as where the Raspberry Pi 3’s run at 1.2 Ghz…

If it doesn’t work, or goes pop, then I’ll pony up for the Raspberry PI 3 and a much better SD card and try again.

And if it all doesn’t work, well, then I’ll throw more money at this problem and turn all my rasberry pi’s into webcams and attach a fanless computer to my shapeoko :slight_smile:

(EJ Ciramella) #31

Welp - I think we can close this thread.

I hooked up a Dell10v (yeah yeah, me and my commodity hardware…) and it runs just fine. No stuttering, no stumbling.

The original raspberry pi I was using was a Model B, version 1 ( I even overclocked it up to 900mhz and still saw the stuttering. The issue was the planner buffer was getting saturated (I could see it get full in the grbl widget). As I understand it, that means that the Shapeoko Grbl board is waiting for instructions. I understand it’s just waiting a few milliseconds, but it’s stuttering none the less.

The Raspberry Pi 3’s have a 64 bit quad core 1.2 Ghz processor. That’s 2x the power of this old Dell 10v (roughly).

Again, the goal is to create a dust proof CNC setup so I’m off to find one of those bad boys.

Hope this helps someone out!

(michael sonst) #32


So is the final conclusion here “works reliable with PI version 3”?

@yfi: you’re using this setup for quite some time now.
Would you still recommend it?


(Yacine Filali) #33

Yes, definitely recommended, although I haven’t really upgraded CNCJS on it in a while. If it ain’t broke don’t fix it kinda thing. My rpi3 hasn’t caused any problems at all and runs very well (haven’t even rebooted the thing in months).

My Fusion 360 export and upload to CNCJS is done on my laptop, and I just run the job from the safari browser on an old iPad 3 on a flexible arm mounted under my workbench.

(Caluwiero) #34


I’ve emplemented Almost the same setup (excluding the iPad)

If I zero out the axes on my start point and hit play, my project isn’t cut deep in the wood. It stays far above it.

I created the file in Carbid create with the stock top as start point.

What am I doing wrong?

(William Adams) #35

Usually such problems come down to a disconnect in how zero is set relative to the stock.

Other times it’s a problem with how the # steps / mm are calibrated — see:

Or, it’s a mechanical problem:

quite often it’s insufficient belt tension — I find the Z-axis needs to be guitar string tight (but careful not to bend the motor shaft)

(Caluwiero) #36

Hi William

The Z axe motor was missing his screws…
i’ve added one (I only had one in my shop, but oreerde some new), homed my cnc and everything is working! Thanks!!!

In cncjs: is it okay to zero only the work offsets? I can’t zero the machine xyz… or is this normal?

(William Adams) #37

No experience with cncjs. Carbide Motion 4 works a little unusually compared to most G-Code senders. It’s my understanding that when one sets zero, it’s programmed into the machine as a work coordinate system (G54 I believe) and the software tracks where that offset is relative to the machine bed.

(EJ Ciramella) #38

Yep! Works great! I have many hours with this set up and am thankful for the OP that turned me on to this!

(michael sonst) #39

Could one of you guys (@eciramella, @yfi ) post the part of rc.local you added to autostart it please?
It looks like some env vars are not present during that time.

Much appreciated!

Thanks Michael

Edit: solved

Open crontab
crontab -u USER -e

Paste the following into Cron Tab [ NOTE: which cnc and which node # used to find location of application and env (remove node from env… )]
@reboot env PATH=$PATH:/home/USER/.nvm/versions/node/v4.5.0/bin /home/USER/.nvm/versions/node/v4.5.0/bin/cnc >> $HOME/cncjs.log 2>&1

(EJ Ciramella) #40

I’m lame and used Chef for all my things and use pm2 to manage/run cncjs :-/