Eagle (cad) - double-sided pcb drill-holes

Hi all. Anybody here use eagle and mill their own double-sided pcb boards?

I'm going to switch to double-sided boards for some arduino-controlled projects (mainly Mega and UNO).

If anybody has experience with double-sided board pcb milling (and Eagle), then could I ask you if you know of any method that allows the drill-hole information on BOTH sides of the boards to be combined in one file, so that ALL the holes (for both sides of the board) can be drilled in the one-shot? This would be done after both sides of the board (tracks) have been milled of course.

I'm just asking this because the milling process could possibly have 1 less step (3 steps instead of 4) if I can have a way to drill all the holes at one go.

I'm predicting normal process would be ... mill side 1, then mill side 2, then drill side 2, then drill side 1.

But if all drill info can be lumped together, then could just mill side 1, mill side 2, then drill all holes.

I understand that the milling process usually puts little divots in the pads that are going to be drilled, which later prevents (or reduces chances of) a drill bit from ripping out the copper of a round pad during the drilling process. The little pre-formed divots seem to prevent tearing when drilling.

Thanks in advance for any tips!

How do you drill from both sides? My holes go all the way through the board so it doesn't matter which side I started on, the hole always goes through.

Blind and buried vias can go part-way through a multi-layer board but they are constructed in a totally different way.

If you want to post-process the data so that your milling file includes the little divots on both sides then you're welcome to add that to your CAM processor. I would not bother, as the holes will go all the way through from one side and you don't need it to meet up with divots on the other side.

MorganS:
How do you drill from both sides? My holes go all the way through the board so it doesn't matter which side I started on, the hole always goes through.

Hi Morgan! Thanks very much for your post! Really appreciated.

I might have the wrong idea... but here's an example..... eg... on side 1 of the board, a regular non-surface-mount resistor requires two holes. And on side 2 of the board, a different component requires two holes (....not the same holes as on side 1).

When it is time to mill the tracks.... I first use probing/autolevelling, followed by milling side 1. No drilling yet. Then I flip the board....then autolevel side 2...followed by milling the tracks.

Finally.... the drilling needs to be done. The drilling was put on hold before... to avoid issues with probing/autolevelling.... since holes in the board creates issues for autolevelling.

The drilling could then be done for side 2. This provides holes for side 2 components. The I flip the board to drill holes for side 1.

So altogether... there is currently four steps to do. But if I can somehow get eagle to produce a single drilling file where holes for both sides of the board are mapped to one side of the board, then I could possibly get my board done in 3 steps.

Thanks again Morgan.

What are you using to convert from Eagle to your mill's language?
When I've done it on an LPKF, I go through gerber generation, which gives me separate top, bottom, and drill layers, each of which gets its own pass on the mill, which means drilling only once. You do need to be careful about whether the drill coordinates are output WRT the proper board "flip."

PS: trying to do double sided boards on a mill, with no plated-through holes, tends to be really frustrating.

westfw:
What are you using to convert from Eagle to your mill's language?

PS: trying to do double sided boards on a mill, with no plated-through holes, tends to be really frustrating.

Westfw.... thanks for your post too. I use a free add-on script... "PCB-GCODE". It can generate the layers for side 1 and the flipside of side 2... and the appropriate side 1 and side 2 drill holes.... taking the flip into account.

I agree with you about no plated through holes. I was thinking that I might get a good quality via punch lever device to at least improve the experience. The nice thing is that at least it's possible to get some form of double-sided board for tinkering purposes.

Thanks again westfw!

The Excellon format drill file normally produced by the Eagle CAM processor has all the holes. There is only one file. The holes go all the way through. If you are getting two drill files out of your Eagle then you are doing something wrong.

The milling might be a little different as the pads on both side of the hole may only have the divot pre-milled on one side. That's when you might consider changing your post-processing to put all of those divots onto one milling file for one side.

Look closely at your two drill files. It might be the same thing twice over, giving you the option to drill from either side. But the holes still go all the way through.

I use Altium designer, I use 0.4m clearance as the main rule, Create the Gerber files and the drill files, Use Flatcam to produce the G-code along with 4 alignment holes using 4 3mm rods to make sure I place the board in the exact same spot. Then I use Autoleveller for top and bottom layers.

Then load this up into my machine, Drill the 4 alignment holes first then load the bottom layer G-code created by Autoleveller, This then probes the PCB then mills the bottom layer, I then flip the board and carry out the same where it probes it first then mills out the top layer, Then load the drills files and drill the board from the top then cut out the PCB,By leaving the drilling to last thing it I have no chance when Probing the PCB to hit an hole already drilled, I now mainly use SMD parts,

I get great results, Then I use copper pop-rivets to make the connections both sides for the via's and pads that need it,

Like these from here

One thing I noticed some times that they don't always make good connections so I just place some solder both sides to make sure.

I f I need more than 2 boards of the same design I just use PCB manufacture from China £25.00 GBP for 10 boards 100x100mm.

CNC machines are great if it's just one off's as it takes longer when you do double sided boards

There are two formats for the drill file. Perhaps the OP is outputting both (I know that Protel 99SE does that by default). I also suggest drilling first then routing. That is the way the (professionally made) LPKF machine works. Drilling first means the board and copper is flat and there is less chance of the bit wanting to drift to the routed area. Same thing is done for machining small parts.

