Circuit board milling on the Shapeoko 2

I've been working on using the Shapeoko 2 to mill circuit boards and I thought I'd share my experiences with everyone since we get a lot of questions on the subject.

Short answer: it totally works and gives you nice clean lines. But make sure you nail the z-depth and feed speeds.

Ok, so you're going to need a couple of things here.

1. A Shapeoko 2 or other suitable milling machine

2. Circuit Board blanks, Inventables has them in 2x3" and 4x6" sizes, single and double-sided.

3. Good bits for circuit board milling. I recommend these.

Once you get all that assembled, design your circuit board. I used Eagle to set up a "stress test" of the machine, with progressively smaller component sizes and trace widths.

I then exported that as a .dxf, then used Adobe Illustrator to convert that to an .svg so I could import it into Makercam. If you're using a more professional CAM software, you could probably import the .dxf directly.

If you're unfamiliar with MakerCam, there's a good tutorial here and so I won't go into detail in this post.

Make sure you use a digital caliper and measure your bit size. It's going to matter a lot so get it right the first time and save yourself the headache.

I set up all the traces as an Outside Profile cut operation, with the cut depth as -0.25mm. You can experiment with your own settings, but I found that was the minimum depth necessary to have the bit penetrate the copper surface layer. You also want to do this in one clean pass, so set your stepdown to that same amount.

I also found that the speed settings for these boards are very touchy- there's a narrow window that works well and gives you clean edges, anything too far above or below that will give you ragged bits of copper sticking up. I recommend starting with around 150mm/min and adjusting as necessary for your machine.

Similarly, the spindle speed was a critical setting for getting clean edges. Using the stock Shapeoko spindle, I found that a speed setting of about 2.5 (between the two and the three on the rotary dial) worked best. To find the right setting, start your job and manually adjust the spindle speed until you see the edges come out clean. There's a certain amount of "tuning" here that you'll need to feel out.

Now that you've got your gcode generated, you need to plane your work area to make sure you get a consistent z-depth on the board you want to mill.

Use Makercam to generate a pocket cut for a rectangle slightly larger than your circuit board. You don't need to go very deep, only 1-2mm. 

This is going to make a nice little pocket to hold your circuit board on the work surface, and since the machine is planing the bottom of that pocket, you can rest assured that that surface is as parallel to the machine's movement as you're going to get.

People have different techniques for holding the circuit board down, but I recommend using a good sticky tape like Gorilla Tape to hold down at least three corners. There won't be a lot of pressure on the board while you're milling it, but you don't want it to slip around at all.

And here's what the end result looked like:

The traces maintained integrity down to the 0402 surface mount package size, and the trace width could get down to .12mm before becoming inconsistent. I checked the pads and traces with a multimeter and there was complete isolation/continuity on all the "experiments" except for the leftmost one in the image above, which is pretty impressive.

I believe you could get the tolerance even tighter with a better spindle and a tighter-tuned machine, but that's an experiment for another day.

Any questions on this, drop a comment below or hit us up on Twitter or Facebook. I'm happy to discuss in more detail.


Michael Una


makeCNC said...

what about the holes how do you do those ?

AcousticSurf said...

Great post, but there are still a number of issues with milling a pcb.

For one, the z axis has to be perfectly level. With V bits, if you mill just slightly too deep, the traces can get destroyed. How do you prevent this? One solution is measuring when the bit touches the board using a simple circuit where a loop is completed whenever the bit touches the copper.

Another issue is drift. The shapeoko doesn't have active control, so there's no drift compensation. How do you maintain precise and accurate registration throughout the cut?

Finally, the spinde you use can had have significant wobble. For example, a dremel's bit can shake around quite a bit. This is also a source of noise in the cut that can degrade traces. What do you do?


Brett Shellhammer - Waterloo, Ontario said...

Great post ... was wondering if you could post the eagle file for your test layout ?? I know I could build one myself, but like what you have done and would like to compare my results to yours.

Thanks in advance and I'll post a photo of my results when I get my machine set up.


frost sandler said...

Are you the one who design those milling machine? because they have good a design. Thank you for the information.

Unknown said...

Can you provide Eagle files for Stress Test?

Followers of Inventables Blog