# nRF24L01 Initialization Failures

**URL:** <https://forum.arduino.cc/t/nrf24l01-initialization-failures/558006>\
**Category:** Programming\
**Created:** [November 21, 2018, 9:45pm UTC](https://forum.arduino.cc/t/nrf24l01-initialization-failures/558006 "2018-11-21T21:45:44Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![rhj4](https://avatars.discourse-cdn.com/v4/letter/r/dfb087/32.png) [@rhj4](https://forum.arduino.cc/u/rhj4)\
**Post date:** [November 21, 2018, 9:45pm UTC](https://forum.arduino.cc/t/nrf24l01-initialization-failures/558006/1 "2018-11-21T21:45:44Z")

</div>

My nRF24L01 Initialization code is failing. My code generates these diagnostics:  
CE PIN: 14, CSN PIN: 15  
WIFI\_POWER\_LEVEL=1 \<\<\< What I want to set this to  
WIFI\_DATA\_RATE=1  
WIFI\_DATA\_CHANNEL=124  
Radio PA Level set to: 0 \<\<\< what value was actually set to  
Radio power level not set  
Radio Data Rate set to: 0 \<\<\< what value was actually set to  
Radio Data Rate not set  
Radio Channel set to: 0 \<\<\< what value was actually set to  
Radio Data Channel not set  
Radio Initialization FAILED

Here is ,my code:

```cpp
		bool radioOK = true;

		Serial.println ( F ( "\nINITIALIZING RADIO" ) );
		Serial.print ( F ( "CE PIN: " ) );
		Serial.print ( WIFI_CE_PIN );
		Serial.print ( F ( ", CSN PIN: " ) );
		Serial.println ( WIFI_CSN_PIN );

		//	Initialize the radio
		radio.begin ();

		// Set the transmit power to lowest available to prevent power supply related issues
		Serial.print ( F ( "WIFI_POWER_LEVEL=" ) );
		Serial.println ( WIFI_POWER_LEVEL );
		Serial.print ( F ( "WIFI_DATA_RATE=" ) );
		Serial.println ( WIFI_DATA_RATE );
		Serial.print ( F ( "WIFI_DATA_CHANNEL=" ) );
		Serial.println ( WIFI_DATA_CHANNEL );

		radio.setPALevel ( WIFI_POWER_LEVEL );
		Serial.print ( F ( "Radio PA Level set to: " ) );
		Serial.println ( radio.getPALevel () );
		if (radio.getPALevel () != WIFI_POWER_LEVEL) {
			Serial.println ( F ( "Radio power level not set" ) );
			radioOK = false;
		}

		// Set the speed of the transmission 
		radio.setDataRate ( WIFI_DATA_RATE );
		Serial.print ( F ( "Radio Data Rate set to: " ) );
		Serial.println ( radio.getDataRate () );
		if (radio.getDataRate () != WIFI_DATA_RATE) {
			Serial.println ( F ( "Radio Data Rate not set" ) );
			radioOK = false;
		}

		// Use a channel unlikely to be used by Wifi, Microwave ovens etc
		radio.setChannel ( WIFI_DATA_CHANNEL );
		Serial.print ( F ( "Radio Channel set to: " ) );
		Serial.println ( radio.getChannel () );
		if (radio.getChannel () != WIFI_DATA_CHANNEL) {
			Serial.println ( F ( "Radio Data Channel not set" ) );
			radioOK = false;
		}

		if (!radioOK) {
			Serial.println ( F ( "Radio Initialization FAILED" ) );
			return false;
		}

```

I am using the this library: [GitHub - maniacbug/RF24: Arduino driver for nRF24L01](https://github.com/maniacbug/RF24)

I have swapped the RF24 Wifi Chips many times to make sure that it's not hardware related.

---

<div class="post-metadata">

**Author:** ![Inso](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/inso/32/1129905_2.png) [@Inso](https://forum.arduino.cc/u/Inso)\
**Post date:** [November 21, 2018, 10:00pm UTC](https://forum.arduino.cc/t/nrf24l01-initialization-failures/558006/2 "2018-11-21T22:00:35Z")

</div>

When I see  
"Radio Initialization FAILED"  
I first think about the capacitor.  
See f.e. here: [MySensors guide to connect NRF24](https://www.mysensors.org/build/connect_radio#connecting-a-decoupling-capacitor)

I had similar problems without a capacitor. Also (even if it sounds strange), on the ones with the external big antenna: it helped to put my finger on the top of the antenna while booting. Dunno why, but it worked^^

---

<div class="post-metadata">

**Author:** ![Robin2](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/robin2/32/216045_2.png) [@Robin2](https://forum.arduino.cc/u/Robin2)\
**Post date:** [November 21, 2018, 10:18pm UTC](https://forum.arduino.cc/t/nrf24l01-initialization-failures/558006/3 "2018-11-21T22:18:13Z")

</div>

Have a look at this [Simple nRF24L01+ Tutorial](http://forum.arduino.cc/index.php?topic=421081).

Wireless problems can be very difficult to debug so get the wireless part working on its own before you start adding any other features.

The examples are as simple as I could make them and they have worked for other Forum members. If you get stuck it will be easier to help with code that I am familiar with. Start by getting the first example to work

...R

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [May 5, 2021, 11:28pm UTC](https://forum.arduino.cc/t/nrf24l01-initialization-failures/558006/4 "2021-05-05T23:28:51Z")

</div>

Closed on May 5, 2021, 11:28pm UTC


