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

Advice for simple communication from nrf51822 to nrf24l01 ?

Hi everyone ! I'm trying to send data from an nrf51822 to an nrf24l01 with arduino and I guess I'm doing something wrong...

For the moment I succeeded to have these talking together:

...so I guess the hardware is not the problem :) (if you're curious about the context, the project is explained here: hackster.io/cedric/twi)

I looked for similar problems on the forum but I don't find the solution to my problem, if anyone has a suggestion I would be infinitely grateful ;D

Here is the configuration I use:

nrf51 (TX): radio_config.c main.c

nrf24 (RX) with arduino: Mirf.cpp RX.ino

I used the nrf51 sdk suggestions and an nrf24 library (+datasheets) to understand it, but it doesn't work (yet!), the nrf24 reception pipe stays empty.

Anyone has any suggestion to offer ? Thanks a lot !! ;)

Parents
  • Hi Cedric,

    The nRF51 does not have the enhanced shockburst in hardware anymore, which means that when you send a payload from the nRF51 side, and the L01+ is configured to do auto-ACKing, you will run into issues.

    What I would suggest is that you use the ESB-library on the nRF51 side, and on the nRF24L-side you enable registers:

    • EN_DPL for your pipes.
    • EN_DYN_ACK
    • EN_ACK_PAY

    If you look at the ESB library documentation, there's a section on how the nRF24LE1 should be configured (see the nRFgo SDKs hal_nrf.c file for reference to the calls, its basically the registers I posted): devzone.nordicsemi.com/.../a00139.html

    Best regards Håkon

Reply
  • Hi Cedric,

    The nRF51 does not have the enhanced shockburst in hardware anymore, which means that when you send a payload from the nRF51 side, and the L01+ is configured to do auto-ACKing, you will run into issues.

    What I would suggest is that you use the ESB-library on the nRF51 side, and on the nRF24L-side you enable registers:

    • EN_DPL for your pipes.
    • EN_DYN_ACK
    • EN_ACK_PAY

    If you look at the ESB library documentation, there's a section on how the nRF24LE1 should be configured (see the nRFgo SDKs hal_nrf.c file for reference to the calls, its basically the registers I posted): devzone.nordicsemi.com/.../a00139.html

    Best regards Håkon

Children
Related