Author Topic: Best way to implement jumpers in KiCad?  (Read 8021 times)

0 Members and 1 Guest are viewing this topic.

Offline John BTopic starter

  • Frequent Contributor
  • **
  • Posts: 800
  • Country: au
Best way to implement jumpers in KiCad?
« on: January 02, 2022, 01:12:55 am »
I want to implement some manual jumper points on a 2 layer board, mainly power rails and such, but I'm having trouble finding what the best way to implement it is.

Ideally I would like KiCad to recognise both end points of a jumper as the same net, but I would like 2 separate footprints. Eg, something like 2 separate plated through holes, but KiCad would automatically recognise them as connected (maybe through an invisible layer that isn't included in the gerbers?)

That way you could place either footprint anywhere in the PCB and the DRC would still recognise that anything connected to those pads are also connected to one another. (so you dont end up with "islands" of unconnected nets)
« Last Edit: January 02, 2022, 01:30:18 am by John B »
 

Online retiredfeline

  • Frequent Contributor
  • **
  • Posts: 539
  • Country: au
Re: Best way to implement jumpers in KiCad?
« Reply #1 on: January 02, 2022, 02:08:28 am »
I haven't seen any good way of doing this, especially if the nets are connected is conditional on the jumper. But why require them to be the same net? It only elicits a warning from ERC (not DRC) if a net is not driven. Judicious use of the PWR_FLAG (inappropriately named for this use case) should satisfy ERC.

 

Offline julian1

  • Frequent Contributor
  • **
  • Posts: 735
  • Country: au
Re: Best way to implement jumpers in KiCad?
« Reply #2 on: January 02, 2022, 02:36:27 am »
Have you seen how a net-tie symbol works in kicad? It breaks a net, but is electrically closed, because the footprint pads are joined by a copper trace.

You could probably achieve what you want using the inverse approach.  ie Create a symbol with two pins, where both pins share the same pin number (eg 1) so the net is not broken. Then adapt an open (when unpopulated) footprint jumper (smd R) by assigning both pads the same number.

In general such tricks should be avoided, because they break assumptions and add to complexity.
 

Offline golden_labels

  • Super Contributor
  • ***
  • Posts: 1209
  • Country: pl
Re: Best way to implement jumpers in KiCad?
« Reply #3 on: January 02, 2022, 10:26:02 am »
You may use labels to directly name your nets. If wires bear the same label, they are treated as a single net.

Alternatively you may divide your schematic and simply put a jumper with both ends connected to nothing except the same power symbol (e.g. VCC). Preferably close to a segment that describes the power supply — for clarity. Of course that symbol will also need PWR_FLAG, but it only has to be placed once for the whole schematic and most likely you already have it in the power supply section.

The downside of both approaches: in PCB editor you will get no warnings if you connect your devices to the wrong side of the jumper.
People imagine AI as T1000. What we got so far is glorified T9.
 

Offline pierreraymondrondelle

  • Contributor
  • Posts: 33
  • Country: fr
Re: Best way to implement jumpers in KiCad?
« Reply #4 on: January 03, 2022, 01:42:42 pm »
Quote
Ideally I would like KiCad to recognise both end points of a jumper as the same net, but I would like 2 separate footprints. Eg, something like 2 separate plated through holes, but KiCad would automatically recognise them as connected (maybe through an invisible layer that isn't included in the gerbers?)

That way you could place either footprint anywhere in the PCB and the DRC would still recognise that anything connected to those pads are also connected to one another. (so you dont end up with "islands" of unconnected nets)

Please have a look to this post: https://forum.kicad.info/t/multiple-pcbs-from-single-schematic-take-2/32798/17, from messages #14 to 17 & 19. The trick is to fool kicad with both the symbol and the footprint.
 

Offline simon mugo

  • Contributor
  • !
  • Posts: 13
  • Country: ke
Re: Best way to implement jumpers in KiCad?
« Reply #5 on: April 14, 2022, 03:48:48 am »
Well said. You have to ensure that the footprints and the symbols are perfect before you introduce the netlist generation. It is also good to learn to customize your own PCB footprints and symbol. They will go a long way to ensure that you are safe.
 

Offline shapirus

  • Super Contributor
  • ***
  • Posts: 1369
  • Country: ua
Re: Best way to implement jumpers in KiCad?
« Reply #6 on: December 07, 2023, 10:42:52 pm »
Still no good way to achieve this?

There's a not-so-ugly workaround for through hole wire jumpers (mainly used to cross traces on single- or double-layer boards)

Place a two-pad footprint, where the pads are through holes having the same pin number, then manually assign the necessary net to each of the pads manually in the properties dialog, then connect both ends of the trace that has to cross over other traces to the pads.

By this point, it's all fine except that you still have the ratsnest line between the pads: kicad thinks that the pins with the same number are not connected (the reason of which is beyond me). The workaround I mentioned, and that was mentioned in one of the previous posts, is to connect the pads on a virtual layer that will be ignored in fabrication.

But what do we do for SMD jumpers, for which zero-ohm resistors are used? Everything said above applies to them, except that they cannot be connected in a different layer, unless you place vias under the pads, but I'm not sure that's even going to work, and besides, how do we exclude them from fabrication (unless it's a DIY board)?

In Proteus, for example, you can simply place a footprint (doesn't have to be in the schematic, which is correct) with two pads with the same pin number, which are immediately treated as internally connected, and then simply connect a trace to them as you need, and they automatically assume the net of the trace that you connected. It glitches when you use more than one jumper on the same trace, but that's a different story. I imagined something similar would be possible in KiCad, but apparently it takes years (there's that ages old issue) and great courage to decide whether the pins with the same number are connected internally in the device or not. I have an easy answer: check the datasheets. Yes they most definitely are. If you don't want them connected, use different pin numbers, that's it.
 

Online EE-digger

  • Frequent Contributor
  • **
  • Posts: 348
  • Country: us
Re: Best way to implement jumpers in KiCad?
« Reply #7 on: January 18, 2024, 11:08:46 pm »
Just dropped by, no longer an expert (never was).

How about treating it the way certain antenna patterns are treated.  Make your footprint out of copper and put two pads on the same net.  I know this is easy to do but don't recall how.  Sorry.
 

Offline shapirus

  • Super Contributor
  • ***
  • Posts: 1369
  • Country: ua
Re: Best way to implement jumpers in KiCad?
« Reply #8 on: January 18, 2024, 11:56:49 pm »
How about treating it the way certain antenna patterns are treated.  Make your footprint out of copper and put two pads on the same net.  I know this is easy to do but don't recall how.  Sorry.
There will still be an unsatisfied ratsnest connection between these pads that DRC will complain about. It wants you to connect both of those pads to the net with actual traces -- avoiding which is exactly the goal of creating wire jumper/link footprints. KiCad does not treat pads with the same number as "internally connected", nor there is a way to assign multiple pads to the same pin.

There is an EIGHT YEARS OLD issue in the KiCad issue tracker: https://gitlab.com/kicad/code/kicad/-/issues/2004

Implementing this is obviously trivial:

Code: [Select]
if (pad[a].pin_number == pad[b].pin_number) {
    mark_connected(pad[a], pad[b]);
}
, so I believe there is some strong opposition among the developers, which I cannot explain, to this very basic feature that has at least two very obvious real-life use cases, whereas I can barely imagine any use case that would be broken by treating pins with the same numbers as connected.
 

Offline Uky

  • Regular Contributor
  • *
  • Posts: 106
  • Country: se
Re: Best way to implement jumpers in KiCad?
« Reply #9 on: January 19, 2024, 08:01:36 am »
If having a two-layer board and wanting ti use jumpers...

One way could be to add an extra layer "JUMPERS", define (larger) vias and then use that layer for routing where jumpers is required.

The jumper layer is not used for board fabrication but the traces can be used for documentation purposes with manually added jumper labels.

My 5 cents.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf