Counterbored holes

Is there any accepted way to specify counterbored holes on a PCB using Kicad? I have a design that needs 3mm holes that are counterbored to 0.8mm deep by 6mm dia. I can’t see anything about this in the forum or anywhere else online. - This is for an aluminium backed PCB so the only way to do it is machine them.

Not really, typically you will need to include some kind of mechanical drawing or a drawing in the comments layer of the PCB

To my knowledge there is not a standard way to express such a thing to fabrication houses. Presumably you have a company in mind already (this is not a standard ability of most places) so I’d encourage you to ask them.

One way to do it is to use a drill size that is close to but obviously different from all the other drills of about that size and put a note in the documentation that drills of x size should be drilled out to y height with z final diameter.

I have no expertise in this area but tend to agree with der.ule and scandey. Neither counterboring nor countersinking is mentioned in the Gerber X2 / X3 standard (Did a quick search though the 206 page document).

There is an option for “depth routing” in Gerber files. Search for the keyword: “Depthrout”

Therefore, you have two options that can be pursued. With depth routing, drawing a circle on a “spare” (bottom) layer gets you close, but it is not directly supported by KiCad, and there is no way I know of to set the depth. so this still needs communication with your PCB manufacturer for each order.

The other option is to treat this as a generic mechanical engineering issue, with full mechanical drawings, and contact your PCB manufacturer whether they can make this (and for what price). PCBway for example also has a CNC machining service. Normally I do not voluntarily make advertisements for specific companies, but because PCBway is one of the platinum level sponsors of KiCad I don’t feel ashamed to mention them.

But overall, depth milling is probably the simplest / best option.

Yes, PCBWay offer counterunk or counterbored holes. My plan is to have a layer that shows the counter bore profiles on the assumption that they will be milled rather than drilled, but in the end I expect to have a bit of back and forth with their engineer over it.

Thanks, a Depth milling layer sounds like the way to go - I noticed now that a couple of the counterbores intersect with the outer profile of the board so they need tweaking, and would end up as a milling operation anyway because they can’t be drilled.

Perhaps this could also be made a feature request. I mean its probably not a high priority but something that can not be made can be a problem.

There a several ways to communicate this to the Vendor… always Best to ask them what they want. If you have a Drawing, put the info on it…

Also, whether or, not needed, if you want a drawing (and/or) 3D-Model of it for various reasons, you can use FreeCAD with the KicadStepUP workbench to load the PCB. track, parts…etc and copy what you want into a new Body and make the Counter-Bore hole and drawing…

Example below without Notes/etc (without all the details you need to communicate…) Loaded into FreeCAD using StepUp and made a CounterBore hole…

NOTE: Be aware that inner/external Planes (such as GND, PWR will contact the metal (screw/etc) in the Hole so, best to use a THT/NPTH for the base hole with sufficient clearance for the counterbore…

I did a quick check on gitlab for depth routing / milling, and I did not find any results.

I guess that adding this to KiCad would be quite straight forward. Just reserve some layers for depth routing, and set a depth for each layer. Graphics on that layer would be very close to Edge.Cuts, except that the routing is “inverted”, and there can be multiple depth routed pockets in a single layer. Preview in the 3D viewer may be the most involving part to program, but there may be some dragons lurking in the dark. But also, because there is no feature request for this yet, there probably is no high demand for this either, and the KiCad developers already have hundreds of feature request waiting for implementation and a limited amount of time available. But KiCad is growing, the project is also generating more money (both donations and sponsors) and it is exciting to see what will happen in the next 5 to 10 years or so.

Maybe you can get close to an “official” set of Gerber files by drawing some graphics on a User layer, and then hacking in the required lines for the “Depthrout” stuff with a text editor. If this works, then generating a feature request is a good idea. You can then also add your experience to this feature request, and some details of what you had to do to make it work. This way, your experience will be preserved for whenever KiCad developers have time and resources available to spend on this feature.

See for example What are counterbore and countersink? | PCB Knowledge - PCB Basic Information - PCBway… and Countersink and Counterbore| Altium

1 Like

Ok, being busy is not a reason not to add a request. Because even you used the no request as a way to say nobody needs this. So in order for people to voice the need in future a request should be added. That is the way it should work.

A request is not same thing as this will be done in next version. Obviously not. But not leaving one just makes the discussion next time as nobody has requested this so nobody needs this. Limitations need to be pointed out, that is not the same as demanding change.

But yes if by hacking you can make it it makes devs work more easy sure.

2 Likes

I think you misunderstood me. I only wanted to point out that lack of an existing feature request for this as “proof” for this feature not being in high demand.

If you think this feature is worth implementing, then of course you are free to make a request for it on gitlab. It’s how most features start. If you’re interested, there is also an option for priority development via https://www.kipro-pcb.com/ But they do commercial support and thus it’s not free.

Maybe it would be better to include this to padstacks, True padstacks and via stacks with differing geometries on different layers (lp:#1827233) (#2402) · Issues · KiCad / KiCad Source Code / kicad · GitLab, Altium seems to support it that way, and “backdrill support” which is mentioned in the issue is closely related.

No. Backdrilling is not related. The purpose of Backdrilling is solely to remove a part of the conductive copper of via’s, and therefore it is logical to make it a part of the padstack. “Depth milling / routing” has different purposes. For example to create room to (partially?) embed footprints inside a PCB, or for specialized mounting hardware. Therefore it should support arbitrary forms and making it a part of the pad stack is not logical.

image

Depth milling / routing is more closely related to semi-flexible PCB’s. To quote https://www.pcbway.com/blog/PCB_Basic_Information/Semi_Flex_PCB.html

Semi-Flex PCB:

The most traditional manufacturing process of semi-flex PCB is adopting the bending FR-4 materials and making PCB according to the traditional rigid PCB manufacturing process, and then using the deep milling technology to thin the areas that need to be bended so that it has a certain degree of flexibility, so as to meet the requirements of assembly bending connection.

On the other hand, yes, I can see. But for the original post backdrilling would be related, I don’t see “milling/routing” there. Maybe this could be compared with normal NTPH holes: they can be drill holes, or they could be defined in edge.cuts layer. Some manufactures have also preferred inner slots in a different layer than the outer edge (I don’t know what the situation is nowadays, I just have read that).

Interesting. A few months ago I received a PCB with 4 countersink holes. I thought that the end customer had done it manually, after the PCB had been manufactured and delivered.

According to Altium “Counterholes are supported in the NC Drill Files Fabrication Outputs”. If it’s not too complicated I don’t see why kicad can’t have this feature.

Just to mention a bad result - I was on a project with a very expensive 10 layer board that needed counterbores. There was some ambiguity/confusion about the origin point for the counterbores. Because of this, they were placed in the wrong locations on the board, completely destroying it. (I wasn’t on the board layout end of the project!)
Lloyd

Ouwtch.

KiCad also has an option to select different origins for Gerber and drill file output.

I guess it was not done in KiCad though, because KiCad does not have depth milling support (yet).

I always have a bit of trouble with what to expect from a PCB manufacturer. It would be nice if they catch errors like this before a PCB gets manufactured, but on the other hand, you are responsible for what you send to the fab house. Double checks on their side easily adds extra delays, and delays are a nuisance and cost money too. The time they spend on checking files will have to be offset in the (general) billing policy for PCB’s.