[SOLVED] 883 won't measure tool

So I had gotten my 883 “Classic+” out of storage and managed to compile (using Rob’s config.h) and install grbl1.1h. I initialized and jogged it around and called it good.

Then I let it sit until the other day, when I thought I’d resurface the wasteboard. I chucked up a 1/4" endmill, hit Load New Tool and when the machine went to measure it I got the error

BS003: The BitSetter probe did not activate while probing.

and the Z axis retracted to the limit switch and the machine disconnected from CM.

This error (with the same behavior) has been mentioned before in the context of a Shapeoko, but nothing that I have been able to find about a Nomad.

I know the switch is good because I can go into diagnostics, activate by hand and get the dot in the radio button. I have also tried activating the switch manually while the Z axis was moving down towards it, just to see if maybe the Z travel while measuring the tool was insufficient. Same error message and Z axis behavior immediately upon activating the switch.

My nomad883.json is

{
    "bitRunnerEnabled": true,
    "bitSetterEnabled": true,
    "bitSetterX": -220.0,
    "bitSetterY": 0.0,
    "bitZeroType": 2,
    "connection": 2,
    "hasLaser": false,
    "lastConfigSent": 0,
    "lastProbeIndex": 0,
    "lastSizeOption": 0,
    "odometer": [
        {
            "cleared": true,
            "minutes": 0.0,
            "startDate": "2025-08-18",
            "travelX": 5.290700167417526,
            "travelY": 5.290700167417526,
            "travelZ": 0.3937000036239624
        },
        {
            "cleared": false,
            "minutes": 0.5008000000000004,
            "startDate": "2025-08-20",
            "travelX": 345.76259598881006,
            "travelY": 67.32140011154115,
            "travelZ": 97.6954999360023
        }
    ],
    "showCarbideRouterRpm": true,
    "spindleType": 0,
    "travelX": -225.0,
    "travelY": -225.0,
    "travelZ": -120.0,
    "version": 0,
    "webhooks": [],
    "workOffsetX": 0.0,
    "workOffsetY": 0.0,
    "workOffsetZ": 0.0
}

and my $$ log is

    ok
    ok
    ok
    ok
    ok
--> $xG92.1G49G10L2P1X0Y0Z0G54G21G90
    ok
    [PRB:0.0000,0.0000,0.0000:0]
    [TLO:0.0000]
    [G92:0.0000,0.0000,0.0000]
    [G30:0.0000,0.0000,0.0000]
    [G28:0.0000,0.0000,0.0000]
    [G59:0.0000,0.0000,0.0000]
    [G58:0.0000,0.0000,0.0000]
    [G57:0.0000,0.0000,0.0000]
    [G56:0.0000,0.0000,0.0000]
    [G55:0.0000,0.0000,0.0000]
    [G54:0.0000,0.0000,0.0000]
--> $#
    ok
--> N0G4P0.5
    ok
    $132=100.000
    $131=250.000
    $130=250.000
    $122=270.000
    $121=270.000
    $120=270.000
    $112=1270.000
    $111=2600.000
    $110=2600.000
    $102=200.000
    $101=88.889
    $100=88.889
    $32=0
    $31=2000
    $30=10000
    $27=2.500
    $26=25
    $25=1000.000
    $24=50.000
    $23=0
    $22=1
    $21=1
    $20=0
    $13=1
    $12=0.010
    $11=0.020
    $10=255
    $6=0
    $5=0
    $4=0
    $3=3
    $2=0
    $1=255
    $0=10
--> $$

Does anyone have any ideas and/or experience with this? It isn’t something I can go to Support about because it is self-inflicted on a decade-old machine.

I can’t think of anything–the switch works, it is enabled in nomad883.json and CM knows when the switch has been activated. I don’t see anything in config.h that would affect this, but I’m not a grbl expert by any means.

Thanks for reading this far! :slight_smile:

[EDIT] I have gone through Set Up New Machine several times with no effect.

2 Likes

Recompiled and uploaded 1.1h, resent all the $ values from 2017 and all works well now. Load New Tool measures the endmill correctly. So some unspecified user error… :slight_smile:

2 Likes

While it’s still fresh, I believe some folks might find your writing up what was involved in compiling and re-flashing Grbl of interest.

1 Like

I will do that, Will. It will help cement in my mind the flailings I went through… :slight_smile:

It was a kick taking .030" off the old MDF spoilboard and removing the 2017 scars! :grinning:

2 Likes

Once I surmounted the learning curve, there really wasn’t much to it after all. says the voice of painful experience

I downloaded the 1.1h source code and unzipped it. The resulting small directory tree contains a folder called grbl. That is all we need to build a working grbl.hex.

There are a bunch of source codefiles in the grbl folder. The two we need to be concerned with are config.h and defaults.h.

defaults.h contains settings (sizes, speeds, accelerations, etc.) for a number of pre-configured machines, several of which are Shapeokos. I added a nomad883 section.

For the 883 Classic, config.h needs to have homing enabled, the (non-existent) door safety switch disabled, and the nomad883 default settings loaded (the latter for convenience).

Here are copies of the two files as I edited and used them:

defaults.h (30.2 KB)
config.h (42.3 KB)

You can just swap these two files into the grbl folder in place of the stock ones there already.

To do the compiling and flashing, I used the Arduino IDE (Integrated Development Environment) version 1.8.19 which installer I obtained from https://www.arduino.cc/en/software.

There is an excellent tutorial on how to actually compile (using the above-mentioned folder) and upload the hex (both of which happen automagically) which I followed exactly.

Once this is done, fire up CM (651 in my case as of this morning…), open a log file, go to MDI and send $$ to the Nomad, and look at the resulting log entries to verify these values. You may need to update some by hand by sending $n==nnn through the MDI:

$132=100.000
$131=250.000
$130=250.000
$122=270.000
$121=270.000
$120=270.000
$112=1270.000
$111=2600.000
$110=2600.000
$102=200.000
$101=88.889
$100=88.889
$32=0
$31=0
$30=10000
$27=5.000
$26=25
$25=1000.000
$24=100.000
$23=0
$22=1
$21=1
$20=0
$13=0
$12=0.010
$11=0.020
$10=255
$6=0
$5=0
$4=0
$3=3
$2=0
$1=255
$0=10

And my 883 Classic+ is running grbl 1.1h under CM 651! :grinning:

4 Likes

This topic was automatically closed after 30 days. New replies are no longer allowed.