adwsystems:
There are two formats for the drill file. Perhaps the OP is outputting both (I know that Protel 99SE does that by default). I also suggest drilling first then routing. That is the way the (professionally made) LPKF machine works. Drilling first means the board and copper is flat and there is less chance of the bit wanting to drift to the routed area. Same thing is done for machining small parts.

That's a propper machine :slight_smile: , I have one of those CNC6040 macinces using mach3 software, I found out with mine by drilling the holes first when I probed the bit went into one of the holes and snapped it.

I carried out some trials with it by placing some track on a test PCB a 0.2,0.4,0,6,0.8 & 1mm wide then milled them and using a loope to measure them if the tracks where to wide then I was not cutting deep enpough and if there hwere samller I cut to deep, The best setting was cutting depth 0.07mm. By using autolevller this makes sure that the cutting depth is always correct. Sorry slighty off topic.

I've not used Eagle to create Gerber/drill files, But I know in Altium you can select what files are created may be the OP has selcted both like you mentioned may be ?

I've only ever drilled from the top with one file

Morgan, ADW, and stevie .... you guys (and/or girls) are great. Totally appreciative of your help. I didn't know that some of those software --- like excellon etc could map all holes (top and bottom later ones) to one side. That is nice.

For the eagle add-on I'm using ---- PCB-Gcode addon, the general settings give options like outputting a top-layer PCB track g-code file, and an independent bottom-layer file, and outputting a top-layer drill file, and a bottom-layer drill file.

Would be nice to have one more option that maps all holes onto a particular side (eg. bottom side), and outputs a single drill file.

The settings I have for this software is shown below (screenshot):

I haven't 'successfully' milled a double-sided board yet. But finally on the verge of getting there. The hold-up was due to trying to figure out why I couldn't get my dowel guide-holes for my board to fit once I flipped the board. I learned the hard and long way that my 3040 cnc machine didn't have its x-axis direction of spindle travel (along the short side of the bed platform) squared-up with the y-axis direction of spindle travel (along the long side of the bed platform). I think this set me back for months because I assumed that these axis were 'meant' to be squared up by the factory before the ship it. WRONG!!! What was worse was --- I assumed that the axes were square, and wrongly assumed that my spindle angle was the culprit. Turns out that spindle tip not being super square to the bed surface is not so much of an issue for circuit boards, which are 'relatively' thin compared with thick blocks (for other cnc work). So basically wasted my time getting spindle tramming tools. I only finally did what was most necessary --- to tinker with the x-axis plstform to get it as square as I can with the Y-axis. And now ........ very nice. When I flip the board, the guide dowels fit nicely, and the spindle bit cuts and drills at the correct spots. Finally got there, after several months! This is also thanks to youtube.... where only about 1 person demonstrated how to square things up on a 3040.

Also, the through-hole vias. I have yet to apply some vias. I ordered a via (rivet) toolpress machine today (online). Interestingly two different online sites. One site sells for approx 630 US dollars, while another site sells it for 390 US dollars. Same machine!

Are you sure that the "two" drill files don't contain the same holes, with it just giving you a choice which side you want to drill from? The internal EAGLE data structures don't differentiate between top and bottom drills...

westfw:
Are you sure that the "two" drill files don't contain the same holes, with it just giving you a choice which side you want to drill from? The internal EAGLE data structures don't differentiate between top and bottom drills...

I will check that westfw! I will check it out and get back to you on this one. You could be right. From memory, the track milling process puts divots in the centre of the pads that are supposed to help guide the drill bit (later). Everywhere a divot is placed is (I assume) to be a helper divot for the future drill hole. When side 1 is being milled, I don't recall seeing divots for side #2 of the board. So I suspect that side 1 and side 2 drill hole patterns (files) are different. I'm assuming that the divot coordinates get transferred to the drill hole file (with top side drill hole file different from the bottom side drill hole file). I will definitely be taking a look at this though. Thanks!!

Let's say I put a single through-hole component on a double-sided board. The board must be milled to put a donut of copper around the hole on both sides. So there are 2 donuts for every pin on the component, with one on each side.

Let's also say I ticked the "spot drill holes" option. Do both sides have the spot?

Or, you know, you could read the PCB-GCode Manual:

Pcb-gcode can also generate files to drill holes from the top and/or bottom of the board. Since the holes usually go all the way through, they only need to be drilled from one side, although some users have drilled slightly more than half way from both sides for a cleaner finish.

:slight_smile:

westfw:
Or, you know, you could read the PCB-GCode Manual:

That's awesome. Thanks for showing us that one westfw! That person certainly put a huge amount of effort in producing that software, but also writing a manual for it.

I had to flick through the manual to learn a fair bit on how to use this add-on. Definitely missed that part there, which is bad. What I'll do is to make a note that the holes for both sides of the board are automatically taken care by the drill file associated with either side of the board. Tremendously appreciated on this one. Almost on the brink of successfully milling my first double-sided pcb on the cnc 3040. These circuit boards are going to be involving arduino mega 2560 or UNO connected to them. Thanks for your help, and everybody here. Genuinely appreciated here.

The other thing to notice is that since this is an EAGLE “user language program” (.ulp file), you can potentially look at the source code to figure out what it’s doing. Though it may take a while to understand it.

westfw:
The other thing to notice is that since this is an EAGLE “user language program” (.ulp file), you can potentially look at the source code to figure out what it’s doing. Though it may take a while to understand it.

Thanks westfw for mentioning that the contents of the .ulp file involves a programming language associated with eagle. I'll open up that .ulp file to take a look at it.