Best way to implement jumpers in KiCad? - Page 1
Forum section: electronics / general

author: John B
author_rank: Frequent Contributor
timestamp: January 02, 2022, 01:12:55 am
content: 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)

author: retiredfeline
author_rank: Frequent Contributor
timestamp: January 02, 2022, 02:08:28 am
content: 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.

author: julian1
author_rank: Frequent Contributor
timestamp: January 02, 2022, 02:36:27 am
content: 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.

author: golden_labels
author_rank: Super Contributor
timestamp: January 02, 2022, 10:26:02 am
content: 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.

author: pierreraymondrondelle
author_rank: Contributor
timestamp: January 03, 2022, 01:42:42 pm
content: QuotePlease 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.

author: simon mugo
author_rank: Contributor
timestamp: April 14, 2022, 03:48:48 am
content: 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.

author: shapirus
author_rank: Super Contributor
timestamp: December 07, 2023, 10:42:52 pm
content: 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.

author: EE-digger
author_rank: Frequent Contributor
timestamp: January 18, 2024, 11:08:46 pm
content: 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.

author: shapirus
author_rank: Super Contributor
timestamp: January 18, 2024, 11:56:49 pm
content: Quote from: EE-digger on January 18, 2024, 11:08:46 pmThere 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/2004Implementing this is obviously trivial:Code:if (pad.pin_number == pad.pin_number) {mark_connected(pad, pad);}, 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.

author: Uky
author_rank: Regular Contributor
timestamp: January 19, 2024, 08:01:36 am
content: 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.

author: Anthem
author_rank: Contributor
timestamp: June 23, 2025, 12:12:47 pm
content: I just use Conn_01x01 or Conn_01x01_Pin and place them all on the same net track in the Schematic Editor. Name them all say J1a, J1b and if more Jumpers required then j2a,J2b etcThen I footprint each one of them as say, for example ; "SolderWire-1sqmm_1x01_D1.4mm_OD2.7mm". Then Update the PCB from the schematic and there they are. Just pin them one by one.Works out keeping the same net with the same name and I just put the Jumpers Pads or Wire Connector Pads wherever i want to on the same track in the PCB Editor.

author: shapirus
author_rank: Super Contributor
timestamp: June 23, 2025, 01:50:57 pm
content: Quote from: Anthem on June 23, 2025, 12:12:47 pmBut then DRC will still complain about unconnected pads, will it not? It requires all pads on the same net to be electrically connected by traces or copper zones I think. That's the problem: you need to use an actual track and you cannot tell the PCB editor that this track is virtual and will be implemented using a wire link at the assembly stage.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: June 23, 2025, 03:00:13 pm
content: This is also a recurring question on the KiCad forum. For a current thread see:https://forum.kicad.info/t/vias-for-jumpers/61871Or do a search on the KiCad forum:https://forum.kicad.info/search?q=jumpers%20wire%20order%3Alatest

author: langwadt
author_rank: Super Contributor
timestamp: June 23, 2025, 03:46:28 pm
content: use a via that'll work as a solder pad and make the jumpers as traces on an extra copper layer? just need to make sure you don't place where it'll go over other components

