I know nRF24LE1 has 8051 core and is compatible RF protocol with nRF24L01+. But are the nordic libraries compatible with Arduino libraries. Does anyone has used both these devices, please help me in finding compatible libraries. I want to connect some sensor to nRF24LE1 and send the readings to arduino.
-
Do you have links to the source code of the libraries? – jippie Jun 01 '13 at 06:20
2 Answers
All the nRF24* IC's can communicate with all other nRF24* devices. From the nRF24LE1 web-page:
Fully on-air compatible with all Nordic nRF24L-series, nRF24E-series and nRF240-series solutions
I think you need to stop thinking in terms of "libraries" and start thinking in terms of "how does the device actually communicate".
I recently spent some time working on a nRF library for the atmel xmega (I stole most of the code from a similar project for the MSP430), and there isn't too much going on with the nRF device series. The datasheet is a bit terse, and there is some odd behaviour that can only make sense after you've read the datasheet a few times, but if you're hoping to use a device seriously, you should have a pretty thorough knowledge of the datasheet anyways.
What I would suggest you do is start looking at how you actually communicate with the nRF device. Interestingly enough, the interface to the RF comm tranciever in the nRF24LE1 seems to actually be nearly identical to the discrete nRF24L01+, even to the point of using an on-chip SPI interface for communications between the 8051 core and the RF interface (I wonder if it's two separate dies in one package?). The main differences seem to be the nRF24LE1+ has discrete interrupt vectors for the RF interface's various interrupt options, while the nRF24L01+ has a single IRQ pin.
Basically, assuming you write decently modular code, you can probably share significant portions of code between the two devices.

- 31,938
- 6
- 77
- 137
-
I'm currently porting a PIC library for the NRF to Electric Imp (Squirrel language) and agree that you need to spend some time with the data sheet and go through the original library slowly and methodically - don't try to port everything all at once - focus on reading the status register first, then writing and reading a register and then build up from there. A logic analyser will help a lot. Tips: if you're reading the status as 0x1F then change the SPI clock read edge, you're reading on the wrong one. If it's 0x1E disconnect power to clear the interrupt bit in the status – SimonBarker Feb 26 '14 at 15:07
No, the standard Arduino libraries are largely incompatible with anything other than AVR. Generally only a handful ATmega variants are supported (you can find them in the Tools=>Board-menu). The libraries are closely related to the specific hardware used, hence incompatible with other devices.
As a matter of fact this is the reason for these libraries to exist, since if you want to port an Arduino sketch to unsupported hardware, all you have to do is port the libraries to the new architecture.
Another issue you would have to solve is the programmer hard- and software and the interfacing with the Arduino IDE. Different chips may use different algorithms for programming and of course have a different pin out. And of course this programmer needs a supported driver.
I've seen PICduino and of course the Arduino Due which has an ARM architecture. So it is doable, but not for the fainthearted.

- 33,033
- 16
- 93
- 160
-
Sorry, I was not asking the AVR library porting to 8051. I was asking whether the Arduino library on Arduino and the nordic library on 8051 (nRF24LE1+) are air compatible. I want to communicate between and Arduino + "nrf24L01+" and nrf24Le1 – Priyank Bolia Jun 01 '13 at 04:11
-
2
-