Rasp the sharp edges

Hi, I have a quite complex layout with sharp edges resulting from many different types of objects. The cicuit is riding ontop a 15kV high voltage line. Is there a pssibilty to desharpen and rasp the edges for all objects to prevent electric (!!) corona ?


At least I haven’t heard of any.

I doubt it could be done for tracks because they are lines with thickness, they aren’t outlines. But they have rounded ends/corners automatically.

You could change all pads from rectangles to rounded rectangles. Maybe that could be done with the python API, or with an external script manipulating the s-expression file.

Zones have corner smoothing (-> fillet) property and fillet radius.

How can we make sense of:

Maybe tackle those objects one at a time?

I am wondering what you are actually trying to do here and what the overall system is doing. Maybe have a look at the bigger picture?

Is it an option to put your whole PCB into a metal box / faraday cage so there are no strong electrical fields on the PCB itself?

Lots of 90° angles. The whole thing is riding on a 15kV potential and the edges will produce corona discharge. I want to smooth the edges automatically, I have 1500 components so ‘tackling one at a time’ is much work. How can I replace footprint A with a smoothed version B?

Is it an option to put your whole PCB into a metal box / faraday cage so there are no strong electrical fields on the PCB itself?



Is the board not in a container / housing?


I cannot use a shielding because I need the air as insulation, I’d get flashovers in a shielding.

eelik suggested to change the pads, but those pads are part of footprints.
I do not know where your footprints com from. Those rectangular pads look like they either from an old KiCad V4 library, or from some external site such as snapeda. In the libraries for KiCad V5 pads of lots of footprints already have rounded corners. R15 is an example of a newer footprint which already has rounded corners.

How many different sized footprints do you have?
The procedure for exchanging footprints is (very short).

  1. Create a new empty footprint library and add it to your project.
  2. Copy an existing footprint into that library.
  3. Modify that footprint and save it.
  4. In Eeschema, update all the footprint links for the schematic symbol that uses it to the new library. Use: Eeschema / Tools / Edit Symbol Fields and then Group Symbols by Footprint. This lets you update multiple footprints with a few mouse clicks.
  5. Eeschema / Tools / Update PCB from Schematic [F8] and then enable "Options / Update footprints**.
  6. Repeat those steps for other footprints.

But PCB’s are not flat, they are 3D entities with all kind of soldered parts sticking out so only working on the PCB itself. Have you considered potting compounds or anti-corona coatings?
[Edit] Parylene mentioned by JohnRob is not “shielding”, it is an electrically isolating coating.

I do find this whole topic a bit strange though.
A PCB full of low voltage electronics in electric fields of 15kV and such strength that corona discharge is a problem… It seems you’re seriously eating into any safety margins left.

I wasn’t thinking of shielding, I was kinda asking how a board survived in the outdoors. I guess the conclusion has to be it is not outdoors.

It is going to be a 100kV function generator, 1A . No safety margins. The trenches seperate 3.3kV SiC Mosfets. 40 stages are controlled by plastic optical fibers, energy is transferred with an air-core coil.

THX for recipe with the footprints, I’ll check that.

Lots of fun.
I will survive, probably.


Working with 100kW and no safety margins…

That can easily turn into a hair raising experience.
(Sorry could not resist).

If you touch the thing your hair is the least problem. SCNR

The fact that the circuit is at a high voltage doesn’t affect all pads, only across areas where that hv exists.

Your example shows smd footprints which will not possibly withstand those high voltages.

You need to separate portions of the circuit based on the voltages present and have adequate isolation with appropriate coupling between stages. It is a complex design.

I do hope this isn’t your first project.

How much air?
70 kV arcs straight through 3mm window glass.

Could you provide a full PCB overview and then draw (using gimp/photoshop) some boundaries to state the potentials.

I would be worried with all this sharp corners but the area’s to address are those areas that will experience HV potential difference.

I take it R15, R12,R14 … are some high voltage potential divider? you have a SMALL resistor and a chain of larger resistors and thus I am thinking higher impedance and higher power rating. What is the potential difference across each one of these? if it is significant (say 1kV) then look at changing the footprint to round it.

The zones can be rounded and I always round them for EXACTLY this concern. In fact all my pads are rounded


I do hope this isn’t your first project

THX for the care, I do HV electronics for 30y+ , but it is my first KiCad project :)).

The generator will have 40 stages, each doing 3kV. The trench such as between ‘plusplus’ and ‘BoltPlus’ belongs to a 3k3V Mosfet and has 6mm of insulation distance. This distance is kept for high voltage areas. BTW, the 3kV are switched in 3ns which gives one amp in the 1pF stray capacitance :)), lots of fun.

The 3kV within the board are one thing, not much concern about corona on that issue. But the boards are stacked , resulting in 100kV to ground in the last stage, and that will do corona. With the voltage we want to measure ‘Partial discharge’ on devices under test, we do not want to mess up the measurement with corona from the generator.

R11-R14 are MELF resistors for a voltage divider for the 3kV, impulse resistant and rated for 1kV. Ill try to get rid of their sharp edges and of the sharp edges of the transistor footprint.

Thank you

Round like a babys a, no more corona.

Thank you very much.

1 Like

I probably should not be reading this collection of messages today.
Between navigating messsges written by people who communicate using 50% ACRONYMS to soneone using a printed circut as the resident location for a 15 kilovolt device and wants advice on avoiding arcing and corona discharge on his FIRST circuit board… I say packge all the parts in a vacuum with parts spaced at least 2 inches apart.
Turn off the room lights and look for electrons seeking a welcoming path.
Did I miss the fact that is post must have been intended for publication on April 1,2021

I read it differently.
I got the feeling DetlefS has quiet some experience with electronics & PCB design (years probably, I think he even mentioned it in one of his posts) and he’s just started with (switched to) KiCad and is getting to grips with how & whee to find the functions & buttons he wants.

Folks, look at this fine piece of art. From 3o’clock to 6o’clock you have 3000V, it is between the two purple tracks. 40 boards are stacked, the caps forming the outer field. Yes, we are old silverhaired (or no-haired) people who do Highvoltage for decades now. Before our retirement we want to have some fun.

Thank you for the very useful hints on KiCad, I now work quite fluently. The thing I miss most is selecting groups with polygons.


KiCad indeed does not have a selection method by drawing a “fence” around an area.

What you do have:

  • Drag a box from left to right to select only fully enclosed objects.
  • Drag a box from right to left to also select items crossing box boundaries.
  • Hold shift while clicking or dragging to add stuff to the previous selection.
  • Holding shift plus click can toggle objects into and out of the selection.