NRF24L01 thoughts

Are there any gotchas with some radios like this?

It seems like people have quite a few problems with them. Is it because
(a) Incorrect programming?
(b) Wiring them to a 5v arduino?
(c) The radios themself have problems?

I would be wiring it to a 3v3 application. Specifically a STM32L4xx.

Thanks.

Programming problems aside the problems are usually caused by how they are powered

They must be adequately powered with respect to both voltage and current or they do not work reliably, if at all

1 Like

What are the voltage and current requirements? I could power them from either the 3v3 rail, which has a 300ma reg, or directly from a 1s lipo, which would be in the range of 3.7 to 4.2v.

Indeed.

Radios in general tend to take (relatively) very high peak currents - so any inadequacies in the wiring and/or power supply will cause the supply to "droop" or "brown out".

This tends to show up as things which appear to start working but, as soon as the radio first tries to transmit, it all crashes.

After googling the power requirements, they say maximum of 3.9v. So direct 1s connection won't work. They also say 13ma maximum current, but how much current spike are you talking about?

One gotcha - especially with cheap units from places like Amazon - is whether you will get a genuine nRF chip - or some cheap clone/fake.

I believe there are some known issues with (some of) the clones?

Take a look at the Nordic datasheet, and any available app notes - they may well have a reference design...

The rquirements are on the page that you linked to

Operating voltage: 3 ~ 3.6V Max
Current: 115mA

Note the current requirement in particular. I would strongly suggest that you use an external power source capable of supplying the required current at a consistent voltage in the range specified.

Microprocessor boards are not designed to be used as power supplies for high powered devices

1 Like

This makes sense. This particular application is a custom pcb, not a off the shelf arduino. The other question I had about these is how spi bus intensive is polling these things? I can't overload the spi bus too badly, as there is time sensitive polling happing on another chip at ~100hz. And of course it depends on your packet rate as well.

(edit for clarity)

Polling is a single register read if I remember correctly,
but you can look inside the library to make sure.

Ok, good to know. Thanks for the input!

Unlike serial that receives a byte at a time, the rf24 radio will receive an entire payload and hold it in its receive buffer until read at convenience. Use the available function to see if payload is waiting.

2 Likes

Makes sense. This actually won't be on the arduino platform itself, but since these radios seem to be used most here I thought I would ask here.

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