Z axis was erratic..now I've got bigger problems

Hoping for some help. I was carving today and all of a sudden the Z axis went crazy and started digging into work piece. After hitting the E-stop and restarting, the z axis was erratic… sometimes moving up, sometimes down when jogging with the up arrow( using UGS). This is not the first time this has happened but usually I can run the setup in Easel and it straightens out. Not today. Tried everything. Rebooted, checked wiring, everything.
I finally decided to re-flash the Arduino following the steps from the Support center using the Arduino IDE. Everything goes ok until I upload the Inventables fork of grbl. It says there is not enough space to upload. I have re-flashed before with no issues.
So I decide to try the Xloader to upload hex file. It uploads fine and the green lights on the board light up, but when I try to run machine setup in Easel, it will not connect and the green lights go out.
I also tried to upload the hex file and then go straight to UGS and as soon as I hit open to connect the green lights on the board go off. If I try to jog any axis I get the message “grbl has not finished loading”
Sorry for being so long winded. Anyone have any ideas?


I would look up Roberts how to adjust the potentiometers with a voltmeter.

Before you refreshed using the IDE, did you open the EPROM clean (I think that’s it, not at my cnc computer) and change the value to 1024 then upload the eprom clean code to the board to erase all the config. I had to do that before the upload of the 9j grbl would work. I had the same symptoms you have with grbl, not sure on the Z issue but let’s get your software back on the arduino first.


Yes I did the Eprom clear every time before attempting the grbl upload. Did not change value to 1024 though. Right now I don’t know where that value is ( sitting at another computer right now). I will hunt it down as soon as I finish my chores ( if I ever do…have quite the honey-do list :sob:

Where do you change value to 1024?

So in the eeprom clear program that you open there is a line that says i < 256, you need to change that to I < 1024. It should be the first instance of it inside the parenthacies() of the for loop.


Obviously I am doing something wrong here. This is what eeprom clear has showing:

Rather than hard-coding the length, you should use the pre-provided length function.
This will make your code portable to all AVR processors.

for (int i = 0 ; i < EEPROM.length() ; i++) {
EEPROM.write(i, 0);

// turn the LED on when we’re done
digitalWrite(13, HIGH);

void loop() {
/** Empty loop. **/

No 256 that I can see.
Getting very frustrated. I’ve done this before with no problems. Also if I use eeprom clear and then close Arduino IDE and use Xloader to load the Inventables hex file it loads and green lights come on until I try to connect with Easel or UGS.

Thanks for your help so far!

Sorry, my mistake, replace the i < EEPROM.length () with i < 1024.

Yeah, I had the same issue with the Xloader, wouldn’t work for me. I had to clear eeprom and upload the grbl via arduino ide.

Well, that didn’t seem to work. Here is the error message I get when trying to upload grbluploader sketch:

rduino: 1.6.11 (Windows 10), Board: “Arduino/Genuino Uno”

Sketch uses 32,266 bytes (100%) of program storage space. Maximum is 32,256 bytes.
Global variables use 1,507 bytes (73%) of dynamic memory, leaving 541 bytes for local variables. Maximum is 2,048 bytes.
processing.app.debug.RunnerException: Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it.
at cc.arduino.Compiler.size(Compiler.java:334)
at cc.arduino.Compiler.build(Compiler.java:158)
at processing.app.Sketch.build(Sketch.java:1111)
at processing.app.Sketch.exportApplet(Sketch.java:1146)
at processing.app.Sketch.exportApplet(Sketch.java:1132)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2409)
at java.lang.Thread.run(Thread.java:745)
Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it.

This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.

Think I’ll take a break from it and watch some football. Big problem is I have a couple of people waiting on some projects. OH well, they can wait

Anyone have any ideas?

So after hours of fooling with this I still cannot pinpoint problem.

  1. Using Arduino IDE to clear eeprom and reload Inv. fork of grbl, I get an error saying sketch is too big.
  2. Using Arduino IDE to clear eeprom then using XLoader or AVRDUDE to load grbl hex file, it acts like grbl has been loaded successfully and all the green lights come on on the board.
    A) when I start Easel machine setup, the lights start going off and on. Terminal switches repeatedly between “connection open and connection closed”
    B) If I skip Easel and go to UGS after loading grbl with XLoader or AVRDUDE, the lights go off when I open connection(although it says connected). When I try to jog, I get the message “GRBL not finished booting”

I’ve run out of ideas. Arduino gone bad???
All help appreciated!!

Stan -
The only thing I can think of is to try the EEPROM clear again and then try using Arduino IDE to upload the latest release of GRBL and not the inventables fork. https://github.com/grbl/grbl That should be where you can download the latest zip release of GRBL. Then follow the directions here to compile and upload to you Arduino https://github.com/grbl/grbl/wiki/Compiling-Grbl


Thanks very much for your help. I will try that.
I guess no one else has any ideas or they are all busy carving:grinning:
Thanks again,

I’m just sitting here with a beer wondering what proms and gerbils have to do with the CNC… :laughing:

It’s all over my head, for now, but I’m glad it’s getting documented in a public forum like this so there’ll be somewhere to go if/when I ever get into trouble that I can’t fix with a bigger hammer.


Robert, I’m about to pop a a brew myself and celebrate. I just went back out to the shop with an old laptop that I traded out with the one I have been using for a couple of months,
Went back through the reflashing steps using old laptop and everything worked fine:smiley:
I’m back in business!!! I don’t understand what is going on with the newer laptop as it has been doing fine for a few months.
Of course, this is first time I tried to flash Arduino with it.
Now i’m not sure if I want to switch back to it or not. The old one I just put back into service has a screwed up screen that comes and goes though.

1 Like

Can you get a cheap monitor and plug it into the old laptop? I had my screen get trashed by a 6 year old’s foot, but was able to limp by with a $5 yard sale monitor and a VGA cord. Not much of a solution for my X-Carve though, since the laptop sits on a wing that I drop down whenever I’m not carving…

I went ahead and hooked newer laptop back up and it seems to be fine. For some reason it just didn’t want to load grbl???
Now to recalibrate the steppers!

1 Like

Glad to hear you got it working. Strange about the laptop, is the old one 32bit and the new one 64bit? Just trying to figure out what would cause that, grasping at straws :blush:

Which version of the Arduino IDE do you have on each machine? Are they the same?