Skip to content
This repository has been archived by the owner on Oct 2, 2020. It is now read-only.

Add various Samtec mezzanine footprints from the Q Strip/Q Pairs, Basic Blade & Beam, Razor Beam, and mPOWER families #1304

Open
wants to merge 51 commits into
base: master
Choose a base branch
from

Conversation

calebreister
Copy link

@calebreister calebreister commented Jan 16, 2019

This pull request contains footprints for Altera HSMC cards. There are two variations, which use different connectors:

  1. Samtec ASP-122952-01: a modified Samtec QTH-series connector with every third pin removed in Bank 1 to improve signal integrity for transceivers.
  2. Samtec QTH-090-01-x-D-A: identical to the ASP-122952-01, except that all of the pins were left in Bank 1. It is not as good for transceivers, but is much more common.

The following footprints were added...

Samtec_HSMC_ASP-122952-01_P0.5mm_Vertical
screenshot_20190115_182233

Samtec_QTH-090-01-x-D-A_P0.5mm_Vertical
screenshot_20190115_182042

Samtec_HSMC_Card_QTH-090-01-x-D-A_3.076x0.932in_P0.5mm_Vertical
screenshot_20190115_181745

KLC Notes:

  • The HSMC_Card footprint anchors are centered on the connector, not the courtyard. Changing this would cause issues with the 3D models.
  • The HSMC_Card courtyards do not align to a 0.01mm grid, since the specifications were provided by the HSMC specification.
  • Some 3D models are reused, so the footprint names do not always match.

See also:


Thanks for creating a pull request to contribute to the KiCad libraries! To speed up integration of your PR, please check the following items:

  • Provide a URL to a datasheet for the footprint(s) you are contributing
  • An example screenshot image is very helpful
  • If there are matching symbol or 3D model pull requests, provide link(s) as appropriate
  • Check the output of the Travis automated check scripts - fix any errors as required

@CLAassistant
Copy link

CLAassistant commented Jan 16, 2019

CLA assistant check
All committers have signed the CLA.

@calebreister calebreister changed the title Caleb Reister HSMC Card Footprints Jan 16, 2019
@myfreescalewebpage myfreescalewebpage added Addition Adds new footprint to library Pending reviewer A pull request waiting for a reviewer labels Jan 16, 2019
@calebreister
Copy link
Author

A licensing issue has come up with the 3D models, so a minor revision may be in order.

@poeschlr
Copy link
Collaborator

A footprint pull request is never dependent on contributing a 3d model. All that needs to be done is preparing the footprint to accept a 3d model. (Meaning filling out the 3d model settings such that it is easy to add a model at any time without needing to edit the footprint.)

@evanshultz
Copy link
Collaborator

Why is the courtyard not on a 0.01mm grid? Can you provide that reference? I don't see anything in the drawings linked above.

The QTH link above is for the product page. Would http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf (or possibly http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf) be a better link to use?

@calebreister
Copy link
Author

calebreister commented Jan 17, 2019

Why is the courtyard not on a 0.01mm grid? Can you provide that reference? I don't see anything in the drawings linked above.

Section 2.5 (beginning on p.16) of the HSMC Specification gives exact placement information for the connector and PCB edges. Since KiCad does not support PCB edges in footprints, I placed the edge locations in the courtyard.

