Extra / hidden pins or extra netlist connections

I am now working on a project that has 8 TO-126 transistors, each with it’s own heatsink, and all the heatsinks are connected to GND. Because the position of the heatsink is always the same relative to the transistor, I added 2 PTH holes to the transistor. (I don’t care about the BOM for this project).

Now I wonder how I can connect the heatsinks to GND. It is easy to modify the transistor symbol to add a GND pin, but adding the wiring and GND symbols looks messy on the schematic. Is there an easy way to modify the netlist so the GND pads of these transistors / heatsinks? It has to be persistent during PCB updates.

Are the collectors insulated from the heatsinks? I assume they are, but there is no mention.

The transistors are insulated from the heatsinks with silpads, and there is no other connection to the heatsinks. I am reverse engineering a headphone amplifier (Ali HV1 kit, based on beyerdynamic A1) and I guess the grounded heatsinks are mostly for shielding against noise.

When the heatsinks are electrically isolated mounted to, or in contact with, the PC board, I’ve always created separate components for those heatsinks.

A floor plan for the shape, with or without mounting pads and labeled as such.

My thoughts have always been: they take up PCB real-estate, so they need to be a specifiable part.

That is what normal people would do.

I liked the idea of specifying pad positions once in the footprint, so the heatsink always has the same relative position to the transistor. In itself that works swell, but it has no schematic pin, so I can’t ground the heatsinks.

At the moment I would also be perfectly happy with a custom rule to suppress DRC violations between the GND net and any pad with pad nr 100. Is that an easy constraint to set up?

(A better rule would be to add all the “100” pads to the GND net).

But if you don’t add the gnd. pins and nets that are now part of the symbol, will you be able to attach tracks to the pads in the footprints?

That is exactly my problem. I can route to them by disabling clearance violations, or by bluntly copying a track segment over them.

Adding a pin to the transistor would solve it, but a BJT with a 4th GND pin just looks weird.

Another way that looks nicely is to design a circular heatsink symbol that looks like those heatsinked transistors and can be placed “around” a transistor. I am actually a bit surprised this is not (yet) in KiCad’s standard library.

1 Like

As long as both pads have the same number.

I appreciate you trying to help, but you should also know I have enough experience with KiCad to know those small things.

I am now trying to set up a rule for this, but I’m struggling with the syntax.

Only mentioned because I was cursing and swearing a few days ago because a track wouldn’t connect to two pins of a footprint i made. This idiot forgot stuff. :grimacing:

I know the feeling.

I now have a custom rule, and it seems to partially do what I want of it:

(version 1)
(rule “heatsinkpad”
(condition “A.NetName == ‘GND’ && B.Pad_Number == ‘100’”)
(constraint clearance (min 0mm))
)

It supresses DRC for these pads (and hopefully the heatsink pads with nr “100” only) but it is not the “better” rule that would make these pads part of the GND net. (Is that even possible with custom rules?)

And I wonder, does this rule really do what I expect it to do, or is there something unforseen under the hood?

Now this is weird… (but also sort of handy…)

I changed the track width of a segment of the GND net on some other location, and KiCad responded with:

image

So I clicked on [Change Nets] and those 16 pads turned out to be the 16 heatsink pads, and those are now part of the GND net. This is the best result I wanted to achieve, but the way to get there is … convoluted?

Adding a pin to the transistor would solve it, but a BJT with a 4th GND pin just looks weird.

Build a mult-unit symbol and store those extra pin into the second unit?

1 Like

Now that is a neat solution that deserves another:

1 Like

Not only does he have a nice green and white avatar, but he knows, and remembers, stuff. :+1:

1 Like

I would expand the symbol of the transistor with a heatsink graphic and attach the GND-pins there.

1 Like

Check the “Elektuur” library often mentioned on this site.
It contains a heatsink symbol (T-BJT-heat) that can be enhanced with a GND connection. The idea is nice.
Modify it to your needs.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.