ShapeOko Accuracy. Really.

Okay, yesterday’s installment found me annoyed at the accuracy of my ShapeOko.

This evening I fixed it for real. Repeatable and within the limits I set for myself.

Now I’m happy.

Here is what I did:

I cut off a 16″ long scrap of MDF and clamped it to the table. Then I used my hole array generator script to make a series of .234″ diameter holes on 3″ spacings along the long (X) axis. Why .234″? Well I had some dowels cut that were .234″ diameter – that’s the hole size in a 1911 grip. I figured since I was using an 1/8″ end mill I could make whatever size hole I wanted.

Anyway, I bored a row of holes and then measured the center-to-center distances and wrote them down.

A series of holes.
A series of holes.

The first run was off, as I expected. The total should have been 15″, but it ended up at 14.957″ with a pretty consistent hole-to-hole spacing. So I calculated the correction factor and entered the new steps/mm (43.700) value into GRBL.

Then I ran another row of holes. This time the hole-to-hole spacing was 3.000 +/-.005 and the overall measurement was 14.998″. I’ll take that!

Just for grins, I ran it a third time and got the same results. Wha-hoo!

Next I turned the board 90 degrees and wrote another hole pattern. I could only do four holes on 2″ spacing but that should do it. The Y travel is only about 7.5″ total.

The Y axis steps/mm were set to 43.717, so it was already close to the X value. When I ran the holes, they were all within .001″ center-to-center with an overall measurement of 6.000. Wow.

I ran it again, and this time the overall was 6.009″. So I changed the steps/mm to 43.700 to match the X axis and ran it a third time.

The hole-to-hole spacing came out at +/-.001″ and the overall was 6.002″. I’ll take that.

So now I’m happy again. I should probably double check the Z axis, but I’m not sure the best way to measure that. My cutters aren’t all that long. I think it’s probably close enough anyway.


Running total costs.

All Shapeoko CNC Mill Posts.

%d bloggers like this: