[Resolved] -Jogging X & Y goes 3x the distance whether mm or inches on new X-Carve

i have a just built a never been used 500m X-Carve. there are two issues:

  1. when i click on the Jog buttons, the Z-Axis works fine, but the X&Y axis move 3x whatever step-value i give them, this is true in both mm or inch mode. i’ve used a ruler to find these out.
    also, because i’m pretty sure it’s relevant, i’ve tried a dummy run (without any bit) and found that the carve also seems to be VERY much (if not 3x, also) enlarged. what is up with that?
    i’m using the most recent version 9j of grbl. i have not used a terminal emulator, yet, but i could.
    the 2nd prob i’m having i know should be started in a new thread.

thanks in advance for your help…
Russ from Coral Springs, Florida, USA.

Did you run Machine Setup on Easel. That is one time deal, puts all correct values into your Grbl.

Alan, thanks for the quick reply,
yes, i went through the Machine Setup. i’ve actually done this a few times.
i should add, i’ve gone through a “virtual” (no bit) carve (i made a short “TEST” carve in small font. it basically did the same thing - very large, and the offset from 0,0 was supposed to start the carve @ 1"x1" and it appears to be @ more than 3,3", although it did get through the carve without bumping any limits.
I want to also add, that on the GShield there are jumpers for each axis and while the Z-axis has a jumper on MS1 (as opposed to MS0), the other two axis DO NOT have jumpers on either of the 2 options (MS0 & MS1). my experience with MS0 & MS1 (etc) on other stepper modules has been that these jumpers can set the Step Resolution. being that there is a jumper on the Z-axis and that seems to be working correctly, could it be possible that i need to put jumper connectors on the Y-axis and X-axis MS0 pins, too???
… as a follow-up:
yes the MS0 and MS1 jumpers do change the step resolution…
but no, they only make matters worse
so, that’s what the jumpers do, but the jumpers are not the anwswer.

thanks for your help,
Russ from Coral Springs, FL.

The jumpers on the Gshield are correct, only the Z axis is supposed to have a jumper.

Thanks, I fig’d that out by some testing, also. darn it! i now have a jumper only on the Z-axis as in your pic.


1 Like

Can you get a parameter list from grbl using the $$ command?

If you fire up Easel, go to Machine on the menu, select Advanced, select Machine Inspector. In the console box, type: $$ and enter.

This will give you a list of parameters that is set in Grbl. I suspect what has happened is that you have a default Grbl loaded that isn’t using the Inventables defaults.

Get those numbers posted, and I’m sure we can resolve this. :smile:



1 Like

Ian & Larry,
THANKS - this would be great! I did not know of that functionality. I’ll get right on that tonight. and post back what i read.
My next thrust would have been into reading the GCode settings.
I appreciate the help.

Russ from Coral Springs, Fl.

So, I went to advanced and clicked on “Machine Inspector”.
a page came up that when I scrolled down a bit, i could see what looked like the gcode listing. it had a refresh icon on the screen, and when i clicked on it, nothing appeared to happen - it could have refreshed with the same codes and just appeared like it didn’t do anything.

In the “console” box at the top of the window, I entered “$$” & clicked Enter. I got no appearance that the (what i suspected should have happened) listing had happened.
attached is the code listing that was there when i went into that Machine Inspector screen.

thanks for your help.

My bad, I gave you a mix of instructions from Easel and Chillipeppr. I do apologise. :frowning:

But on the plus side, you defo have the wrong configuration in there, hence the strange movements you are seeing.

Probably the quickest fix is to flash the Arduino with the Inventables version of Grbl which comes with the correct numbers. Instructions on the forum, I would link to them but can’t from my phone. I would highly recommend doing this as I’m not sure what else you’ll be missing if you don’t.



Your configuration is all out of whack.

In the Easel Machine Inspector, on the Console line, you can type the correct values to change them. So, for instance, for $25 (homing seek) you have 500 and it should be 750. So on the console line, type $25=750 and it should change that value. do this for any values that you see here which are different from what yours are. from what I can see, from $100 to $122 all need to be changed, except $102.

Here’s a list of the correct values for an X Carve 500 with an Acme Z rod and homing switches.


Mike, thanks for the reply. I’ve done a lot of work with Arduino over the past year or so, so I’m versed somewhat in the UNO. now
I went to GBRL and got the 9j library,
Popped the library in my Arudino Library folder
opened my Arudino IDE,
added the gbrl-master to my libraries
loaded the example/gbrlUpload.ino
Uploaded that to the UNO and it ended with no errors.

i’ve done that on 3 different UNO’s, one of which was new out of the box.

I feel that we’re getting down to the crux of the matter. and the fact that

  1. my GCode setup on the UNO is all out of whack
  2. in Machine Inspector it seems to get the correct com port & connect, but i cannot enter any g-Code into it and get the data listing to update.

Should everything up and including the Machine Inspector work even if I don’t have the GShield connected, and just have the UNO connected to my notebook? or is the GCode that we’re reading, reside on the GShield somewhere?

the fact that those numbers (be they incorrect or not) seeme to be being read from wherever it’s supposed to be reading them from (either the UNO or the GShield). but that’s about it, I’ve also tried to load other GBRL “readers” and i’ve had similar luck being able to push $$ over to the UNO and all the apps.

so, maybe i’m not loading the UNO correctly? i hope that’s it, cause that would explain a lot of stuff.


Thanks, Larry,
we’re pretty much on the same page.
When i said “monitor” i meant what was on my computer screen for that page in Easel’s Machine Setup.
Those pull-ups are internal to the UNO & therefore electrically “before” the pins, so their state should not change without any connection to the pins. the pins don’t need anything connected to them in order for the UNO to detect that the 5v is still there. I also would assume that there very low probability of “noise” coming in on those pins through the air now that they are so electrically/physically distant from any of the motors.

that being said - I’m almost certain now that you are correct in that my situation on this is different. My not being able to connect via Machine Inspector or through other software packages I’ve tried, (GCode Teleporter & CarbideMotion GCode Sender). I WILL try HyperTerm next. Darnit, I can’t stand the fact that I have to wait until 5:00pm to go Home & try these out. this is kinda why I was asking if I could do all this stuff without the UNO being Attachce to the GShield board. If I load my UNO with gbrlUpload, can I play with hyperterminal and other terminal programs to load & edit GCode? is the GCode on the UNO board or the GShield?


The grbl code runs on the Arduino and uses resources on the gShield to run the motors.

G-code is generated by a CAM program and downloaded to the machine via something like Universal G-Code Sender or ChiliPepper.

Easel puts both of those steps in one program.

What’s your $$ output now?

Larry, that’s the thing. When I use Easel and bring up the Machine Inspector, the 1st thing i see is the interface where it PROMPTS me to enter G-Codes and shows a listing of codes below. now this is right at the startup of Machine Inspector, before i’ve done ANYTHING. I’m assuming the codes below are the initial read of the G-Code that’s currently on my UNO.

  1. While i’m allowed to enter codes @ the top of the interface and click on the “>” arrow, it appears nothing happens when I do that.
  2. if I enter any G-Codes in the Enter G-Code box, I’m alowed to enter the code, but when i click “send”, again, nothing happens.
  3. If I click on the Refresh (green) icon, nothing appears to happen.

just a reminder, i’ve run the gbrlUpload from the Android IDE interface and I received no errors.
I’m able to run Easel, and it lets me Jog all motors back and forth. and even when i have it connected with the pin, i can Turn on & off the spindle motor from the software.
this would tell me that the UNO board has enough programming on it to correctly send at least some correct messages thru to the GShield.

yet, i’m apparently not able to get into the G-Code from, well, at least Machine Inspector (which is part of the program in Easel!

I feel that there is something i may have been missing in the install, that would allow the UNO to communicate with Machine Inspector.

Russ from Coral Springs, FL

Ok, I don’t use Easel so I can’t be much help there, but if you want to go an alternate route just to see if your machine is working right and prove that it’s an Easel issue I can help you with that.

What you would need is a terminal program, something like HyperTerminal or Putty. Alternatively, we could debug using Universal G-code sender.

G-code doesn’t reside on the UNO. The grbl software on the UNO interprets G-code commands sent to it by some other program, in your case it’s Easel. Others use Universal G-code Sender, or ChiliPepper.

If you want to bypass Easel just to check your machine, I can help you with that.


I feel that there is something i may have been missing in the install

Did you install Easel Local?

i did install Easel locally. I thought i hadn’t, but when went to do the install, I found that through my Chrome, I can bring up that “Easel Local is up and running” window.
Ive downloaded and installed HyperTerminal v7.04 and also Putty, and i’ll try them when I get home this afternoon, also.

I’d like to clarify the GCode thingy again.
you say that the G-Code doesn’t reside on the UNO.
Maybe I should be clearer.
I’ve been using Machine Inspector on Easel, but as I know now, there are any number of comm programs out that that can also communicate via UNO’s comm connection.
Hypothetically, Let’s say i’m using HyperTerminal and connect with the UNO via it’s open comm port, for example Com 07.
If I send (from HyperTerminal) the command $$ to the UNO, the HyperTerminal screen(window) SHOULD return a listing of what ARE G-Codes, right? they represent the parameters to be used by whatever the code in the GRBL libraries will convert to when it communicates with the GShield.

Maybe I’m so off on this, that I’m explaining something that’s totally off the mark. but I guess my big question here is WHERE are the G-Code residing that get sent back to the Communications Program (HyperTerminal or whatever) when the $$ command is sent over to the UNO/GShield?

If the code setup parameters reside on the UNO, then I can possibly test out my G-Code communications with only usint the UNO, if these codes are residing on the GShield board, and the get accessed through the UNO requesting them, then i would have to have GShield ON the UNO to test out my comm systems.

You are confusing the configurations settings that reside in the Uno with the Gcode that is generated by Vcarve (or Easel or any other toolpath generator).

The configuration settings that you see with you send the $$ command are the settings that define things like how many steps of a stepper motor = 1 inch, and if you have limit switches or homing switches installed. These configurations settings have nothing to do with the gcode.

The gcode is basically a programming language that your design program (like Vcarve) uses to instruct the X-Carve (or any CNC) how to move the cutting tool in 3D space to produce the design you created.

The Post processer in Vcarve is a translation tool that makes the generic gcode produced by Vcarve understandable by the X-Carve controller (Arduino Uno/Gshield).

From another thread------

Russ, if you would like to do this for the experience that’s great, but if your main goal is just to get homing working and a way to prevent your X-carve moving outside the workspace and crashing there is a simple way to do that with what you already have.

Ok, back to this thread.

My bad, by Easel Local I meant the driver portion that the web program uses to talk with your machine. If you can jog your machine with Easel then it’s already there.

Here’s an overview to help out with the discussion. The Arduino runs some firmware that is
called Grbl. The gShield does not have any software capability it is mainly the stepper motor drivers and some pass through pins to the Arduino.

You can send commands to Grbl via the serial port.

Grbl stores some configuration information about the machine it is controlling. $$ is a Grbl command that tells Grbl to output a list of the parameters settings that it has stored on the Arduino. You can issue other Grbl $ commands which will change the parameter settings and perform a few operations. For example, the command $H is a Grbl command that tells Grbl to home the machine.

In addition to the above functionality the Grbl software will accept G-code commands and execute them to accomplish a CNC task such as move the spindle to a particular location.

The G-code resides on your computer in a text file that any text editor can open. Several programs have been developed to send this file to the Arduino for Grbl to process. Easel is one these programs which also contains other functionality. If you wanted to you could pass each command to Grbl using a terminal program, but it sure is nice to have something else do it as many designs require 100s of thousands of G-code commands.

Alan, you are correct. I wanted to refer to the parameters for the basic settings that reside out (on what you say is) the UNO board. we can access (read 'n write) parameters on the UNO via sending G-Codes to the UNO.
so - if we know that the parameters reside on the UNO and not the GShield, then I should be able to take a “Programmed UNO” and use a Terminal program to communicate my G-Codes to the UNO & read and change parameters there without having to have the GShield attached to the UNO.
thanks, for the clarification.
someone who wants to get up to speed on all this as soon as he can,