author: shapirus
author_rank: Super Contributor
timestamp: June 23, 2025, 04:20:24 pm
content: Quote from: langwadt on June 23, 2025, 03:46:28 pmYep that's a workaround. Issues: 1) it's ugly; 2) it may interfere with PCB manufacturing (as you don't want an actual via there), but may be fine with a PTH if you actually want to make a hole for a wire link there.

author: artag
author_rank: Super Contributor
timestamp: June 23, 2025, 04:22:33 pm
content: Quote from: John B on January 02, 2022, 01:12:55 amThat sounds like a terrible idea. Jumpers are there to break an electrically connected net into two separate nets. You don't want Kicad to be insensitive to where the break happens - the functionality will differ according to where you place it physically/. So you might want to de-power a section of the circuit but because of where the physical break occurred, it was still partiallly powered.Design your circuit functionally with the break where you want it electrically, and then optionally make the connection with a jumper.

author: Anthem
author_rank: Contributor
timestamp: June 23, 2025, 06:49:14 pm
content: Quote from: shapirus on June 23, 2025, 01:50:57 pmWell I am just using a single sided PCB with jumpers and just connect the jumpers as F.Cu tracks while the rest of the tracks are B.Cu. So the pad sizes are not via sized, but actually drill-able pads. That is a 1mm pad hole in my example, but you could downsize them to 0.8mm or whatever is your preferred jumper wire diameter, or as in my case, I use the wire leads that I cut off the components as the jumpers.So the DRC does not complain, as it sees the jumpers as being F.Cu layer tracks. If you leave the F.CU layer as ratsnest then obviously it will complain. If one were going use double-side PCBs then one would most likely not use jumpers in any case. There are current shunt symbols, if one were going to measure the volt drop across calibrated jumpers. I think there are symbols for current shunts already in KiCAD. Then of course there are the 1/4W() zero ohm resistors if you want to go that way.

author: langwadt
author_rank: Super Contributor
timestamp: June 23, 2025, 06:59:22 pm
content: Quote from: shapirus on June 23, 2025, 04:20:24 pmwhat's the difference between a non tented via and pth ?

author: shapirus
author_rank: Super Contributor
timestamp: June 23, 2025, 08:26:59 pm
content: Quote from: langwadt on June 23, 2025, 06:59:22 pmGood question, but I don't know. Vias and PTH are different things in the PCB editor and probably (again I'm not sure) in Gerber files, FWIW.

author: shapirus
author_rank: Super Contributor
timestamp: June 23, 2025, 08:36:18 pm
content: Quote from: artag on June 23, 2025, 04:22:33 pmMaybe we mean different types of jumpers. I imagined the ones that are used as "bridging" permanent links to jump over traces or components to connect otherwise isolated parts of the same net where it is not possible to create a regular trace. Such jumpers make no sense in the schematic editor, they are just wires, but they may be necessary when it comes to designing the PCB.Then, however, we have a problem of BOM, which may need to include such jumpers and will definitely need to include zero-ohm resistors if they are used for that purpose. It'll then require the PCB editor to generate the BOM, and not the schematic editor where I think it is currently done. But then the schematic editor will need to include these zero-ohm resistors or wire links as actual elements, which need to be added after the schematic is done, during PCB editing (possibly in several iterations), which doesn't sound completely right to me (even though that's what I actually ended up doing when I needed it, even with homemade PCBs).

author: langwadt
author_rank: Super Contributor
timestamp: June 23, 2025, 10:23:12 pm
content: Quote from: shapirus on June 23, 2025, 08:26:59 pmthere is no difference, except a via is usually smaller and it has the option to be tented which wouldn't make sense for a pth

author: Anthem
author_rank: Contributor
timestamp: June 24, 2025, 08:27:39 am
content: Quote from: langwadt on June 23, 2025, 10:23:12 pmWell there is a difference between a Blind via (which can be tented), a Buried via and a plated through hole PTH.See this pic fromhttps://mpe.researchmfg.com/pth-npth-via/I hope they don't mind me referencing their picture.The blind via can be tented, which really just means covered on the exposed side. Some advantages to tenting are appearance and some advantages in high frequency circuitry. Disadvantages are that it's not possible to trace the signal from external instruments and also it can trap moisture if moisture trapped when tented and oxidize the via.

author: John B
author_rank: Frequent Contributor
timestamp: June 24, 2025, 09:25:26 am
content: Quote from: artag on June 23, 2025, 04:22:33 pmYou may be using a different definition of jumper in this context.Without catching up on a 3 year old thread in depth, what I was looking for is essentially (invisible) traces being made on an nthdimensional layer that are not included in the final gerbers and have no bearing on the assembly. A jumper would have it's own layer and the invisible traces would signal to the DRC that parts of the same net are not isolated from one another. You would most likely use a PTH to solder wire to the pad and act like a via.