nrf24l01+ BLE troubleshoot

Hello,

I just received my nrf24l01+ module. I want to use it as a BLE simple broadcasting device. I set up on my arduino leonardo the demo from

https://github.com/floe/BTLE/blob/master/examples/send/send.ino

Installed RF24 library.

The connections are from : |500x330

and from

|500x268 (with switching the correct CE CSN pins in the software) I tried using my android phone with BLE support and an app called nRF Connect (or another called BLE Terminal)

No matter what I try to do the nrf24 doesn't show up in BLE scan!

Does anybody has experience in using nrf24l01+ for BLE communication?

Thank you!

An nRF24L01+ module is not compatible with BLE. They are designed for communication with other nRF24L01+ modules.

Have a look at this Simple nRF24L01+ Tutorial.

I think there is another Nordic wireless device that does do BLE but I have no experience of it.

...R

That’s an interesting library, I haven’t heard of anyone using the NRF24L01 for BLE before. I have used the NRF24L01 but not BLE, so I probably can’t contribute too much. The one thing I did notice is that the library only works on the advertising broadcast channel.

BJHenry: That's an interesting library, I haven't heard of anyone using the NRF24L01 for BLE before. I have used the NRF24L01 but not BLE, so I probably can't contribute too much. The one thing I did notice is that the library only works on the advertising broadcast channel.

Robin2: An nRF24L01+ module is not compatible with BLE. They are designed for communication with other nRF24L01+ modules.

Have a look at this Simple nRF24L01+ Tutorial.

I think there is another Nordic wireless device that does do BLE but I have no experience of it.

...R

I understand that the device is not built for BLE. The library is "hacky" but there are multiple examples of people using it with success. Example

My problem however seams to be lower level:

I used the RF24 library to debug my connections.

If i do a radio.printDetails(); i get :

Data Rate 494
⸮⸮⸮⸮)Ɵ⸮k⸮⸮⸮⸮⸮{⸮׵⸮⸮⸮⸮z⸮-⸮Co⸮[Ͽ⸮W⸮Oy⸮⸮⸮⸮⸮461
CRC Length 437
PA Power 423

Is there something terribly wrong with my setup? Or is the chip bad? (it's brand new) The chip is not getting warm and I never gave it more than 3.25v. I probed, the chip is getting power.

Is there a way to debug the spi connection and my wiring? :confused:

That is really strange- the debug printout shouldn't be anything like that. The fact that you're getting invalid characters printed out make me wonder if the library hasn't installed correctly? What do you get if you try radio.printDetails with the NRF module unplugged?

For some reason I can't quote Reply #3 (but I can with Reply #4 - but don't need to :) )

This

I understand that the device is not built for BLE. The library is "hacky" but there are multiple examples of people using it with success. Example

reads to me like a lot more trouble than it is worth.

I am interested in BLE but I have been unable to find any website that explains how to use the broadcast features so that one device can communicate with several.

...R

BJHenry: That is really strange- the debug printout shouldn't be anything like that. The fact that you're getting invalid characters printed out make me wonder if the library hasn't installed correctly? What do you get if you try radio.printDetails with the NRF module unplugged?

THANKS!!!

I pulled RF24 the library from github instead of arduino's library manager. Now it oututs:

STATUS       = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1     = 0x6b7d9171 0xc2c2c2c2
RX_ADDR_P2-5     = 0xc3 0xc4 0xc5 0xc6
TX_ADDR      = 0x6b7d9171
RX_PW_P0-6   = 0x20 0x00 0x00 0x00 0x00 0x00
EN_AA        = 0x00
EN_RXADDR    = 0x03
RF_CH        = 0x02
RF_SETUP     = 0x07
CONFIG       = 0x06
DYNPD/FEATURE    = 0x00 0x00
Data Rate    = 1MBPS
Model        = nRF24L01+
CRC Length   = Disabled
PA Power     = PA_MAX

So it looks like the module works alright.

Still the BTLE library doesn't make the module show up as a BT device.

Using serial debug for the send.ino example it prints:

BTLE advertisement sender
write_register(00,0c)
write_register(04,5f)
write_register(06,27)
write_register(06,07)
write_register(1d,00)
write_register(1c,00)
write_register(07,70)
write_register(05,4c)
write_register(00,0e)
write_register(00,0e)
write_register(01,00)
write_register(06,07)
write_register(00,06)
write_register(05,02)
write_register(04,00)
write_register(06,07)
write_register(03,02)
write_register(11,20)
write_register(02,03)
write_register(11,20)
STATUS       = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1     = 0x6b7d9171 0xc2c2c2c2
RX_ADDR_P2-5     = 0xc3 0xc4 0xc5 0xc6
TX_ADDR      = 0x6b7d9171
RX_PW_P0-6   = 0x20 0x00 0x00 0x00 0x00 0x00
EN_AA        = 0x00
EN_RXADDR    = 0x03
RF_CH        = 0x02
RF_SETUP     = 0x07
CONFIG       = 0x06
DYNPD/FEATURE    = 0x00 0x00
Data Rate    = 1MBPS
Model        = nRF24L01+
CRC Length   = Disabled
PA Power     = PA_MAX
write_register(00,06)
write_register(02,03)
[Writing 20 bytes 12 blanks]
write_register(07,70)
write_register(05,1a)
write_register(00,06)
write_register(02,03)
[Writing 20 bytes 12 blanks]
write_register(07,70)
write_register(05,50)
write_register(00,06)
write_register(02,03)
[Writing 20 bytes 12 blanks]
write_register(07,70)
write_register(05,02)
...