Problem with nrf24l01 acknowledgements

Im trying to build a project involving nrf24l01as radios for communication between two arduino nanos:

However i can't get a stable connection to work. I tried both the build in examples from the rf24 library as well as the sketches from here:
Simple nRF24L01+ 2.4GHz transceiver demo - Community / Exhibition / Gallery - Arduino Forum

However, with both examples i can send data from the tx arduino to the rx arduino, however it seems that acknowledgements fail most of the time:
Meaning that i get the following screen:

I already added 10uf capacitors to the radios so i rule out power problems.
Interestingly if i use the nrflite library instead i get a stable connection including acknowledgments.

Any help would be appreciated

If you read and, closely, follow Robin2's simple rf24 tutorial you should be able to get them working. That tutorial sure helped me. Run the CheckConnection.ino (look in reply #30) to verify wiring between the radio module and its processor (Arduino).

Make sure the rf24 power supply can provide enough current. I use homemade adapters like these. They are powered by 5V and have a 3.3V regulator on the board.

If using the high powered radios make sure to separate them by a few meters. They may not work too close together.

Reset the radios by cycling power to them after uploading new code. I have found that to help. They do not reset with the Arduino.

Switch to 1MB data rate to catch the not so cloned clones.

thanks for your answer, but im pretty sure the connections are all fine, since i get perfect communication with the nrfLite library.
I also tested the checkConnections sketch and it also looked alright.

Just acknolegements seem to bee very unreliable.

What about the other possible issues.
Change to 1MHz?

I can't fully explain it, but my observation has been that acknowledgements can be disproportionately affected by inadequate power. It could be something to do with number of preceding retries and the necessary recovery period afterwards.

Anyway, if you are using the 3.3volt output of a normal Nano, then that is likely to be the explanation for erratic behaviour irrespective of the add-on 10uF capacitor. The power is simply insufficient. This is especially so if you are using the modules described as nRF24L01+PA+LNA.

sadly even after connecting the nrf modules to my bench power supply at 3.3V and trying various different speed and frequencies i still couldn't get a stable connection. So i will be staying with the nrflite library because there the connection works, even so i would have liked to use the more powerful rf24 library.

Well. the standard example with the nrflite library does not appear to check if the ack was successful. You can also omit this check in the standard nRF24L01 library.

Sadly, whetehr that helps, may depend on how the bench supply is actually connected.

If the leads are more than a few cm long, and there are no large capacitors directly on the module pins, it still might not work.

The NRF24 and RadioHead libraries, and the Robin2 tutorial, do work with acknowledgements, when the modules are geniune, connected correctly and powered correctly.

Interesting, so the OP could have modules where the ack is not working. Maybe an internal hardware/firmware issue with those particular modules.

Well, it appears to work sometimes so it is not as clear cut as that but it would be good to have a picture / supplier link of those modules. The modules sold as nRF24L01+PA+LNA are more prone to problems (a) because these have higher power requirements and (b) because these have 2 chips which could be fakes/clones, increasing the scope for problems.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.