Test Point on each net

What is the fastest way to associate a test point to each net? I need each net in the schematic to have a corresponding test point (usually a 1mm diameter pad) on the bottom, this to allow us to perform an automated test with a flying probe machine. I would just need to have the TPs in the PCB Editor, then I would go and position them by routing them by hand.

Thanks and greetings from Italy

1 Like

I would say you need to add them to the schematic. You may need to make a custom footprint.

There are plenty of test point footprints in the standard KiCad libraries. In terms of how to do this, you’ll need to add an appropriate symbol to each net in the schematic (search the symbol library for ‘test’):

You then need to assign a test point footprint to each of these. You can do this in bulk with the Assign Footprints tool.

One time or long term?

I’m guessing this is a recurring topic for you, and this may make it worth to use a scripted approach. Adding a (preselected) footprint to each net inside the PCB editor is probably less then 20 lines of python. Also add a few lines more to check whether a net already has a testpoint, so you can run the script again after the schematic has been modified.

More for hobby boards than for production boards:
I use a short jumper made of bare wire (such as the lead wire cut from an axial resistor) as test points. Usually the wire is not functioning as a jumper; I have both ends connected to the same net (track). But of course you can use it as a jumper if that is helpful.

A jumper “stays put” much better before and during soldering than would a wire inserted into a single through-hole.

The question is whether you can use a wire as a jumper so that it establishes a needed connection, while considering that both ends of the jumper are on the same net.

I don’t think it’s a problem. Just make a jumper footprint with two pads both numbered 1.

Thanks I will have to try that sometime…

UPDATE:

I have experimentally tried that on a design that I am working on. I originally just changed the symbol to make both pins to 1. (no, I did not use 2,309 or 2,310 or pi or cake). That was not enough; I needed to change footprint similarly. That much is OK. But:

For a test point that is probably good enough. However, for a jumper, while it should maintain the same net, I guess that KiCad will not guide the pcb layout as desired because both pins have the same number. And I wonder whether ERC will rear its head when the time comes. I generally ignore a lot of ERC errors, and I suspect this will be another one. For a jumper for the time being, I think it may be better to live with different nets on the two pins of a jumper.

You can even number them π as long as you have a pie on the symbol. :stuck_out_tongue_winking_eye:

1 Like

Test points that tee off a net on the schematic are fine in small quantities:

0

but for a compact way to tuck them inline in a net, make one that is just a point (and assign whatever footprint you’d like):

4 Likes

Long term… from your answer i can think that there are no scripts or plugins to do this, your idea of ​​using python sounds good but honestly i don’t know where to start to write what you propose in python, can there be someone in the forum able to do it? Thanks

Also test point loops with plastic bodies in different colours are a thing at the usual suppliers for cents each. But of course frugal people like you and me use the cut-off ends of component leads.

Today was a hard day of work, but in the end I managed to make a Python script to insert in PCB Editor one TP for each net with at least two connections, the TPs are inserted in the top left corner and must then be positioned by hand, but for now I can consider myself satisfied, tomorrow I will try to make some more changes that I have in mind, in the next few days I will attach it to this discussion. Thanks to everyone

1 Like

I had the same idea :wink:

1 Like

Yeah the method is aimed at test points. You need only one pin in the symbol but there should be two pads in the footprint. KiCad will require that you join both pads with a trace so the wire loop is redundant but the loop is only to hook test probes to.

Is it also unnecessary and repetitive and redundant?

Any chance you’d be willing to share that script? I’ve been struggling with this process myself, about to move from proto to prod and need to support automated testing.