Camera probe - X Y axis

I am using Mach3 to control my CNC. mach3 has plugins which can extend its features.

one plugin is the camera probe which can be used to zero the X and Y axis.

the offset from the camera centre to the spindle centre must be established.

I designed and printed a thingy which holds a cheap endoscope camera (7mm dia) the camera sits inside one of the Z axis pipes.

camera mounted in the Z axis rail

camera light on.


That is great! We had a PCB CNC machine that had a computer vision/camera solution for finding some registration points when you flipped the board. It worked pretty well.

unfortunately there isn’t any fancy fiducial recognition on this set up.

Heh, I was thinking the same thing.

Very cool. Can you use it to home Z-axis as well? By focus?

no i don’t think it would work. the camera has a long focal length. defiantly wouldn’t get the <0.1mm required.

I have a contact auto zero z probe for that


Id like to try Mach3 out. What control board are you using??

I’ve have a LPT port breakout board and KL-4030 stepper drivers.

I’ve had the setup for 10+years… it was previously on a different CNC


If I was buying everything now i would go with a USB breakout as most PCs now don’t have the LPT port, the LPT out only works with 32bit windows and i don’t think it works well with anything newer than windows 7.


Would you mind sharing the design file, if you have it? I’m curious as to how you executed it, as I’m looking to do exactly the same thing (albeit with a different camera). Thanks!

This would be awesome with an octoprint plugin.

What if you mounted a laser pointer crossing the field of view at an angle? Then you could estimate Z from the location of the spot within the image.

I’m using cnc.js (for cnc stuff; using octoprint for 3d printing, but I don’t print using the mpcnc), it already has the webcam plugin (physical or network stream) including the ability to overlay a cross. Very handy.

I’ve been using a camera to zero from the beginning, and I modified the Dewalt tool mount to accomodate the camera. However it means that I need to modify any mount I want to use, and it takes more space around the tool. Fitting in the pipe is brilliant.

I should have elaborated, it would be cool if there were a way to automatically register the workpiece based on the image stream. Maybe print some aruco tags on stickers and it should be possible to get precise positioning, at least in x and y.

I havent looked at cnc.js and whether it is easy to add extensions, but octoprint appears to have a plugin framework that would allow someone (me) to maybe implement something like this…

CNC.js also has the ability to add plugins, although it’s a bit less automatic than octoprint.

There are also pendants, which also look sort of like plugins to me :).

It seems to me like there are at least two issues with that:

  1. What features are you going to use for the 0,0? The lower left corner of a workpiece would be pretty good, but I am often cutting things out, so a little inside the corner is my preference. But then some designs might be the center or the upper right.

  2. Once you know what you’re looking for, being able to find it (assuming you’re starting close) shouldn’t be too hard from a CV standpoint, but you need good conditions for CV (good lighting, focus, exposure, some actual features). I don’t think a sticker would be necessary, unless that’s what you’re planning on using to determine the 0,0.

I think it’s cool, but I’m not sure it’s that useful. There was a PCB milling machine at my old work that had a camera system. It had a vac table for clamps and it would look for each corner and adjust for skew. I don’t remember how it determined Z.

Esko’s machines can use fiducials. With the right hardware it can print onto adhesive vinyl on one machine then move to another machine that registers the markers, then cuts out the sticker shapes.

The laser engraver I have at work has a camera on the laser head that can register markers and skew/rotate cut jobs based on them. Very useful for cutting out printed media.

Lightburn has an option for a camera that is useful. You can put a work piece on the table top in any orientation, see it with the camera, overlay that image with whatever Lightburn image you want to burn on, rotate or align however you want it and laser away. I mounted a simple netcam over my MPCNC that works very well.

Super cool!