Footprint for a 2-deck rotary switch

Hello All,

I am trying to make a footprint for a Grayhill Series 71 PC mounted two-deck 12-position rotary switch. Attachment 1 shows the switch from the datasheet. Attachment 2 shows the schematic I am using. Attachment 3 shows the footprint I have developed so far. My question is: How do I tell Kicad that the two decks are on the same switch? Of course, any other advice about creating this footprint would be appreciated.

Thanks in advance.

ceulrich



I see you already have a multi-part symbol. I see SW1A and SW1B, and that is good. However, in KiCad, pads with the same pad number always have to be connected on the PCB, and therefore you have to use different pin numbers for each of the decks. So you can use 1 though 13 for SW1A, but SW1B then has to be numbered 14 though 26. (And your footprint has to be modified too.)

1 Like

Paulvdh, thanks for the very quick response! I will make those changes. If that’s all it takes, Kicad is smarter than I thought.

Cheers

ceulrich

Hi paulvdh,

First try did not work. Do I need two symbols and two footprints with the different pin numbers in my libraries?

Cheers,

ceulrich

You only need one (multi-part) schematic symbol, and one footprint, but I understand your trouble. It is a bit finicky to get the details right for a multi-part symbol.

  1. First go to the Symbol Editor and make a copy of the symbol and put it in a personal library. KiCad’s own libraries are read-only because changes will be overwritten with KiCad updates.
  2. Symbol Editor / File / Symbol Properties and set General / Number of Units to 2.
  3. Symbol Editor / Edit / Pin Table, and click 13 times on the + button in the lower left corner to make more pins.
  4. Select all the rows and columns of the first 13 pins, and copy them to the clipboard.
  5. Select all columns of the (empty) next 13 rows you just made, and paste the pins into it.
  6. In the rightmost column labeled Unit, change it from ALL to A.
    image
  7. Copy the A and paste it into rows 2 through 13.
  8. Similar with pins 14 through 26. Set these all to Unit B.
  9. Change the pin numbers, and pin names, so they number from 1 up to 26. You can also use a bit of Copy & paste here.
  10. Close the pin table and review the result in the Symbol Editor. In the top bar, set the unit drop down list to Unit B, and see all the pin numbers change (from 1 to 13) (14 to 26) for the numbers for the second unit.
  11. Save the symbol, Exit the Symbol Editor.
  12. Place the symbol on the schematic. You put two instances of the symbol on the schematic, and you can change each instance between Unit A and Unit B in the same manner as with for example the 7400 quad nand gate or dual opamps such as the lm358.

For the footprint there is nothing special at all. It just has 26 pads in the right locations and all the other things you want to add to any footprint (some graphics, courtyard, etc).

4 Likes

Just a thank you to Paul for his above post

Yes, that is much more detail than I ever expected to get, thanks paulvdh
I will work on it tomorrow.

Cheers,

ceulrich

There were some questions about multi-part symbols in the past that I could not answer, so I figured it was time to figure it out. And while doing so I made some screenshots.

There still are some aspects of multi-part symbols I do not understand, and are not mentioned above, but after the write down I had a functional multi-part symbol.

I find @paulvdh solution perfect. The only thing I’d add to the schematic when finalizing it is a dotted graphic line to show that it’s ganged switches. This is the usual way:

This is a pure graphic gimmick and has nothing to do with the symbol itself.
(PS: too lazy to generate the multi-unit symbol. Sorry).

Ok, so I added a line too:

And the project too:

2023-11-28_asdf_rotary_DualDeck.zip (6.8 KB)

1 Like

Good boy! You deserve a lollipop.

Hello paulvdh,
All went well until I got to step 10. When I looked at Unit B, the pin numbers were displaced as shown in attachment one. Without thinking about any possible ramifications, I just moved them as a group until they “reconnected” with the switch. The resulting pin table is shown in attachment two. The difference in X-Position between the two decks is 2.54 mm, the actual distance for the switch is 5.5 mm. The footprint I previously made has the correct 5.5 mm difference. The question is, do I have a problem to sort out?

Thanks for any advice.

Cheers,
ceulrich


Working with the schematic or symbol editor is (a little bit) easier if you set the units to “mils”. (somewhat like Don Quixhote). You may also think of them as banana units.

The advantage is that you have nice round numbers (multiples of 50). Note that that in the X Position column, I have the same coordinate for all the contacts (except the common). You can use copy and paste to make these the same for both the A and the B units. Also note that I have an extra column with the Length label. You can enable this column by right clicking on the title bar of the columns, and selecting it from the popup menu.

Creating multipart components should be in a FAQ, otherwise this work is wasted, as no one will find it here.
I could use this info when I am creating relays with more than one contacts. And switches.

Is the translation “someone else should write this FAQ, I don’t want to do it myself”?
Or am I seeing this wrong?

Hi @ML9104

Only Level 3 (Regular) and above, have access to create and edit Wikis.
Either the Discord Forum information is incorrect or this Forum has set the Wiki access requirements to a higher level than originally supplied. :slightly_smiling_face:

G’day @jmk
I know, it was just the demanding tone that irked me. Funny enough, I have a quarter-done FAQ on the subject lying around somewhere. I’ll try digging it out.

If you don’t, I will.
I’ve just started diving into the FAQ quagmire to sort out the mess and update some of the still relevant topics.
Hopefully, it will all be finished in time for 8, when it will all need checking again! :rofl:

Just copying or moving my long post into a FAQ article is already a decent start.

1 Like

It should be well covered in the manual if it isn’t already . . . but I don’t think it is actually a Frequently asked question