Probe test on Arduino

The feed hold, cycle start, and probe pins all have the internal pull-ups active.

1 Like

It’s pretty simple. The Atmega328P has an internal active circuit (I think it’s a MOSFET) that pulls a given pin up to 5 volts when that option is programmed into the chip. It acts like a high resistance (about 37K ohms) so that you can turn the pull-up on and then use a switch to ground to pull the pin low and the internal pull-up limits the current so you don’t burn out the pin grounding it.

The same thing can be accomplished outside of the chip by hooking a resister between +5 volts and the pin. Then the resistor becomes the pull-up and limits the current through the pin when you ground the pin.

It’s a convenience offered by the chip maker to make wiring up switches easier.

No, actually you don’t have to hook up any of them if you don’t want to use that function.

The safety door off grbl was just something to see if maybe some of the new 1.0c was misbehaving.

1 Like

Were you able to successfully home with 1.0c? Looking through the code, GRBL would block homing if the safety door is tripped.

Again, I just mentioned it as a delta between versions as to what may be wrong.

1 Like

So what do we need to tell the machine to do?

  • Stop motor (safety)
  • Do everything in mm (prevent accidental use of inches)
  • Move from here max 3mm down at slow speed until bit hits the touchplate
  • Set this position as Z=19 (my touch plate thickness)
  • Move 1mm up from the touch plate surface
  • Pause the program giving me the time to remove the touch plate
  • Push the resume button
  • Move 20mm down
  • Reset Work position
  • End of program, ready to start a new job

This example works with Arduino UNO and grbl v0.9j and UGS1.0.9

AProbe38.2F10Z_3.txt (70 Bytes)


Set machine approx 2mm above the work area, do not forget to clip on your probe lead to the bit :wink: select the file and send. Remove the touch plate, push resume and the bit ends at the work surface top.

If you have trouble in finding the A5 pin you can also look for SCL which is a different name for the A5 pin. On my Shield:

So I had to add a resume button and probe connection to my Arduino


And a live demo automatic zero

do you a part number or dimensions for the plastic case?

110x70x55mm found at my electronic store, says Teko from Italy but I was unable to find it online.

Not entirely. This morning I knew nothing about G-codes and after some reading I used your macro from a previous post and added a software pause and hardware resume with follow up movement. Now I know that a lot is possible. If this works for one axis it can be done for the other axis too.
I tried to import this in Easel but that is not allowed. There is some confusion about the hard and software implementation of grbl in the X-Controller. So maybe UGS is easier to do untill Inventables adds a function in easel that does probing.

The z-probe feature in Easel will work with the original X-Carve. You need to run the machine setup under the “Machine” menu. It will get to a page asking if you have a z-probe. If you do have one that works with other software it should work with Easel. Be sure to select the advanced option on the z-probe setup page, so you can enter the height of your device (if not using the one sold by Inventables).

You will need to make sure your arduino is updated to 1.0.

That is in contradiction of anything mentioned before, @Phil from my understanding you are running 1c can you please test that?

First, I don’t use Easel.

This thread made me curious to the point that I installed Easel Local (0.2.7) and grbl 1.0c to try it on my Arduino/gShield electronics (purchased from Inventables around 7/2015).

Probing worked.

I just did a quick test to see if the probe would work on my test setup, which is not hooked to a machine.

No, Feed Hold, Cycle Start, or Reset hook up. Just probe and homing switches.

If you can give me more details on the symptoms of the failure you are seeing maybe I can duplicate that here and see if I have a problem under similar circumstances.

1 Like

After the positive message from Larry I decided to go to the bottom of this. Success

I went to the Inventables fork and downloaded the grbl library, copied the files to my Arduino and flashed my Arduino UNO with 1.0c. I upgraded Easel to version 0.2.7 and went to machine setup. Choose ShapeOko1 or 2, g Shield and finished setup. My ACME spindle differs from the standard so I used UGS to change that to the right value.

My touch plate is 19mm high and the Inventables only 15mm so the test pocket of 10mm deep should come out at 6mm. So it did.

I could not find a parameter for setting the touch plate thickness so my touch plate willl visit the lathe and lose 4mm.

I made no modifications to the Arduino. So with Easel I can use the Probe from Easel and with DevCAD where I get the g-code file I will use UGS and my macro file.


This is the first probe setup screen:

Press the Advanced Settings above continue:

1 Like


Seat of the pants guess.

Try it again with $6=0 and version 1.0c.

Go through the Easel machine setup screens as you normally would for a new machine.

After that is finished - make your grbl changes for your modified Z axis and homing switches, etc. as necessary.

Make sure that $10=115


Since you have to change firmware anyway - try the version of grbl that I posted for the laser group. It has a lot of testing on it and that’s the version I’m testing with.

Here’s the link if you want to test with it:

Post or send me a PM when you start testing and I’ll try to work with you to get it going.

1 Like

I got it to work. Basically made the upgrade to Easel, grbl and arduino as Erik just outlined. In order to upgrade my arduino (flash to 1.0c), I had to remove the g-shield, otherwise I was getting an error. And as Larry M pointed out, the Advanced Settings button on the Z-probe set up page is where you’ll need to enter the height of your touch plate.

It’s definitely not as simple to set up as it could be, but like everything else, once you get it working, it seems to keep working.

Sorry, but I’m not able to follow the g-code discussion ($6=…) But I can say that I believe my machine had the original settings (mid 2015). I can’t remember the pin I’m using to connect to the arduino, but it’s the same one listed in all the instructions out there that I found at one point.

1 Like

Do you know how to remove programs from your system using the control panel selection “Programs and Features”?

If so, remove Easel local before you start your testing and re-install it from the web site.

1 Like