PCB Rogowski Coil


i’m new to KiCad, but i wanted to built a small lab-PCB for my students to play around with some power electronics and see the effects of the different parameters on the switching behaviour. and i though it would be even pretty neat to have a rogowski coil realized in the PCB to measure the current.

is there any solution available? i couldnt ifnd any, except that @MitjaN meantioned that he realized it with with KiCadModTree, but couldnt find any more information :frowning: Though i would be interested if i can maybe mis-use his PlaceFootprint plugin for this purpose, if i could rename the nets automatically accordingly (still checking on this).


try this: https://www.ti.com/lit/ug/tidubv4a/tidubv4a.pdf
the GERBER’s are available

A simple search shows these things are relatively common:

Most are round, some are square, which makes it a bit easier to draw.

I see roughly two approaches. The most flexible approach is to write a python script in KiCad, I guess such a script fits on a single page, and it gives you the most flexibility.

The other approach is to draw it manually, by using some circular array’s. It’s quicker to do once, but for the next iteration you have to start all over.

A little flowchart for a 100 winding coil:

  1. Create a circular array of 100 via’s for the outside.
  2. Create two circular arrays for the inside, slightly staggered to make them fit.
  3. Draw a few tracks between the via’s.
  4. Connect a few of the vias with tracks in “all angle mode”.
  5. Delete everything except two full windings and their via’s.
  6. Create a circular array of 50 instances of this block.

A word of caution though:
KiCad is not very good at graphical things, but I think this is still doable. I suggest you first do a few attempts just to get familiar with the details for this in KiCad before you settle on a final design.

If I wanted just one, then I would build it manually:

  1. Find a bobbin or similar of suitable size.
  2. Saw it in half lengthwise.
  3. Wind “enameled” wire on each of the halves.
  4. Glue them together again, or (before hand) make some kind of hinge in between them.

I’m using this with some other papers for the design. The problem is more realizing it on my own and adapted to my needs.

This is more or less what i had in mind, but i will try to do it with some available example scripts on my own in KiCad. Calculating the coordinates is not much of a problem though. I hope the Coil Generator is a help though. If i’m doing the work I think i can invest a little bit more and write directly a script that helps me a bit for future applications.

this is an amazing garage build! haha :slight_smile: Though actually if i think about it should be possible to wind an own one, like the PEMUK-Coils, with a 3D-Printer using the inter-layer gaps as “rails” for the boppin with a very low layer thickness (should be finer than bolts). Will consider this idea for the future…

Fair enough.
How good a performance are you realistically going to achieve with a PCB based rowgoski?

They are typically made out of very fine wire tighty wound along a “long” thin former and then looped back on itself to complete the sense loop area

Yup the main issue is that with PCB Rogowski coils you are limited by the number of turns and a cross section of each turn. So you get really weak signal out from the coil. You can stack multiple PCBs though.

Here is the python script I used to generate Rogowski footprints, but since it has been a long time since I’ve used it I am not certain if this is the right one

The script generates the footprint and FasHenry input file with which you can calculate coil inductance

1 Like

this is something to find out… though as @MitjaN said, you can stack up multiple layers to increase the performance. also better manufacturing techniques, such as laser vias, help to improve the performance. at the moment it is for me more of a proof of concept and to play along, while i’m preparing the lab-PCB for double pulse tests. just got me curious :wink:

i would assume that this is going to be relatively cheap compared to a “real” rogowski coil, also the lack of flexibility (flexPCB?!) is of course a disadvantage.

@MitjaN thanks for the script! do i see it correctly that you even implemented a FastHenry simulation to obtain the inductance? quite amazing though

Yup. I tor the inspiration from spiki.

It is amazing what free tools are available and what you can do with them with a bit of plumbing them together.

1 Like

Speaking of FastHenry, I’ve been working on a tool to integrate FastHenry in Blender, essentially creating an EM Workbench in Blender similar to what is available in FreeCAD. Blender has powerful capabilities to create complex shapes and curves effortlessly. Have a look at this video


yeah i know your project, i think i saw it on LinkedIn :slight_smile: cool work, though do you validated the models somehow?

For FreeCAD exists the EM Workbench which also uses FastHenry, but somehow when i compared it to other simulations (FastHenry and FEMM) the results did not fit. But this was like 5 or 6 years ago, maybe it was a bug or i dont know.