Create a footprint for RF PCB antennas with "ENIG only"

Hi all,

in the recent days I’ve made good progress on my PCB thanks to the community helping me with “blockers” that did turn up - which is expected, since I’m a KiCad/PCB newbie.

For the remaining problems, I’ve decided to separate and simplify each one in a dedicated PCB (“bisecting”).

I also selected a manufacturer (Aisler) and PCB stack up (“Aisler complex 4-layer ENIG”).

Again, I would highly appreciate any hints or tips rgd this post! Thank you!


The final design will have 2 RF PCB antennas, left & right over a big ground plane:

These antennas seem to be called “planar helical”, and they span both the front and bottom Cu layers, they do not use inner Cu layer, but they do use vias (obviously).

My problem is: currently, the antennas switch material on every turn, from “bare Cu metal” to “ENIG plated Cu”.

I want to avoid that and have the complete antennas all ENIG.

Plus, ideally have a reusable footprint for the antenna (in left and in right orientation … like in the rendering above).

How do I do that?


I’ve tried the footprint editor, but I cannot freely draw but have to use the pad shapes available, which I can tweak, but it doesn’t get me to the shapes I need.

My assumption would be: if I had a footprint with basically a single complex shaped pad, that pad could be ENIG only.

I’ve also tried to define a net class “Antenna” in the the hope I could then just assign that to my currently hand-drawn (non-footprint based) antennas, and then define “ENIG finish” on that net class - but I couldn’t find any place where I can change the finish on net classes.

I should also mention: the antennas should also have no solder mask on the traces - which would automatically happen in footprint pads?

I also read docs, searched this forum, searched the web, and even asked ChatGPT;) No luck.

So again I’m at a junction where a hint/tip would be awesome!!

Perhaps I missed something but, it seems no problem with ENIG on the Front and Back Cu layers.

I did it on the PCB but would expect identical results if doing it in a Footprint.

Only DRC error is for the two unconnected track end’s (and expected that).

I did Not set any Net’s and wouldn’t expect a problem with it.

Opening the PCB file in text-editor shows ENIG for Cu…

1 Like

Thanks for trying/posting!!

I checked my stackup settings by loading the PCB in a text editor … pretty similars to yours … including copper_finish "ENIG":

(kicad_pcb (version 20221018) (generator pcbnew)

  (general
    (thickness 1.592)
  )

  (paper "A4" portrait)
  (title_block
    (title "Sub-GHz Dual Antenna")
    (company "typedef int GmbH")
    (comment 1 "Tobias Oberstein")
    (comment 4 "AISLER Project ID: JOXKYZND")
  )

  (layers
    (0 "F.Cu" signal)
    (1 "In1.Cu" power)
    (2 "In2.Cu" power)
    (31 "B.Cu" signal)
    (32 "B.Adhes" user "B.Adhesive")
    (33 "F.Adhes" user "F.Adhesive")
    (34 "B.Paste" user)
    (35 "F.Paste" user)
    (36 "B.SilkS" user "B.Silkscreen")
    (37 "F.SilkS" user "F.Silkscreen")
    (38 "B.Mask" user)
    (39 "F.Mask" user)
    (40 "Dwgs.User" user "User.Drawings")
    (41 "Cmts.User" user "User.Comments")
    (42 "Eco1.User" user "User.Eco1")
    (43 "Eco2.User" user "User.Eco2")
    (44 "Edge.Cuts" user)
    (45 "Margin" user)
    (46 "B.CrtYd" user "B.Courtyard")
    (47 "F.CrtYd" user "F.Courtyard")
    (48 "B.Fab" user)
    (49 "F.Fab" user)
    (50 "User.1" user)
    (51 "User.2" user)
    (52 "User.3" user)
    (53 "User.4" user)
    (54 "User.5" user)
    (55 "User.6" user)
    (56 "User.7" user)
    (57 "User.8" user)
    (58 "User.9" user)
  )

  (setup
    (stackup
      (layer "F.SilkS" (type "Top Silk Screen") (color "White") (material "Direct Printing"))
      (layer "F.Paste" (type "Top Solder Paste"))
      (layer "F.Mask" (type "Top Solder Mask") (color "Green") (thickness 0.025) (material "Liquid Ink") (epsilon_r 3.7) (loss_tangent 0.029))
      (layer "F.Cu" (type "copper") (thickness 0.035))
      (layer "dielectric 1" (type "prepreg") (color "FR4 natural") (thickness 0.136) (material "FR4") (epsilon_r 4.3) (loss_tangent 0.014))
      (layer "In1.Cu" (type "copper") (thickness 0.035))
      (layer "dielectric 2" (type "core") (color "FR4 natural") (thickness 1.13) (material "FR4") (epsilon_r 4.6) (loss_tangent 0.035))
      (layer "In2.Cu" (type "copper") (thickness 0.035))
      (layer "dielectric 3" (type "prepreg") (color "FR4 natural") (thickness 0.136) (material "FR4") (epsilon_r 4.3) (loss_tangent 0.014))
      (layer "B.Cu" (type "copper") (thickness 0.035))
      (layer "B.Mask" (type "Bottom Solder Mask") (color "Green") (thickness 0.025) (material "Liquid Ink") (epsilon_r 3.7) (loss_tangent 0.029))
      (layer "B.Paste" (type "Bottom Solder Paste"))
      (layer "B.SilkS" (type "Bottom Silk Screen") (color "White") (material "Direct Printing"))
      (copper_finish "ENIG")
      (dielectric_constraints no)
    )
...

I’m a bit puzzled by the 2 screenshots of yours, since in the 1st one the PCB traces look “golden” (ENIG?), but in the 2nd one the traces look “brown” (bare copper?), and in any case, in the 3D view, the color of your traces is different from the color of the vias … which couldn’t be right if both used the same finish (ENIG).

So: are you absolutely sure your traces (not only the vias) are ENIG in your example?

@BlackCoffee How did you get your traces in the 1st screenshot look “golden”??

I can’t make that happen on my side :frowning:

I’m not sure about anything I didn’t develop so, I trust (loosely put) Kicad’s programmers expect a User’s ENIG board with Via’s to have ENIG.

Isn’t ENIG related to the Cu the mfg puts in the board? I imagine so and that they see it in the file. But, user’s can always indicate it on a drawing and purchase order.

Just for fun, I made a Footprint but didn’t set widths to the same as the first one…

Color’s of the 3D viewer are set in the Pref’s and cannot expect colors to be as expected.

Re: your Trace color question - it’s about setting Kicad’s colors and plenty of posts on how to do it (it’s right in front of your eyes and easy to miss if not having spent enough time with Kicad…

With a Footprint

1 Like

Color’s of the 3D viewer are set in the Pref’s and cannot expect colors to be as expected.

Right. That sent me down the wrong track;) Personally, I do not change any default setting in an app unless I understand all details and am absolutely sure I need it.

Isn’t ENIG related to the Cu the mfg puts in the board?

I don’t know. I was assuming ENIG is a finish applied selectively. Maybe this assumption is wrong. FWIW, I tried ChatGPT … but it doesn’t really know:


side fun fact: ChatGPT blubbers along without real understanding - “So, exposed traces on inner layers do not receive the ENIG finish.” … exposed inner layers are never ENIG, they never are at all, since how would you expose an inner layer? :wink:

Too much fine print to read but, see Example attached…

So, now it’s really about spending enough time with Kicad…

1 Like

IOW: all copper on top/bottom of a PCB that is not covered by solder mask (F.mask and B.mask layers in KiCad 7) is always ENIG if “ENIG finish” is set at the board level / stackup?

Ok, if so, the last bit that confuses me: how do F.mask/B.mask layers work? Do I draw a filled rect in F.mask to expose that area, or do I not draw anything at that area, and this makes the area exposed, because by default everything (the complete PCB area) is unexposed? Thus, the drawing mode for F/B.mask is actually “inverted”?

I know, pretty dumb / newbie questions;) Sorry.

I tried to determine how it works “experimentally” … here is the 3D view of the antenna board with half of the antenna areas covered with F/B.mask:


In any case, the difference of color of the vias and the traces is what is confusing me.

If everything is ENIG, then why is the color different (regardless of my color settings … which are all default)

ahhh … maybe this again is “special”, depends on 3D viewer settings: pls compare


the difference is the setting “Use bare copper color for unplated copper”:

what the hell is “plating” anyways? I haven’t defined such stuff as “unplated areas” if that makes sense.

‘Clearly understanding’ this stuff is fairly quick and easy; it amounts to little more than Googling related interests such as, “what is ENIG on PCB” and asking the PCB fab-house questions. Then, playing with Kicad and trying different thing to see what they do…

With the knowledge gained, you’ll be able to apply it to using Kicad’s tools and settings to get what you ‘will’ want. But, until you have the knowledge, you won’t know what you will want.

Nothing to be ‘sorry’ about - Your questions are good but perhaps better suited to be asked at PCB design sites. Kicad is a tool for implementing design knowledge, not a ‘how to design’ resource.

You see from your work that Mask’s, Layer-stuff, etc, is all available and wonder/ask what to do and how to do it… So, your effort and Googling will pay-off…

1 Like

sure, RTFM, will do! =) np. thank you so much for your help!

beside RTFM, I’ll

a) just have the pcb manufactured to check physically - which is the ultimate test;) I do know what I want … I think … seeing/measuring is believing

b) the KiCad 3D viewer is fantastic! for design. but with the RF antenna specifically, I actually want to feed openEMS to simulate.

and I just finally figured out how to transport the RF antenna including vias and ground planes in a clean way!

tried various things, but fcad_pcb finally worked:

traces included, clean cylinders for vias, proper 3d meshes, all ground planes (2 here), everything script driven. python. awesome!

now comes openEMS … finally;) I want to compute some dBi’s … maybe render a movie … will see. then of course optimize/tune my antenna. anyways. tomorrow;)

It’s best to think of ENIG (or other copper finishes) as a post-processing step. This is not strictly true, but it’s close. This can be and usually is specified separately from the Gerber files, i.e. the Gerber’s don’t know what ENIG, HASL, etc. are. There’s no rule that the color you see in the PCB CAD file corresponds to any finish. This is not a flaw in the software, more in how the PCB process has evolved over the decades. Maybe newer file formats like ODB++ or similar specify this, but this is newish territory.

So, if you specify ENIG finish, or any other finish, it will cover any exposed copper that is not covered with soldermask. There are a few exceptions, like if you want hard gold plated connector fingers or something like that. No personal experience about how to make that happen, though.

BTW, you should be aware that ENIG is a thin flash of gold over a much thicker (but still thin) layer of nickel, and nickel has high RF losses due to both low conductivity and especially the fact that it is magnetic. How much it will affect your antennas, I do not know. For some RF circuits, I know that immersion silver is used.

Here’s a quick intro: https://www.wevolver.com/article/pcb-surface-finish-the-ultimate-guide-to-understanding-and-choosing-the-right-option. Anything more and you will need to do some additional research because I am not an expert.

Hope this helps,
John

2 Likes

Oh, thank you so much, love you;) This article seems spot on! and also is readable for an amateur like me.

I will study that in detail.

FWIW, as above I was also hinted at “first know what you want”: yeah, that’s part of my problem;) I am a software guy that for reasons became interested in creating an own device. I do have some basic hardware understanding, looong ago I even etched PCBs in my parent’s bathroom … well, I also lack any manufacturing, any RF experience …

I want to get as close as possible and cost-feasible to a perfect electrical conductor for RF <1GHz at a specific manufacturer I’ve chosen.

the piece I do understand is, in general, some materials are better than others for that, changing materials within a trace/antenna is always bad (reflections / impedance changes), and I assume say 200MHz-1GHz waves already mostly transit at material surfaces (skin effect).

anyways, maybe. I will study the article you linked in detail tomorrow! thanks again,

cheers,

/Tobias

fwiw, I don’t fully/really trust it, but here is what ChatGPT has to say:

FWIW, to conclude this post, and maybe of use for others, I’ve RTFM, here is the conclusion;)

Actually, there is a fantastic FAQ by @eelik that explains how solder masks work in KiCad:

The crucial piece I was missing is right at the top:

In KiCad (and other EDA) the graphical layer which represents solder mask is negative. Where there is graphics in this layer, the physical solder mask isn’t applied and there will be a hole in the solder mask.

Negative! Right. And this is specific to the mask layers, and only those.


Then, the article linked by @JohnSG clarified other confusions of mine, including this basic one:

A PCB surface finish is a thin layer applied to the exposed copper surfaces (exposed traces, pads, ground plains and holes) of a printed circuit board.

All exposed elements. Right. And “exposed” is controlled by solder mask layers (but that cannot control holes/vias, those are always exposed without special manufacturing)

Electroless Nickel Immersion Gold (ENIG) is a popular PCB surface finish that consists of two layers: an electroless nickel layer and a thin layer of immersion gold.

and

Nickel, in its pure form, is magnetic. However, in the context of ENIG (Electroless Nickel Immersion Gold) as a PCB surface finish, the nickel layer used is typically a specific type of nickel known as electroless nickel, which is non-magnetic. The reason it’s non-magnetic is that it lacks the ferromagnetic properties found in pure nickel.

So, while pure nickel is magnetic, the electroless nickel used in the ENIG process, particularly when combined with the gold immersion, does not exhibit significant magnetic properties. This makes ENIG suitable for RF applications and PCB antenna traces where non-magnetic materials are preferred.

Source: ChatGPT

It may be that the losses in ENIG are low enough for the purpose, but if you want the lowest loss, immersion silver will be lower. I am not an RF expert, but I’ve had to make some stuff work over the years. Also, I know enough about looking stuff up.

EDITED: corrected link below

Here is some real info on losses due to ENIG: https://pcdandf.com/pcdesign/index.php/editorial/menu-features/12498-rf-circuits-1803.

The upshot: at 1 GHz, the losses in a microstrip are small, even negligible. For a CPWG (coplanar waveguide), they start to get worse. The linked article even has a physics-based explanation, which has to do with the location of fields. In microstrip, they are mostly trapped between two copper surfaces, and the ENIG plating is on the “outside” of the structure. In CPWG, more of the field intersects the ENIG coating and the losses get worse.

You don’t have microstrip or coplanar waveguide. If you understand the explanation above, it might make you at least look at the dimensions and shape of your antenna and consider that its entire point of existence is to radiate energy to the outside. I’m not an expert, but it suggests to me that the helical antenna you propose will have a lot of ENIG surface intersecting with fields, worsening the losses. It could be simulated, but this will be difficult due to the discrepancy between the wavelength of interest and the thickness of the nickel layer.

The explanation given by ChatGPT about nickel is woefully incomplete. It’s permeability decreases with phosphorus content. You can search for real references about this. If I put a small rare earth magnet on a string, it is attracted to the ENIG layer of several blank PCBs I have lying around, in spite of the fact that it is only microns thick and area on 1 cm^2 or so.

ChatCPT sounds like an engineer who worked one year and spent the next decade or two on the marketing team. They only know some buzzwords and and remember enough engineering-speak to string them together in a grammatically correct manner, but talk with confidence like they are experts.

John

2 Likes

Thanks again for your comments, and for the new link / article! I need to study that.

Rgd ChatGPT: yeah, I absolutely agree! it can be dangerous to take it “as is”. for me it’s just a different search engine / another opinion. But one must be aware that ChatGPT is quick at “hallucinations”:wink:

Rgd waveguides and such: luckily, I’m only interested in 200MHz to 1GHz. I don’t have to deal with microwaves, and I don’t want to now (in this project) deal with crazy/“interesting” wave propagation modes like skywaves <30MHz.

Rgd antenna, sure, easy: I want an isotropic radiator with 20dB gain, low cost and small size. That was a joke;)

The device I want to create is a handheld device for outdoor use:

  • I can’t have a Lambda/2 dipole or even a Lambda/4 vertical at 200MHz in a handheld device due to size
  • it’s for outdoor use, so I’d be worried about immersion silver as silver is prone to tarnish and can oxidize over time
  • I think my manufacturer doesn’t support immersion silver anyways (at least in the prototyping service they offer)

Doesn’t matter, I highly appreciate your comments and new article! Will read in detail.

It occurs to me that CrapGPT needs to start doing citations. :wink:

2 Likes

I’m also not an expert even less so;)

My assumptions (which might be wrong of course) would have been slightly different … for sub-GHz, non-waveguide/microstrip at least:

  • the electromagnetic waves within the PCB antenna travel at the surface (skin effect) - thus, within the ENIG - rather than in between the 2 layers of a waveguide/microstrip - thus, within the Cu

  • the electromagnetic waves from the PCB antenna, traveling within the ENIG surface, will “peel off” from there into space. thus, there is no material transition


Anyways, I am aware I am in deep water / on thin ice as an amateur.

By coincidence, via some other post/discussion I started here on the KiCad forums rgd SMA connectors, I got into contact with a RF expert working full-time in RF who very kindly hinted he might give me some tips rgd questions once he finds time.

I have to say: I pretty much start to love this forum and the KiCad community. lot’s of knowledgable, nice and helpful people! =)

hahaha - made my day=)

yeah, this.

it’s an interesting tech, but I’ve seen it blubbering hallucinations which it clearly made up from the contents of my own question as that alone was detailed enough for it to associate/hallucinate.

what’s really a bit annoying to me though is the fact that it currently always starts to apologize and what if you nail it down pointing out errors or contradictions. I know that it doesn’t really understands anything. Nothing to apologize:)

Sounds like ENIG is the best choice for you, then. Your frequency is not too high, and your concern about corrosion of silver is real.

But, why not just have soldermask over the copper? It will also affect the antenna due to the extra capacitance, but how much depends on the dimensions of the copper vs. the solder mask thickness. It will also protect the copper to a large extent.

John

1 Like