Jump to content
spirilis

[Energia Library] Enrf24 nRF24L01+ Library

Recommended Posts

Energia library for using Nordic Semiconductor's nRF24L01+ transceivers

Alternative to the Mirf library.

 

This is now cross-platform thanks to @L293D 's work.

 

Main thread is over at 43oh - http://forum.43oh.com/topic/3237-energia-library-nordic-nrf24l01-library/

 

Release v1.5 supporting the Stellaris LaunchPad:

Enrf24_v1_5.zip

Share this post


Link to post
Share on other sites

Wrote a blog on the process of getting nRF24L01 working with Stellaris Launchpad and Arduino UNO running on RF24 library...

 

They are only a few combinations to try if they are not working :-

 

Air rate / speed :- 250Kbps, 1Mbps or 2Mbps

Channels : both sides MUST matched the same channel

txaddress matches rxaddress ( or vice versa )

CRC : Either OFF or 8bit or 16bit ( Mirf & enrf24 uses 8bit CRC, RF24 uses 16bit CRC or manually set it )

 

 

http://arduino-for-beginners.blogspot.com/2013/11/stellaris-launchpad-with-nrf24l01.html

Share this post


Link to post
Share on other sites

G'day,

Want to lower the speed and thought radio.setSpeed(250000) would do the trick, but no longer have comms with this line is added (also changed the other end as well).

But what is funny is that no mater what speed I set, I lose the comms. e.g. leaving the other end at the default 1000000 I then use  radio.setSpeed(1000000) and still no comms. But after //radio.setSpeed(1000000)  all works.

Any ideas.

Grant

Share this post


Link to post
Share on other sites

G'day,

Want to lower the speed and thought radio.setSpeed(250000) would do the trick, but no longer have comms with this line is added (also changed the other end as well).

But what is funny is that no mater what speed I set, I lose the comms. e.g. leaving the other end at the default 1000000 I then use  radio.setSpeed(1000000) and still no comms. But after //radio.setSpeed(1000000)  all works.

Any ideas.

Grant

Honestly never tried that scenario, but if it's malfunctioning then I suspect it has something to do with the transceiver itself resetting things when that's modified.

 

After changing speed like that, can you try also re-running the radio.enableRX() method to re-establish RX mode?

Share this post


Link to post
Share on other sites

Spirilis,

Think I have a work around. Have radio.begin(250000) at each end and got comms ok. As I do not need to change the speed after setup, no need to use the radio.speed() command.

Have a great day Grant.

Share this post


Link to post
Share on other sites

Am still in the poo. Think my sketches are ok (famous last lines) as all works ok when I use the standard nRF24L01+   cards  like:

http://www.aliexpress.com/item/NRF24L01-NRF24L01-Wireless-Module-2-4G-Wireless-Communication-Module-Upgrade-Module-2pcs-lot/819804145.html

But when I plug in nRF24L01+PA+LNA like:

 http://www.aliexpress.com/item/2pcs-lot-Wireless-Module-NRF24L01-PA-LNA-with-Antenna-1000-Meters-Long-Distance-Free-Shipping-via/1318533469.html

get all sorts of reply problems from the remote unit..

Has anyone experienced problems when using the PA+LNA board.

Grant

Share this post


Link to post
Share on other sites

Am still in the poo. Think my sketches are ok (famous last lines) as all works ok when I use the standard nRF24L01+   cards  like:

http://www.aliexpress.com/item/NRF24L01-NRF24L01-Wireless-Module-2-4G-Wireless-Communication-Module-Upgrade-Module-2pcs-lot/819804145.html

But when I plug in nRF24L01+PA+LNA like:

 http://www.aliexpress.com/item/2pcs-lot-Wireless-Module-NRF24L01-PA-LNA-with-Antenna-1000-Meters-Long-Distance-Free-Shipping-via/1318533469.html

get all sorts of reply problems from the remote unit..

Has anyone experienced problems when using the PA+LNA board.

Grant

Not sure, the software works identically between the two types of boards.  However, can you verify the chipsets for the main nRF24?  Supposedly there is a Taiwanese "knockoff" chipset call the SI24R1 circulating around... and it has a bug during startup.  I've enabled what I believe is the workaround in the current GIT release of Enrf24 (warning: I have not regression-tested the changes against my real nRF24 modules to make sure they still work).

Share this post


Link to post
Share on other sites

Chip set ok. And have tried a few different sketchs to talk to the 24L01 that all work with the non PA board.

Had already Cro'ed the 3.3V and it looks ok, plus put on a 1000mf capacitor etc.

But after a arduino type WEB search came  across a few sites that state a separate 3V3 power supply is required when using a PA.

http://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo

So will try this out after I get the Power supply bits.

Grant.

Share this post


Link to post
Share on other sites

I'm not sure how much the Stellaris & Tiva LP's can deliver on the 3.3V rail but I have a hard time believing it's not enough for the PA+LNA chips. The MSP430 LP has enough juice in its LDO, for example. I would believe the Arduino needs that because its 3.3V rail is wimpy (it's a native 5V device).

 

Share this post


Link to post
Share on other sites

Well the problem was a weak PA board.  This board worked a lot better when used by the stellaris (as it I had a few extra caps on the 3v3 line to cater for the demand when the SD card is first powered up). Have ordered a few more of PA cards and will confirm my solution then. Have also ordered a few low powered cards that use a smc aerial. I hope this works better as the almost double the current is used by the PA when in Rx mode.

Tks for your help Spirilis.

Grant

Share this post


Link to post
Share on other sites

Most of the power issues are usually solved by putting a 100nF capacitors between the nRF24L01 Vcc (3V3) and Gnd ... 

 

I made an adapter for Arduino UNO (save all the jumper cables), I tap 5V from the I/O pin to 3.3V using LE33CZ LDO and needed a 10uF for a stablility when using high power Tx mode... 

 

http://forum.arduino.cc/index.php?topic=62222.msg1356174#msg1356174

Share this post


Link to post
Share on other sites

Hey guys. I'm working on a project now and for that I'm trying to connect two stellaris launchpads over an RF however I couldnt find any rf libraries for that. Could anybody give me an advice? I would appreciate it I'm in a desperate situation now and dont know what to do. I use keil by the way

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×