[Solved] NRF24L01 radio.write() hangs

For a very simple project, I set up two Devices

  1. Arduino Uno , NRF24L01+PA+LNA
    To power the nrf24l01 I've used Arduino Uno's 3.3v pin

  2. Arduino Pro MIni, NRF24L01+PA+LNA
    To power the nrf24l01 I've used AMS1117 3.3V 1A Voltage Regulator IC with 10uF & 0.1uf Capacitor

I've followed the tutorial from here https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo .
I've used TMRh20's library and ran the "getting started" code from RF24/examples/GettingStarted at master · nRF24/RF24 · GitHub

Upto this point, everything works as expected.

But whenever I power the first[1] nrf24l01 from a new AMS1117 3.3V 1A Voltage Regulator IC, Arduino Uno just freezes at radio.write() code point.

I've also tried to power the first nrf24l01 using breadboard power supply but having same issue.

Can anyone suggest any ideas, what am I doing wrong?

ImtiazShakil:
But whenever I power the first[1] nrf24l01 from a new AMS1117 3.3V 1A Voltage Regulator IC, Arduino Uno just freezes at radio.write() code point.

You need to make a drawing showing exactly how you have everything connected and how it differs from the working version.

I have had no problem powering both my Atmega 328 and nRF24 from a 3.3v regulator.

Have you the 3.3v GND connected to the Aduino GND?

...R
Simple nRF24L01+ Tutorial

Robin2:
Have you the 3.3v GND connected to the Aduino GND?

Simple nRF24L01+ Tutorial

No my 3.3v regulator has a seperate GND pin than the one in my Arduino Uno. I'll post back if joining the GND pins of Arduino UNO with 3.3v regulator solves the issue.

In the second[2] device, both Arduino Pro Mini and nRF24L01 shares the same GND.

Robin2:
Have you the 3.3v GND connected to the Aduino GND?

Yes, that solved the problem, Many many thanks.

I didn't know that Both Arduino GND pin and nrf24l01 GND pin had to be connected.

GND is a reference point. If 2 devices have 2 different grounds, how can 1 tell if it receiving data or noise if it's not using the same reference point?

SamIAm93:
GND is a reference point. If 2 devices have 2 different grounds, how can 1 tell if it receiving data or noise if it's not using the same reference point?

Thanks, I learned my lesson.