I've been beefing up on my CNC PCB milling (AKA "mechanical etching") knowledge over the past few days as I await the arrival of the new spindle. It seems that one of the greatest challenges in using a CNC machine to mill copper clad board into a PCB is the fact that we need to skim off about 0.005" worth of copper from the board and the boards are not uniform in thickness. Poul-Henning Kamp came up with a brilliant solution to solve this issue and has created the framework for height probing. In essence, his idea is to have the machine map the surface of the copper clad board and find the high/low points. This data is then melded into the CNC code to adjust the milling process to the uneven surface. His innovative thought was the beginning that started a few other people to create code based upon his idea that works with various CNC controllers and PCB creation software. I found a few combinations of software sets, but no pre-canned path among the software I'm using which is:
Here are a few of the combinations:
Eagle>PCBGcode>Python height mapping>EMC2
Target 3001>Visual Basic height mapping>Mach3
Eagle>Target 3001>Visual Basic height mapping>Mach3
Eagle>PCBGcode>Arduino height mapping>Arduino CNC control
I have been in contact with the guy who made the height mapping software for Mach3 and I'm looking at Target 3001 for evaluation.
I'm also hedging my bet and learning EMC2 cnc control to see if I can make that work. I pulled up one of the kids' old computers from the basement last night and loaded Ubuntu 10.04 Lucid Lynx and the relative EMC2 software components per the instructions on their website. In one evening, I seem to have a fairly well working copy of EMC2 that looks promising. Since it is open source and available at no cost, only time is my investment at this point. It looks like it will work and play well with my existing Xylotex CNC control board.