Aperture too thin???!!!!

Ok I know Im not a complete noob. For the last six hours I have been tracking a drc error from the batch pcb bot. This is the message:

There were errors in the Top Layer File. Please address them and resubmit the zip file. Details bellow:

Checked Aperture 10 (0.0137x0.0550): Passed

Checked Aperture 11 (0.0433x0.0394): Passed

Checked Aperture 12 (0.0044): Failed

Error - Aperture too thin

Checked Aperture 13 (0.0600): Passed

Checked Aperture 14 (0.0394x0.0433): Passed

Checked Aperture 15 (0.0520): Passed

Checked Aperture 16 (0.0315x0.0315): Passed

Checked Aperture 17 (0.0984x0.0787): Passed

Checked Aperture 18 (0.0984x0.0197): Passed

Checked Aperture 19 (0.0554): Passed

Checked Aperture 20 (0.0080): Passed

Checked Aperture 21 (0.0120): Passed

Checked Aperture 22 (0.0160): Passed

Checked Aperture 23 (0.0360): Passed

Ive re-routed my board a couple times but have only succeeded in moving the error from aperture 14 to 12. Any suggestions for finding this thing?

Brian

Greetings Brian,

b_w_:
For the last six hours I have been tracking a drc error from the batch pcb bot.

Checked Aperture 12 (0.0044): Failed

Error - Aperture too thin

0.0044 is 4.4mil. The minimum specs for BatchPCB

are 8mil. So try turning off all layers except one at a time

to see where this error hides. Possibly one of your library

parts was constructed (or later modified by a rotation

or other operation) and has an illegal element.

What CAD software are you using?

Comments Welcome!

Sorry I was in a little rush when I posted that. Im using Eagle 4.x with only a handful of parts that mostly come from the SF library except for r/c’s and an led. Your feedback about rotation got me thinking as I do have an atmega168 kicked in at 45 deg angle. But I have checked the traces a hundred times to no good. I first set the DRC to SF’s tolerances… 8mil trace, 8mil space, 20mil drill, etc but my DRC does not detect an error. Ive picked up and moved each part to find any unconnected traces or traces with extra bends. Ive substituted parts to make sure it wasnt a library issue (and I imagine I would get multiple errors if this was the case). Ive even manually measured distances between things by drawing 8mil lines here and there.

Here is a [screenshot of the board (1211x498, 40k). Ive removed the silkscreen to see the traces better. Its basically from left to right, usb mini b, ft232rl, atmega168, xtal, and some 0603 r/c’s and pin headers. Nothing really to it except for its small size. And like I said Im not a total n00b having run many a boards through batchpcb and gold phoenix flawlessly in the past.

I just dont understand really what the aperture check is looking for (aperture of what exactly?) and why there is only a single very small problem. Should I continue to look at the traces or is there somewhere else that something could have gone awry?

Thx,

Brian](http://www.csulb.edu/~bevans2/boarddesign.png)

As a suggestion, try turning the hatched pours over to solid. The DRC bot may be choking on a tiny hole in the pour close to a component leg or something.

Greetings Brian,

b_w_:
I just dont understand really what the aperture check is looking for (aperture of what exactly?) and why there is only a single very small problem. Should I continue to look at the traces or is there somewhere else that something could have gone awry?

The Apeture is a somewhat outdated term when

PCB artwork production was first automated. An apeture

is literally a hole in a moveable mask that plots the

layout to photographic film (used by Gerber photo

plotters). Think of it as equivalent to the daisy wheel

in a printer. To change font you change the wheel,

to change stroke width or shape you select another

apeture wheel.

So what BatchPCB’s bot is telling you is that some

feature in your design selected a 4.4mil aperture

and tripped the >=8Mil rule.

Large or irregular areas are often filled with smaller

seqments and in your case this may have been

from a library part you inherited, or the result

of an operation (such as rotate) on an otherwise

legal library part.

I’d suggest you nix one library part at a time

and test the outcome against the Bot. You will

likely find one that is to blame. Yes, its a pain…

Comments Welcome!

Thanks guys for the suggestions. So far I tried changing the pour to solid and that didnt work. I have also swapped out the usb port and the xtal but that didnt work either.

The biggie is the atmel chip. I inherited that part from the SF library and I have never used it before. It looks just like a footprint in another atmel library but the problem is the schematic is a bit different and would require that I practically reroute most of the board and the schematic to swap it out. Unfortunately thats beginning to seem like the only other option.

Let me know if anything else comes to mind.

Thx,

Brian

open your top layer in Viewmate (gerber viewer). In one of the top toolbars (off towards the right) you can say select only D12. Then double click over your design and it should jump to any item using that appeture.

That should tell you what’s using the tiny appeture, or if it’s used at all.

Or, post your gerbers here and I’ll take a quick look.

-Dave

Yep that found the problem. There is in fact an problematic aperture with Spark Fun’s library and specifically the atmega168. Wonder if swapping that part out with one from another library will fix it or not…

Thx,

Brian

Can you just edit the footprint and change the appeture to something bigger, or otherwise edit it?

After some google searching and some long troubleshooting Ive solved the problem. This issue was addressed here awhile back in [this thread but never fully resolved.

Apparently Eagle converts any square pad into a series of overlapping traces (100s of them) when the part is rotated at an odd angle. (You have to use viewmate to see these traces in the cam files.) Depending on the ‘sharpness’ of the pads, the trace width might be very small. I found to solve the problem I had to create a new footprint for the part library with a minimum pad roundness of 50% and this made the resulting trace width 8 mil. I tried 25% but the trace width was still 6 mil so no good.

This should not really matter since the fact that all these traces overlap is obviously ignored by the drc bot but apparently the width of these traces is not ignored. I obviously dont know anything about the drc bot or the intricacies of gerber files but wouldnt there be a way to ignore trace width inside the pads themselves?

I hope this helps someone in the future. Maybe this should be a sticky or something?

Thx-

Brian](Eagle file SparkFun Aperature error - SparkFun Electronics Forum)

wtf Eagle!

The Gerber format includes support for rotating pads, rather than making their own. No idea whether the bot would like that though…

Glad you got it figured out.

Bumping up this thread as the topic has come up again, and the above posts are relevant to my question:

Has anyone had a chance to try out Eagle v5.1 and see if it still generates the same failure? I just had a look to see what the v5 changes with respect to CAM jobs and found this:

CAM Processor

The CAM Processor’s GERBER_RS274X driver now generates polygon area fill codes when drawing rotated rectangles.

Don’t know if that’s relevant, but here’s hoping…

Good news! I just installed v5.1 freeware and used it to generate gerbers for a board I’m working on that has a 45 deg rotated QFP44 package. And the part didn’t trip the bot! :smiley:

The board still failed though, but that’s only because it’s half routed and some tracks and vias aren’t where they should be. :wink:

And yes, I’ve generated gerbers from this board before with v4.16, and the rotated QFP is flagged by the bot as a problem.

The only catch I see is installing a new version of Eagle rewrites a certain config file, so I don’t know if it’s possible to have two versions of it on one machine. Luckly I had a spare available.