ESL / nRF5340DK / nRF21540EK

I am experimenting with the Nordic ESL sample application.  The central_esl app is running on a nRF5340DK.  I would like to add the nRF21540EK to this to improve the range.  I have been following the suggestions here: Using nrf5340dk with the nrf21540 EK - Nordic Q&A - Nordic DevZone - Nordic DevZone.  Specifically, I have added the following to the build configuration:

However, the ESL sample application uses an older version of the SDK (v2.5.0) than in the linked post and, although the application builds successfully and I can run it, the nRF21540EK does not seem to be getting enabled.

I can see that 'nrf21540ek_fwd.overlay' is being added to the parent image but there is no overlay added to the hci_rpmsg child image, and there are no references to the default MPSL FEM settings in the output .conf file for the hci_rpmsg child image as there were in the linked post.

I've tried using '-Dhci_rpmsg_SHIELD=nrf21540ek' instead because I think SDK v2.5.0 pre-dates the name change from hci_rpmsg to hci_ipc, but that didn't work either.

How do I go about enabling the nrf21540?

Thanks

Scott

Parents Reply Children
  • I've tried plugging in both USB cables and also adding the following to the prj.conf file used by the hci_rpmsg child app.

    CONFIG_MPSL_FEM=y
    CONFIG_MPSL_FEM_NRF21540_TX_GAIN_DB=20
    CONFIG_MPSL_FEM_NRF21540_RX_GAIN_DB=13
    CONFIG_BT_CTLR_TX_PWR_ANTENNA=20

    These are the sort of RSSIs I'm seeing:

    The Rx value is the RSSI of the ESL tag as seen by the Access Point.  The Tx value is the RSSI of the Access Point as seen by the ESL tag (and communicated back to the Access Point).  The Tx value seems to have improved a bit with the latest changes, but both values are well below what I see when using the nRF5340's onboard antenna:

  • As a test, I tried running the peripheral_uart example on the nRF5340 with and without the FEM enabled (using the extra CMake arguments above).  I see the same issue: really low RSSI values with the FEM enabled; this time measured using the nRF Connect app on my phone.  With the FEM enabled, I'm seeing activity on the TX_EN and RX_EN GPIO lines, so it looks like the nRF5340 is at least trying to do something with the FEM.

  • Hi,

    I'm still struggling to get acceptable RSSI levels when using the nRF21450EK.  I've had a closer look at the GPIO signals on a 'scope and they align with what I would expect to see (e.g. the TX_EN coincides with the ESL subevent advertising interval) so I'm beginning to suspect that the problem is on the RF side. 

    Can I just confirm that the nRF21540EK is intended to be used with antennas and not just to be connected to lab equipment? (The Product Brief says it is, but the hardware description isn't clear: "The nRF21540 EK is a hardware platform used to monitor the performance of the nRF21540 RF front-end module (FEM) by connecting it to lab equipment or other radios with a SubMiniature Version A (SMA) connector."

  • I've just come across this:  RE: nRF21540 FEM TX Power with ESB 

    I've tried forcing the PDN pin high as per the link but it had no effect in my setup.  Does the bug exist in SDK v2.5.0?

  • In an attempt to rule out the hardware as the problem, I have now switched to the following setup:

    nRF52833DK + nRF21540EK

    SDK: v3.0.0

    I'm running the peripheral_uart sample app.

    -DSHIELD=nrf21540ek

    CONFIG_MPSL=y
    CONFIG_MPSL_FEM=y
    CONFIG_MPSL_FEM_NRF21540_GPIO=y
    CONFIG_MPSL_FEM_NRF21540_TX_GAIN_DB=20
    CONFIG_MPSL_FEM_NRF21540_RX_GAIN_DB=13
    CONFIG_MPSL_FEM_NRF21540_GPIO_SPI=y
    CONFIG_MPSL_FEM_NRF21540_TX_GAIN_DB_POUTA=20
    CONFIG_MPSL_FEM_NRF21540_TX_GAIN_DB_POUTB=10
    I'm still seeing significantly lower RSSIs when using the shield than without.  I've tried two different shields.
    All that leaves is the antenna.  I'm using this one: https://uk.rs-online.com/web/p/wifi-antennas/2035105.
    Is there an antenna that Nordic recommend?
    Thanks
    Scott
Related