Dave' Milled PCB

My first milled circuit board is assembled and works! My goal was the milling to see if my MPCNC has the accuracy, and it does. The circuit is fairly simple, so I skipped learning new software and modeled the circuit board in 123D. I have several versions of a working prototypes and now I want to put it on a board and in an enclosure so I can test it outside. This post is more about the milling, so I will leave out the details on the electronics project. I tried several things that didn’t work, but I will skip that also and tell you what did work.

I started with a wiring diagram I made in Fritzing (Free software). I used this for reference to build a scale model of the circuit board in 123D. There is only one wire that crosses other wires, so I had to run one trace on the top of the board, while the others could all run on the bottom. I needed a reference hole through the board for milling both sides so I put 2 holes equally spaced outside the limits of the board.

To make fraction of a millimeter depth cuts in the circuit board, the base has to be level and can’t flex. I removed the waste board and cleaned under it and screwed it back so it was solid. I screwed down a ½ inch piece of MDF for my PCB board holder. A pocket the size of the blank PCB was milled into the MDF. The depth is about the thinness of the PCB and I put some deeper groves for debris. Small screws were used around the edge to firmly hold down the PCB.

SVG files were created from the top and bottom of the PCB in 123D. I opened these in Estlcam and 3 files were made for the bottom, one for each tool. The holes were drilled, the traces were engraved in the copper layer for electrical separation. Areas where I didn’t want electrical connections made to the pins the copper was milled away. On the top of the board I just needed to engrave and mill since the holes were already through the board. Five G-code files were made for the CNC (Bottom_Drill, Bottom_Engrave, Bottom_Pocket, Top_Engrave and Top_Pocket).

I started each run with the tool at the surface on the PCB centered on the lower left alignment hole. The RAMPS board needed to be reset so I assured it started in the home position. First the holes including the alignment holes were drilled. I could fit 4 boards on one double sided copper sheet. One run was in the lower left corner of the sheet, then set up for the upper left corner. The sheet was removed and rotated end for end and repeated the other two.

Next I engraved starting at the alignment hole in the lower left corner the same as before. To bring the tool to the surface, I used a sheet of paper for a gauge, lowered the z by hand until it contacted the paper. I used the same process as before for drilling. Last I milled the pockets again using the same process.

The board was flipped over. My alignment holes were always the same, the lower left hole. First engraving, then milling. When this was complete, I removed the PCB sheet and cleaned it up with a 3M Scoth Brite scuff pad. It was the finest weave I could find (equivelent to 0 steel wool). This removes any slivers of copper that were still attached. Using an ohm meter, each isolated area was tested. I used a table jig saw to cut each board out.

The components were soldered to the board and one final test with the Ohm meter before powering on the board. It worked!

There are several videos on YouTube that show the milling process, so I used a little of each to fit my needs. I didn’t find much about the software used. I know there is software that can generate a better circuit board, but for what I needed, I used what I had. Attached are a few pictures from this project. I hope some or all of this my be useful for others trying this with their MPCNC.


More Pictures…



This is one of the planned uses of my MPCNC too. I’ll be following your progress with great interest.

Here is a preview of a video I put together with all my pics and videos from this project. I plan to edit the text a bit before I make it public, but you can view it here: