element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Open Source Hardware
  • Technologies
  • More
Open Source Hardware
Blog New parts, new part PCB Problem
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Open Source Hardware to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: camuyano
  • Date Created: 15 Mar 2015 7:34 PM Date Created
  • Views 2735 views
  • Likes 2 likes
  • Comments 8 comments
  • eagle
  • eaglecad
  • cardsoft
  • oshw
  • sparkfun
  • cardsofteagle
  • sparkfun;
  • eaglecad;
Related
Recommended

New parts, new part PCB Problem

camuyano
camuyano
15 Mar 2015

I had a wake up call using Eagle Cad and a third party libraries. And I wanted to share how my ignorance caused my boards to fail (for now).

Just for reference the board uses an Atmega328P SMD and i wanted a smaller and cheaper part than a normal crystal. So I went with a resonator, there are a few very cheap and very small. I am not that good on creating parts layout by myself so I searched on the libraries at hand for a resonator with the footprint similar to the one I wanted to use. And very quickly I found a smd resonator on Sparkfun-FreqCtrl library and the part is RESONATOR-SMD. First I was very happy to actually found this part. So I put the part on my PCB and send it to fab for manufacturing. The board came back beautiful red (I had to pay a little more for color selection). Then I notice that around the resonator there were some solder mask missing, but said to myself this must be a size limitation from that cheap Chinese fab. I am like a little kid whenever I get mail, so I ran to get my iron and started soldering. "No need to do any measurement, I am 99.9% sure the design is correct" I said. If fail then I will test, but I wanted to solder right away. So I did.

Latter after the boards start failing I then went back and did some measurement, just to find some missing solder mask and some exposed copper. The copper exposed then again I thought at first it was because of Chinese fab, but turn to be my mistake not the fab.

Lets see the picture bellow, look the black region is missing red solder mask. And at the borders you can see exposed copper (blue arrows). The missing solder mask (black part) does not causes any problem. However the exposed copper do. It causes my resonator to short to ground making my board fail.

image

 

And what was the cause of all? The actual part on the library had instructions to be constructed exactly as it was done. There is a layer in eagle called tStop. The tStop layer is the one that allows solder areas of copper to be exposed. This layer stops solder mask in a specific area. This part has a rectangle over the entire part. The size of this rectangle plus a small isolation in the board causes this tStop rectangle to go over my ground plane, and causes the copper to be exposed. On the image bellow, the big white hatched rectangle is the tStop that caused the problem. This made my twenty boards order to fail.

image

 

I have three options:

1. Etch (manually)  out that exposed copper to a distance that I can solder the part

2  Cover with heat resistant tape the exposed copper

3. Paint it over with solder mask (that I do not have at hand).

I am going to get a few pieces of tape, and try to cover the exposed copper in order for me to use these boards. But anyhow I edited my design and send a few more to be made, this project need to be finished and quickly. In about two weeks I should be getting them back and hope this issue is water under the bridge.

 

Hardware design has its ups and down, but it is well worth it. You win some and loose some and learn a lot during the process.

I should try to contact SparkFun about the part, or submit a pull request with the fix. I am a noob, this might be the right design and I am the one mistaken. Anyhow for PCB with a big ground plane close to this part this is not working. My guess is that the rectangle is intended to avoid ground plane under the part and not to stop the solder mask. This must be a layer mistake.

 

For the new PCB I did a ground plane cutoff polygon around the resonator, removed the tStop from the part and made the side contacts a little bigger (for easier soldering). When I get the PCB back from fab will post again with the new board. Hope that it work.

 

This PCB eagle files are not posted now, because this board is for a surprise event. After the event all will be posted. If you want to know, the board is just a usbaspLoader using an Atmega328P with an Arduino header footprint. Nothing revolutionary. Oh and of course, instead of a crystal with two capacitors it is using a 16Mhz resonator.

  • Sign in to reply

Top Comments

  • Former Member
    Former Member over 11 years ago in reply to camuyano +1
    Hi Javier, We are really sorry to hear you had this problem with your boards. Thanks for posting about this and we appreciate your efforts to fix it in the library! As you have come to see (and it never…
  • Former Member
    Former Member over 11 years ago in reply to camuyano +1
    Javier, You are very welcome! We are always happy to help. And we are glad that you see your mistake as learning experience - that's a great outlook on life in general! The picture above of the part, is…
  • Former Member
    Former Member over 11 years ago in reply to camuyano

    Hi Javier,

    We are really sorry to hear you had this problem with your boards. Thanks for posting about this and we appreciate your efforts to fix it in the library!

     

    As you have come to see (and it never stops, we're all still learning), Eagle is full of easy ways to make mistakes. Unfortunately, the smallest mistakes are often the most troubling (and sometimes detrimental to the design).

     

    We have used this current footprint for years, and it hasn't exposed the nearby pour on our designs because we always have our isolate on our pours set to 12 mil.

     

    image

     

    Here is a screen shot of the "Top" and "tstop" layers on our Arduino Pro Mini.


    image

    As you can see, the copper pour is just far enough that is not exposed. And on this particular layout, the bottom side doesn't even have space for the pour to flow. Looking at this now, I do see that there is a slight overlap on the top side of the crystal, and so I agree that this footprint could be improved. Perhaps we could add in some trestrict to inhibit any pour from going under the resonator mask.

     

    For your reference, you can download the full eagle files of the Arduino Pro Mini 328 here: https://github.com/sparkfun/Arduino_Pro_Mini_328

     

    Also, in case you are interested, we originally added in the "tstop" rectangle to intentionally remove the mask beyond the ends of the part. One thing we have found with our PCB fab house (and is the case with most), is that the mask layer is often not perfectly aligned with the copper. Sometimes it can be as far as 3 or 4 mil off. This is why most footprints actually include a buffer and the "tstop" is larger than the copper landing. This is done to ensure that 100% of your pad is exposed. So to help avoid this problem entirely, we just removed all the mask under (and around) the crystal.

     

    A second reason, and perhaps the more important one, is that mask can create an un-even surface below your part, where as the fiberglass is almost always perfectly flat. So with the mask removed, we are more likely to have a perfectly smooth surface underneath the part. This way the part can rest nicely on the solder paste during reflow and not be help up by any imperfections in the mask.

     

    Hope this helps and thanks again!

    -Pete Lewis (QC Manager at SparkFun)

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • camuyano
    camuyano over 11 years ago

    Just submitted a pull request on github to have this part fixed on the library. Soon should know if it is accepted. Just to avoid this from happening to others.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • camuyano
    camuyano over 11 years ago

    I forked the repository on github for the library, but I am not submitting a pull request for now. The library is using eagle 7 and I have eagle 6. I am not upgrading until I finish this project. After I have the full batch produced. I then upgrade and submit a pull request. Dont want to get anyone upset by submitting a path with an old version of the software.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
<
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube