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
  • Thanks for the quick reply.  I tried setting CONFIG_BT_CTLR_TX_PWR_ANTENNA=20 but that didn't help.  The RSSI values are still really low.

    The files requested are in the attached .zip file.  Note: these were taken from the build\hci_rpmsg\zephyr folder rather than from the build\zephyr folder.

    Thanks

    Scott

    nRF21540EK.zip

  • I will take a look, can you plug in both USB cables? I am wondering part of the problem may be caused by that.

    Kenneth

  • 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."

Related