How reliable is the nRF24L01+ RC chip?

My project involves a remote weather station. That's a bit of a grandiose description because, at present, it only returns temperature and humidity readings from a DHT22 sensor. Communication with the home (PRX) station is via radio transmission using an nRF24L01+ breakout. Circuit diagrams and the INO files are attached.

I ran this setup thought the night last night, but in the morning it decided to quit.. It didn't ask permission or anything, it just quit.


Since the hardware, which is breadboard prototyped, remained untouched throughout the whole proceeding I don't think it is a connection coming loose. Anyway, if that were the case the data printout would not show one missed transmission then several successfully received transmissions.

Suspicion falls to the radio transmission, and therefore on the transmitter/receiver chips. I have used them in the past and always considered them reliable - but they are suspect at the moment.

Can anyone suggest another cause of the halted test run?
Is the nRF24L01+ not completely reliable?
Is there a better alternative?

remoteWeatherStation.zip (182 KB)

Hi,
It will be better if you post your code in code tags, or as .ino files attached to your posts.
.zip files can contain anything, members are reluctant to open zip files.

Thanks.. Tom... :slight_smile:

Many nrf24 modules have insufficient decoupling caps on power supply line! Try a 4.7 uf ceramic cap between vcc and gnd

Hi,
Where is the time stamp generated, in the remote sensor or in the receiver?

Where is the data read time decided.

Please post your code, using code tags.

Only one time was skipped 15:33.

Thanks.. Tom.. :slight_smile:

Did it stop about the same time you started the microwave oven?

Paul

TomGeorge:
Hi,
It will be better if you post your code in code tags, or as .ino files attached to your posts.

My INO files are too long to go between code tags, and I am not allowed enough attachments to get everything to you. A ZIP was the obvious alternative.

DrAzzy:
Try a 4.7 uf ceramic cap between vcc and gnd

See the circuit diagram. There is a 10uf cap right there.

TomGeorge:
Where is the time stamp generated, in the remote sensor or in the receiver?
Where is the data read time decided.

Data is read into Excel using the PLX-DAQ macro. Time would come from that.

TomGeorge:
Please post your code, using code tags.

I’ll try, but there are size limits.

Surprise, surprise! They got spat out.
Bah! Humbug! Computers! Rubbish! They’ll never ctach on!

I will send them next post.

TomGeorge:
Only one time was skipped 15:33.

Yes, but after that reception stopped all together.

TomGeorge:
Please post your code, using code tags.

They are too big. Attached.

remoteWeatherStation_PRX.ino (20.4 KB)

remoteWeatherStation_PTX.ino (21.5 KB)

vagulus:
My INO files are too long to go between code tags, and I am not allowed enough attachments to get everything to you. A ZIP was the obvious alternative.

I get .zip is invalid when I try to unzip it.
Where is the time stamp generated, in the remote sensor or in the receiver?
Which code decides when to get the sensor data?

Tom... :slight_smile:

Paul_KD7HB:
Did it stop about the same time you started the microwave oven?

Nope. I had not even made a cup of coffee at the time.

Presumably the sensor/arduino etc is outside on a breadboard. I'm very suspicious of these.

eg A gust of wind could have been strong enough to move an intermittent connection.

Do it properly with fully soldered connections and report back.

Allan

You should test on small steps. Make a minimal sketch that sends dummy data and try it inside. If it works, try it outside. While waiting prepare sketch for measuring the data and test it. If everything is OK combine it. If some step does not work try to find what does not work. I.e. you may try to save some debugging data to EEPROM. If (when) it failed did the Arduino notice a problem? Maybe nRF stopped responding? Or the Arduino itself stopped working?

I am going to take Allan’s advice (sort of) and learn to create PCBs. I’ll make the two I need and assemble soldered devices to test. I’ll let you know how that goes.

Thanks to all who have helped so far.

vagulus:
Is the nRF24L01+ not completely reliable?

No radio data link is completely reliable.

The nRF24L01 has a transmit/acknowledge protocol, so there is status available from the transmit side indicating whether a data packet was successfully transferred so one can implement additional layers of re-transmission if necessary.