CNC / PCB / WTF?

I deliberately chose that quote because for the last few days I’ve been troubleshooting a problem that my own ignorance / laziness / lack of experience caused.

Have I mentioned Probesmith? I should have. ProbeSmith is a program that lets you import an image, either in SVG, a PNG file, or a jpeg, and convert that into a G-code file for CNC. It then does all the cutting within the program, so it’s a complete start to finish procedure.

It also lets you do PCBs from their Gerber files and therein lies the problem. I used my St Annes pedal circuit to try it out…….

Now ProbeSmith gets its name from the fact that it can do height mapping by probing the surface, in much the same way that Candle does, but where it differs is that ProbeSmith can find its probe points from the actual image. If you’ve got a plate that’s 10 cm by 10 cm but your image only takes up an L shape on the left hand side and bottom it won’t probe the full rectangle – it’ll only probe around where it needs to actually cut.

It seemed to be probing absolutely fine, and it was building the height map into the G-code okay, but it just wasn’t cutting right. It would do the first pass, and most of it would be just a very fine outline the way it should be, but then other parts that would suddenly be deeper, and I just couldn’t work out why. As it went around the outer passes (to give some space around components for soldering) it all seemed to even out, but that required a few passes.

Well, because I was trained by YouTube, I’d missed out one of the most important things, hadn’t I? I hadn’t flattened off my wasteboard.

It looked flat, but it turned out there was nearly three-quarters of a millimetre difference from one side to the other, which isn’t much to us humans, but when you’re working it 0.025 millimetre, it makes for trouble. It doesn’t sound like much, but it took four days of hard work to figure that one out.

The program itself was working fine, but it was more made for avoiding molehills on a football field than cross country running. Once I’d run a flattening pass across the board, it started working perfectly.