2
\$\begingroup\$

I'm trying to snowman some BGA pads in eagle but not coming across any real way to do it. Theres the teardrop.ulp but for whatever reason it doesn't add any teardrops to my pads.

Is there an easier way? enter image description here

edit An example of "Snowmanning" compared to teardrops enter image description here

\$\endgroup\$
  • 4
    \$\begingroup\$ I've never heard it called "snowmanning" before. \$\endgroup\$ – Tom Carpenter Jul 15 '17 at 15:06
  • \$\begingroup\$ What you could try is using the split tool to make a small segment just before the pad, and then change the width of that pad to be slightly wider. But that is a somewhat manual process. I don't know of any existing ULP to do it. \$\endgroup\$ – Tom Carpenter Jul 15 '17 at 15:10
  • \$\begingroup\$ The teardrops.ulp doesn't output a script? In any case it fails with the message "No teardrops generated with the current parameters" no mater what the parameter. I'm really suprised that I cant find a ULP on Autodesks website to do this. I'd have expected someone to have tried this by now. \$\endgroup\$ – VBwhatnow Jul 15 '17 at 15:11
  • 1
    \$\begingroup\$ You may get DRC errors doing that because the copper circles can't be tied to a net. \$\endgroup\$ – Tom Carpenter Jul 15 '17 at 16:04
  • 1
    \$\begingroup\$ I'd try my other suggestion to of drawing a short trace out of the pad with a width half way between the pad size and the original trace size. That will prevent DRC errors as it is all part of the routing. \$\endgroup\$ – Tom Carpenter Jul 15 '17 at 16:40
2
\$\begingroup\$

The existing "teardrop" scripts don't work because they only process vias and pads, whereas your BGA "pads" are actually "SMDs", which EAGLE handles differently.

I've been playing with this recently, starting with the teardrop ulp, refactoring and having it draw a single fat short wire instead of the "diamond" shape that it used for teardrops. It's not quite complete, (the 'undo' feature doesn't work, it doesn't handle non-round SMDs or elongated pads, and the documentation needs updated, but it might be worth a try if you're still interested...

https://drive.google.com/file/d/1I7en3EZz3zS1rtGdqCW5XH1y1pqpcChR/view?usp=sharing

enter image description here

\$\endgroup\$
0
\$\begingroup\$

I haven't been able to find a script for this but I intend on writing one depending on how often I might have to do this.

For now a manual method would involve drawing a circle with width 0 (to create a solid pad) on your top layer with a radius a little bit smaller than your pad. Copy and paste as needed across your design.

DRC will fail with Overlap errors with this method however

enter image description here

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.