How to connect pads in a footprint?

I hereby certify that I am not simply asking someone else to design a footprint for me.

Hi, all,

I’m trying to connect multiple pads in a single footprint. I’m trying to create a footprint that functions like a line of holes in a breadboard. I used as my pattern a 1x3 pin header. I’d like to short the three pads together in the footprint, so I don’t have to connect them individually in my PCB.

In the picture below, I think I somehow was able to join the top pad and a 0.5mm line to the middle pad. However, I can’t join the middle one to the top one, or the bottom one to the middle one.

I gave all three pads the same number, ‘1’. I think I’ve drawn a graphic line on the F.Cu layer, but can’t figure out how to convert it into a track.

Thanks for any suggestions or advice.

-Kevin

Application: KiCad Footprint Editor x86_64 on x86_64

Version: 8.0.7-8.0.7-0~ubuntu24.04.1, release build

Libraries:
wxWidgets 3.2.4
FreeType 2.13.2
HarfBuzz 8.3.0
FontConfig 2.15.0
libcurl/8.5.0 OpenSSL/3.0.13 zlib/1.3 brotli/1.1.0 zstd/1.5.5 libidn2/2.3.7 libpsl/0.21.2 (+libidn2/2.3.7) libssh/0.10.6/openssl/zlib nghttp2/1.59.0 librtmp/2.3 OpenLDAP/2.6.7

Platform: Ubuntu 24.04.1 LTS, 64 bit, Little endian, wxGTK, X11, ubuntu-xorg, x11
OpenGL: Mesa, NVA8, 3.3 (Compatibility Profile) Mesa 24.0.9-0ubuntu0.3

Build Info:
Date: Dec 3 2024 15:56:02
wxWidgets: 3.2.4 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.83.0
OCC: 7.6.3
Curl: 8.5.0
ngspice: 43
Compiler: GCC 13.2.0 with C++ ABI 1018

Build settings:

The simplest way that worked even in KiCad V5 is to use rectangle SMD pads (also having number 1) to connect your THT pads, I think (but didn’t checked it now).
Position when ‘1’ is written suggest that you merged the track into top pad. I’m not sure how adding graphic to pad exactly works but I suppose you cannot have such one created that way pad having several original pads in it.

Yes I know that I have made combination footprints in which I have 2 or more overlapping SMT pads with the same pad number.


I think there is no problem joining two THT pads with an SMT pad and they can have the same pad number. I think that tracks may not be allowed in a footprint, and graphic lines may not “register” as a desired connection. But they may produce errors in DRC.

Are you trying to create this footprint in the PCB editor or the Footprint editor?

In the Footprint editor, this just works.
Create new footprint > Place pads > add graphic lines, job done.

In the PCB editor, I don’t know. I’ve never tried, because the Footprint editor is for creating footprints.

@BobZ, @Piotr and @jmk, thanks for your replies and advice. I’m going to go with the SMD pads. I’m thrown off by the difference in colors, so I didn’t think it was working. I’ll try it again.

@jmk, this is what I’ve been doing, that produces Design Rules violations such as:

What evidence do you have that what you suggests actually works? Have you produced a board with this construction that had electrical connections between the pads?

Thanks, again, all for your suggestions.

-Kevin

I think your footprince will come! :laughing:

https://genius.com/Barbra-streisand-someday-my-prince-will-come-lyrics

But as for actual (hardware) electrical connections between pads, I am pretty sure that if the copper layer shows the metal graphic line touching two pads, they will be physically connected. I don’t think KiCad has any way to exclude copper (from the gerbers) if you see the copper connecting pads when you view the layer in KiCad. But, I do think you are likely to get DRC errors.

What is the problem with using the1x3 pin header and shorting them together on the schematic then a single connection on the PCB ? because if your routing a PCB anyway this takes less than a second.
if there shorted in the footprint then they will be shorted on the PCB :woozy_face:
What am I missing please ?
:mouse:

I prefer to connect the pins in the schematic or give the pads the same number and do the shorting at the PCB design stage because for THT pads it gives more freedom when routing tracks between the pads, whereas if you do it at footprint creation time you’ve fixed which side the “short” is on.

1 Like

@mousey and @retiredfeline , thanks for your responses.

@mousey, what if I’m creating a breakout board, and want to use my footprint 100 times? I’d have to create 200 shorts on the PCB, rather than creating 2 in the footprint and duplicating the footprint 100 times.

@retiredfeline, I’m not sure what you’re saying. I think that I can connect my footprint to any of the three THT pads and it still works. Nothing about routing in the PCB Editor requires me to connect to any specific pad. Is this what you’re saying?

Thanks, again, for your suggestions.

-Kevin

You missed the third possibility:

  • place one footprint,
  • make 2 shorts,

and then copy it (footprint with shorts) 100 times.

1 Like

much less than 100 copy pastes:

copy shorted fp, paste,
copy the 2 fp paste
copy 4 paste
copy 8 , 16, 32, 64, 128.
delete the 28 parts.

Not much work at all.

I didn’t write obvious things.

Sorry, there had been no mention of DRC in previous posts.

Anyway, no one has yet mentioned the “Array” tool.

Create a footprint “A”
Draw a track on the PCB editor from pad 1 to 5 “B”

Highlight the footprint, with track, RMB over that footprint then select “Create from Selection” > “Create Array” fill in the details and you get “C” or “D”, of whatever else can be created with the function.

When pads have the same number you will have to connect them with a track at layout time. If they have distinct numbers but the pins are connected in the schematic you will also have to connect them with a track at layout time.

It’s not clear to me if the OP @kevinz tried to use the approach suggested by @BobZ to connect the two THT pads using a SMD pad with the same number. It seems like the best approach to address the OP’s requirements.

This is a bit unfortunate screenshot:

As has already been mentioned here, if you design a footprint like that, then give all pads the same pad number. (probably pad no 1) If the pad numbers are different, you will create DRC violations if you want to connect those pads to schematic symbols.

In newer KiCad versions, graphics on a copper layer is also recognized as being valid for connections. That may be the best option.

I wonder how practical or useful it is to design a PCB with a breadboard layout in KiCad. The way I would do it is probably like:

  1. Draw the schematic as normal.
  2. Create a footprint with 5 pads, just as you are doing.
  3. Create a test point for each net in the schematic, and assign the 5 hole footprint to this. (TestPoint_Small is pretty small and unobtrusive).
  4. Make sure you assign footprints that are compatible with a breadboard.
  5. Schematic Editor / Tools / Update PCB from Schematic [F8] to put everything on the PCB.
  6. Start moving parts around on a 2.54mm (0.1 banana) grid.
  7. Use the testpoint shorts in the same orientation as on a breadboard.
  8. If you need more of these rows, then add multiple of these testpoints to a single net on the schematic, then update the PCB again.
  9. Near the end, maybe create an array of unconnected testpoints on the schematic, and use it (after [F8]) to fill up the empty rows on the PCB.

This leaves at least two issues to be resolved:

  1. On a breadboard, resistors and such have an easily adjustable width, they also don’t need to be horizontal or vertical. KiCad does have an option for “freely movable pads” for footprints, but I never worked with that.
  2. Breadboards often use wire bridges to make extra connections. The simplest way to mimick this is to enable multiple copper layers in KiCad. This way you can use multiple colors of “wiring”. One color for each layer :slight_smile: