This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Problem with radio frequency custom board. Balun mismatch?

Hi Nordic,

I have an application that perfectly runs in the nrf51DK but that does not work in my custom board. In my custom board everything else works (i2c, leds lighting, etc..) except for the communication related stuff. I think I am having some problems with the antenna. The balun I am using is 2450BM08B0003, which is the one recommended in this page for the nrf51422. As a detail, the components in the board have been placed by hand and soldered with oven reflow.

Here I attach the parts of the design that have to do with the communication.

image description

image description

image description

Any idea on how to debug my problem? I have no idea what is going on. I have been reading some other people have the exact same problem, but I have yet no idea of a proper solution.

PS: Sometimes we can transmit data from our custom board to the nordic developer kit. But not the other way around, we cannot receive data. Is this usual?

Thanks for your help!

Parents
  • Hi Angel, Michael has a lot of good points regarding the antenna. To sum it up:

    • There should not be any signal traces beneath the antenna.
    • There are no tuning components for the antenna. (this is increasingly important with a via in the RF path.
    • The antenna must be tuned using a network analyzer for optimum performance. This is hard without any tuning components though.

    In addition I have some comments:

    • The balun you are using is designed for the WLCSP package version, and thus transforms the load impedance into a different one than the QFN package version requires for optimum performance. The correct Johanson part would be 2450BM14E0003 in your case.
    • This particular antenna is a meander antenna design, which relies on the geometry in order to radiate. The total length is not relevant as in a monopole antenna. It looks very much like an antenna which we have been using in a lot of our designs, but one of the sides is too short, which will decrease the radiation efficiency.
    • The antenna should be placed on the end of the board, not in the middle. Ideally (for this one at least) there should be free space on three sides, and a ground plane on the feed side.
    • The balun is not properly grounded, there should be a larger land with multiple vias to bottom/internal ground planes around the ground solder pad. The balun seems to be placed approximately the correct distance from the nRF though.
    • There is a 15 nH inductor missing between L1 and C11 for filtering noise from the DCDC converter.

    As Michael said you might be better off redoing the layout. Prioritize the antenna and radio placement, place it where it will radiate freely, and where it is free from metal objects and e.g. not covered by a hand when used. Also, if you did not already, check out the nRF51 PCB design tutorial and the reference design with Johanson balun, which also contains Altium designer files that you can use. Using the nRF51-Dongle HW files you can also see how to use the nRF51 with this kind of antenna, however with a discrete component matching network.

    And as always, please feel free to submit your design for review before shipping it off to production.

Reply
  • Hi Angel, Michael has a lot of good points regarding the antenna. To sum it up:

    • There should not be any signal traces beneath the antenna.
    • There are no tuning components for the antenna. (this is increasingly important with a via in the RF path.
    • The antenna must be tuned using a network analyzer for optimum performance. This is hard without any tuning components though.

    In addition I have some comments:

    • The balun you are using is designed for the WLCSP package version, and thus transforms the load impedance into a different one than the QFN package version requires for optimum performance. The correct Johanson part would be 2450BM14E0003 in your case.
    • This particular antenna is a meander antenna design, which relies on the geometry in order to radiate. The total length is not relevant as in a monopole antenna. It looks very much like an antenna which we have been using in a lot of our designs, but one of the sides is too short, which will decrease the radiation efficiency.
    • The antenna should be placed on the end of the board, not in the middle. Ideally (for this one at least) there should be free space on three sides, and a ground plane on the feed side.
    • The balun is not properly grounded, there should be a larger land with multiple vias to bottom/internal ground planes around the ground solder pad. The balun seems to be placed approximately the correct distance from the nRF though.
    • There is a 15 nH inductor missing between L1 and C11 for filtering noise from the DCDC converter.

    As Michael said you might be better off redoing the layout. Prioritize the antenna and radio placement, place it where it will radiate freely, and where it is free from metal objects and e.g. not covered by a hand when used. Also, if you did not already, check out the nRF51 PCB design tutorial and the reference design with Johanson balun, which also contains Altium designer files that you can use. Using the nRF51-Dongle HW files you can also see how to use the nRF51 with this kind of antenna, however with a discrete component matching network.

    And as always, please feel free to submit your design for review before shipping it off to production.

Children
  • Thank you very much guys. These are the steps we are going to follow now:

    Short term (couple of days):

    • I will order the balun that you say
    • I will make sure that we solder it properly (by hand, difficult to make sure..)
    • Since I can get messages from my custom board (but not the other way around) I will check the signal strength as Michael suggested.
    • I will check if the voltage arriving to the balun has any noise at all
    • Since my application has timers, I2C communication and everything works quite good, I am assuming that the 16MHz crystal is working properly.

    In the long term (1-1.5 weeks):

    • Redo the layout with all the details you suggest, using inductor and correct balun, removing vias and nets behind the antenna, etc..
  • Hi Angel, Good to hear.

    While the correct balun might be easier to solder, having the solder pads on the side instead of on the bottom, it should be a little too wide for your current footprint. You might be able to fit it by making solder bridges or something, with some degradation in performance.

    The noise due to the missing 15 nH should be easy to spot if you get a signal out, but you need a spectrum analyzer. Set up a TX carrier and look for spurious that pop up when you enable the DCDC converter.

    The 16 MHz XOSC is only needed for a few modules, if not the internal 16 MHz RC oscillator will be requested. Still it might be incorrectly loaded. Timing is generally depending on the LF CLK though, you could try to simply change LF CLK source to either internal RC or synthesized from HFCLK.

  • Hi again Andreas,

    We have already changed the balun for the one that is fully compatible and the results are:

    We get more range in the TX way, i.e. we can send data further, but still we cannot receive anything through the RX line. This is really weird... I am trying to get the RSSI data as Michael said and I am getting from 0xD0, when both devices are really close to 0xAE, when the distance is like 1 meter. I know that the performance with two nRF dongles is waaay higher, but why are we not able to receive then?

    I need to know something. Is there any possibility that the problem is software related, even if the same software works when we use two dongles? I need to separate the source of problems somehow, otherwise this is crazy...

  • Hi Angel,

    Alright, the increased TX range is a good sign. I can not remember having heard of a similar issue with RX being caused by HW. Regardless, I would imagine at least some of the power should seep through if the devices are placed right next to each other.

    Did you attempt changing the LF CLK source or running the code on a DK?

  • Hi Andreas,

    I didn't try changing the LF CLK source, will try today. The code runs perfectly (TX and RX) in all kinds of DK, PCA10028 or nrf51 dongle. Does this mean that the problem is not in the software then? I assume it is not, but I want to have 100% certainty, no assumptions.

    Thanks!

Related