Post date: Jan 29, 2015 5:32:20 AM
I finally decided that enough was enough, and added real depth probing to my CNC mill. The BeagleBone has plenty of inputs to support it (I even have a spare with a pull-up resistor pre-soldered), and since copper-clad board is conductive (along with my spindle and tools), it was really easy to add a few wires, tweak the configuration, and have it working.
So now I can tell the machine to depth-probe a chunk of copper-clad board, then compensate the PCB's milling depth based on those heights. This isn't entirely automatic (you need to run the depth-probing gcode, then run a converter script to modify your gcode, THEN run the PCB milling gcode), but it's pretty painless. And the results are pretty darn good- I just milled a board, and things overall appear to be pretty darn even. There was one edge that seems to be cut too shallow, though. Maybe an aluminum chip got under there or something... there are certainly enough of them around.
I even improved my code to be slightly more flexible, and stuck it up on Github in case somebody stumbles on this page and finds it useful.
There would be pictures here but all there is to see is a couple of wires, which I didn't deem worthy of an image.
Keywords to help people find this: PCB milling, depth probing, depth compensation, linuxcnc