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!

  • 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!

  • Hi again Andreas,

    I have tried these two approaches:

    err_code = softdevice_handler_init(NRF_CLOCK_LFCLKSRC_RC_250_PPM_250MS_CALIBRATION, NULL, 0, NULL);

    and

    err_code = softdevice_handler_init(NRF_CLOCK_LFCLKSRC_SYNTH_250_PPM, NULL, 0, NULL);

    For neither of them the custom board is able to receive anything. Is this what you meant? Any other suggestion?

    Thanks a lot for the help!

Related