The QTH link above is for the product page. Would http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-mkt.pdf (or possibly http://suddendocs.samtec.com/prints/qth-xxx-xx-x-d-xxx-footprint.pdf) be a better link to use?

I considered using both those links when creating the pull request, but neither of them provides complete information for the exact part I created. The first provides no footprint information, and the second is a generalized footprint for the entire family. If we were to use one of those links, I would probably lean toward the second.

@evanshultz
Copy link
Collaborator

Mark the PCB edge explicit, then. This does not affect the courtyard which should conform to normal KLC requirements. See #570 and several footprints in the library (search for "edge" in the footprint name). This is not in KLC so I understand it's not obvious what to do.

In combination don't those two docs cover everything? What is missing when both are included?

@calebreister
Copy link
Author

calebreister commented Jan 17, 2019

I see. Maybe something about PCB edges should be added to the KLC. Since the HSMC specification sets the width of the board, should I put a PCB edge label on three sides?

Those documents do cover everything, but the footprint description only allows a one URL.

I will revise the HSMC footprints with the PCB edges denoted in Dwgs.User. Do I need to make a new pull request, or is there a way to make the change in this one?

Since the physical connector is off-center in the HSMC footprints, I'm assuming that I don't need to move the footprint anchor. Also, since the HSMC card specification is so specific, perhaps it would be better to add only the connector footprints and create a template that fully complies with the HSMC specification.

@calebreister
Copy link
Author

Should the mounting holes used in the footprint also be added to the footprint library?

@poeschlr
Copy link
Collaborator

poeschlr commented Jan 17, 2019

What would be the reason for the need to define board edges. If this is a pure connector footprint (Meaning it fits into the connector lib) then there should not be any board edge defined.

If this is for including a full module on top (or below) of ones pcb then the board edges of that subsystem do not influence the board edges of your own pcb. The board edges of such a subsystem would then be on the fab layer and the footprint would live in one of the module libraries.


The only reason i can think of why there is a need for a pcb edge defined is if there is anything in the way. (This would be the case if this is designed to fit into a specific housing that is part of the system for which we design the interface definition here.)
Or if this is intended to define the board shape for creating a clone of the system in question.
We would need to think about which library such a thing should be placed in.
It might even be better to create this as a template instead of a single footprint (one would then get the correct position file entry for the connector. And BOM entries for the mounting holes.)


Edit: Ok i think i understand now. This is a quasi standard that defines a maximum for 3 sides of a pcb with 2 or 4 mounting holes and a connector. (The pcb is open to extend in the 4th direction.)
It does really not fit into the connector lib for that case. So either a new library or still even better a template project.

The connector footprint alone would still be added to the samtec library. If special mounting holes are needed to create the template then these should be added to the mounting hole library.

Also note that the specification is given as looking from above. So the connector would be placed on the bottom in that template for easier review. (As one would need to mirror it in ones head otherwise.)

@calebreister
Copy link
Author

HSMC is a standard developed by Altera (now Intel FPGA) for expansion cards that attach to FPGA development boards. After realizing that templates exist (I didn't until after developing the footprints), I agree that only the connectors themselves should be placed in the footprint library. Thus, I plan to port the HSMC_Card footprints over to a template and possibly perform some minor revisions to the connector footprints.

@calebreister calebreister mentioned this pull request Jan 17, 2019
4 tasks
@evanshultz
Copy link
Collaborator

Please let me know when you've made the changes and are ready for a review then. Thanks!

…Minor

edits to ASP-122952-01 and QTH-090-x-D-A connector footprints.
@calebreister
Copy link
Author

calebreister commented Jan 22, 2019

@evanshultz As suggested, I am going to migrate the HSMC_Card footprints to templates, and have thus removed them completely. A few minor edits were also made:

  • Local clearance settings for the NPTH mounting holes were set to 0
  • Pin outlines were removed from F.Fab.

@chschlue
Copy link
Contributor

chschlue commented Sep 8, 2020

As long as you have a GitLab account as described in the README, you can just keep working on this PR as before.
Just saying, no need to narrow it down.

@calebreister
Copy link
Author

@chschlue I do have a GitLab account with the same email as this account, both are public. The reason I've narrowed the scope is so that I can use the GitLab repo instead of this one once it is available.

Caleb Reister and others added 4 commits September 10, 2020 23:02
…KiCad#2466)

The existing footprints have reversed pin ordering, so that pad 1 does
not match that on the datasheet or indicated by the pin 1 indicator on
the connector itself.

The footprints are created with kicad-footprint-generator with

```
smd_single_row_plus_mounting_pad.py conn_molex.yaml
```

Footprints generated by this script must always have pin 1 on the
left-most side, so in order to fix the numbering the connectors are
rotated by 180 degrees.

This update also fixes incorrect tags that specified "top entry" instead
of "horizontal".

(cherry picked from commit 8750227)
in Connector_Samtec_QStrip.pretty so that the links work correctly
@calebreister calebreister changed the title Add various Samtec mezzanine footprints from the Q Strip/Q Pairs and Basic Blade & Beam families Add various Samtec mezzanine footprints from the Q Strip/Q Pairs, Basic Blade & Beam, and Razor Beam families Sep 20, 2020
@calebreister
Copy link
Author

I've created a new script capable of generating all of the vertical Razor Beam connectors (LSHM, LSS, LSEM). This includes the LSHM connectors, a few of which are already included in the Connector_Samtec library. Shall I delete the old versions of these connectors from this branch since newer versions are now available in Connector_Samtec_RazorBeam?

@calebreister
Copy link
Author

Razor Beam connectors:
Screenshot_20200920_124140

Samtec 3D model fit test:
Screenshot_20200920_124309

@calebreister
Copy link
Author

There is one minor instance of clipping: the alignment holes for the LSEM connectors are supposed to be centered at -0.95mm according to the drawing and datasheet, but the alignment pins on the model are closer to -0.1mm. I think that the error is most likely in the model. Even if it isn't, there's enough clearance in the holes and enough space on the pads for the connector to shift 0.05mm.

@calebreister calebreister changed the title Add various Samtec mezzanine footprints from the Q Strip/Q Pairs, Basic Blade & Beam, and Razor Beam families Add various Samtec mezzanine footprints from the Q Strip/Q Pairs, Basic Blade & Beam, Razor Beam, and mPOWER families Sep 21, 2020
@calebreister
Copy link
Author

Added the Samtec mPOWER connector family (UMPT/UMPS) to Connector_Samtec.pretty.

Here are a couple of the new footprints. These are the weld tab variants.
Screenshot_20200920_195142

They match the Samtec 3D models.
Screenshot_20200920_195629

saviocmc and others added 8 commits September 23, 2020 08:38
* Add OnSemi CASE 100AQ, for the QRE1113 sensor

This is the Through Hole footprint for the QRE1113
Miniature Reflective Object Sensor, a reflective optocouple

Reference:
https://www.onsemi.com/pub/Collateral/QRE1113-D.PDF

This footprint is required to fix issue 2623 on kicad-symbols
KiCad/kicad-symbols#2623

* Add footprint for Everlight ITR1201SR10AR sensor

This is the SMD footprint for the Everlight ITR1201SR10AR
Miniature Reflective Object Sensor, a reflective optocouple

Reference:
https://www.everlight.com/file/ProductFile/ITR1201SR10AR-TR.pdf

This footprint is required to fix issue 2623 on kicad-symbols
KiCad/kicad-symbols#2623

* Fix 3D model file path for Everlight_ITR1201SR10AR and OnSemi_CASE100AQ

The fix was in order to make them comply with the KiCad Library Convention F9.3

* Fix OnSemi_CASE100AQ Pad 1 shape, setting it as a Rounded Rectangle

The change was made in compliance with the KiCad Library Convention F7.3

* Fix OnSemi_CASE100AQ positioning, setting the origin on Pad 1

The change was made in compliance with the KiCad Library Convention F7.2

(cherry picked from commit 78041bd)
* Use unique and IPC package sizes for R, L, and C

(cherry picked from commit 0008170)
@calebreister
Copy link
Author

Since I now have a script that generates all of the Samtec Razor Beam (LSHM/LSS/LSEM) footprints, I have deleted the old LSHM footprints in Connector_Samtec.pretty.

@evanshultz
Copy link
Collaborator

@calebreister
Back from a long hiatus on this! Though I never assigned it to myself.

Anyway, let's try to get this done. My thought is to review the script and then spot-check some footprints. If that looks good, we pull the trigger on the whole lot of them. If you're willing to handle any script updates if there are problems, so far as you can see (we can't know the future), that should be fine.

Let me start with a couple things:

  1. Why have non-Samtec footprints been touched? SMT caps/fuses/diodes/LEDs/resistors (stuff from the same 2-terminal generator script), Molex connectors, etc. Is any of that intentional? If so, why?
  2. Can all of these footprints just go into Connector_Samtec? Do they need their own folder? Maybe a breakdown of the quantities of footprints added in each new folder would help?

@calebreister
Copy link
Author

calebreister commented Oct 1, 2020

@evanshultz

Why have non-Samtec footprints been touched? SMT caps/fuses/diodes/LEDs/resistors (stuff from the same 2-terminal generator script), Molex connectors, etc. Is any of that intentional? If so, why?

Not intentional in the slightest. I tried to merge in changes from each release tag (the most recent being 5.1.7), but may have screwed it up. I'm not sure how to fix that.

Can all of these footprints just go into Connector_Samtec? Do they need their own folder? Maybe a breakdown of the quantities of footprints added in each new folder would help?

It's quite a few connectors, with room for expansion later on. Here is the breakdown:

  • Connector_Samtec_QStrip.pretty (72 footprints): Q Strip and Q Pairs (QTH/QSH, QTS/QSS, and QTE/QSE) connectors
  • Connector_Samtec_BasicBladeAndBeam.pretty (64 footprints): Basic Blade & Beam (BTH/BSH, BTS/BSS, BTE/BSE) connectors. These have a similar layout to Q Strip connectors (they are in fact generated using the same script), but do not have a ground strip.
  • Connector_Samtec_RazorBeam.pretty (22 footprints): Razor Beam self-mating connectors (LSHM, LSS, and LSEM)
  • Connector_Samtec.pretty (add 18, remove 12 footprints): added a couple of application-specific connector footprints (Q Strip connectors with the first bank differential) and vertical mPOWER (UMPT/UMPS) power connectors, which are designed to stack with a variety of other Samtec connectors (including Q Strip/Q Pairs and Basic Blade & Beam). Removed old LSHM footprints, replacements in Connector_Samtec_RazorBeam.pretty.

I created these libraries due to the number of variants and the possibility for future expansion. I've already begun work on making the horizontal variants of many of these footprints. This will cause some of the libraries to nearly double in size. I'm also working on creating a library for the Q2 family of connectors. That will most likely need to be another PR in the (possibly not-so-near) future.

I will be happy to oblige with script updates. I've put a lot of work into these scripts and the associated JSON files containing the footprint specifications. I also matched a sizeable sample of the footprints up to 3D models from the Samtec website.

@calebreister
Copy link
Author

Note that the current script PR has some incomplete/work-in-progress scripts (such as QStrip_Vertical.py) that I haven't touched in awhile. Since I've done some major restructuring, I will likely end up deleting those files and rewriting them in a new branch.

@calebreister
Copy link
Author

calebreister commented Oct 1, 2020

Quick question about the Q Strip/Q Pairs connectors. What should the ground plane pads be called? The planes are independent per bank, but all of the pads within a bank are connected. Currently, they are prefixed with a "P" (for plane) and the bank number (see above). I thought about naming them SH, but they are not technically shielding.

@calebreister
Copy link
Author

@evanshultz What do I need to do to resolve those conflicts? Can I just delete the files and merge in the upstream master branch?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Addition Adds new footprint to library Pending reviewer A pull request waiting for a reviewer
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants