12932Views24Replies

Author Options:

Help starting out with nrf24L01+ transceiver and arduino Answered

Picture of

Recently I bought 6 nrf24L01+ boards like this with the intention of experimenting with them to potentially be embedded in some projects as a low cost solution to wireless communication. so far I've had some luck but nothing consistent. the test set up right now is an arduino uno and a arduino on a bread board. most of the information I used is from here. so far I get mostly failed communication and timeouts pretty much the same as what is listed here. I feel like this is a one sided issue where one arduino will send out information but it won't read it back in even if something is sent back.

hopefully someone can help shed some light on this dilemma because it seems like a reacquiring problem with no solution.

Thanks for any help in advance.

24 Replies

user
vitormhenrique (author)2013-10-14

Hey, could you get it working? i'm reaving the a similar problem.

Select as Best AnswerUndo Best Answer

user
Nman120 (author)vitormhenrique2013-10-19

yes I did it was actually my power supply not giving good enough 3.3v which could case wonky operation or lack there of also there isn't any way to debug on the transmitter side so check wiring and use simple example codes

Select as Best AnswerUndo Best Answer

user
TerryKing (author)Nman1202013-11-26

Hi, Yes the radios often draw more 3.3V current than the simple 3.3V supply on a regular Arduino can supply. This is particularly true if you use one of the higher-power modules.
The YourDuino.com "Robo1" is a Arduino derivative that has an added 3.3V regulator that is good for these modules. See it Here:
http://yourduino.com/sunshop2/index.php?l=product_detail&p=225

DISCLAIMER: Mentioned stuff from my own shop... which is what I know the most about :-)

Also see:
http://yourduino.com/sunshop2/index.php?l=product_list&c=12

Regards, Terry King
...In The Woods in Vermont, USA
terry@yourduino.com

Select as Best AnswerUndo Best Answer

user
TerryKing (author)TerryKing2014-01-04

Also see this example which sends Joystick position from one nRF24L01 to another:
http://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo#ex1
Regards, Terry King
...In The Woods in Vermont, USA
terry@yourduino.com

Select as Best AnswerUndo Best Answer

user
vitormhenrique (author)TerryKing2013-11-26

Thanks Terry, your board sounds very good, I'll plan to add on my arduino list on a near future, i ended up developing my own board, i'm working in a home automation project using raspberry pi as server and some arduinos as nodes that receive commands via nrf24L01, to make my life easier i developed a "shield board" using one arduino pro mini, place for nrf24l01 some io's with a nice plug's with one voltage regulator and power supply, now it works like a charm... It is not perfect yet, but it is the first time that i use eagle and do something like that... so it is pretty good for the first interaction (on my opinion) i'm a chemical engineer with limit knowledge on this stuff....

https://www.instructables.com/files/deriv/FDG/MUWD/HOG8VFW2/FDGMUWDHOG8VFW2.SQUARE.jpg

https://www.instructables.com/files/deriv/F5D/FZH4/HOG8VFW0/F5DFZH4HOG8VFW0.SQUARE.jpg

Select as Best AnswerUndo Best Answer

user
Mickeyv (author)vitormhenrique2014-01-02

Hi
can you post schematic for the 2 pictures above?

Select as Best AnswerUndo Best Answer

user
vitormhenrique (author)Mickeyv2014-01-03

Follow the schematic, please, read my other comment first.

Select as Best AnswerUndo Best Answer

user
vitormhenrique (author)Mickeyv2014-01-02

Sure you can,

I'm at work now and I only have it at home, i'll send you as soon as I get there....

This was my very first board design, so it is not perfect, I only exposed 6 ios, and the board is compatible with two types of nrf24L01.
The most common one that is sold everywhere and it is on picture one. and the one that is sold on sparkfun
https://www.sparkfun.com/products/691

The second have a voltage regulator on board, so you don't need to put the capacitors and the 3.3 voltage regulator (i used this one https://www.sparkfun.com/products/526 and it will not work with different ones that may have different pin out layout)

The exposed IO's also have a ground and a +5v pin (one of the six have 3.3V instead) this was very particular for my needs, i can change it if you want....

I'm planing to make a change on this first board and have some boards manufactured for me, he can split the cost if you want.

The last time I paid 20 dollars on 3 boards.

If you are interested, please send me an e-mail (vitormhenrique @gmail.com)

Select as Best AnswerUndo Best Answer

user
steveastrouk (author)2013-07-03

The receiver part contains amplifiers.

Select as Best AnswerUndo Best Answer

user
Nman120 (author)steveastrouk2013-08-01

looks like it might be the power supply. maybe it puts too much noise into the 3.3v rail. I've gotten it to work a lot more consistently

Select as Best AnswerUndo Best Answer

user
steveastrouk (author)Nman1202013-08-01

try some nice fat caps at the modules, with 100nF ceramivs in parallel

Select as Best AnswerUndo Best Answer

user
Nman120 (author)steveastrouk2013-08-01

I've continued working with no different results. I've actually bought a pro-mini and soldered the connections but the same one way communication is happening. the only things I didn't change was the power supply and the ftdi connector so I'll investigate to narrow down the culprit.

Select as Best AnswerUndo Best Answer

user
steveastrouk (author)2013-07-01

I think we need to see your hardware configuration too.

Select as Best AnswerUndo Best Answer

user
Nman120 (author)steveastrouk2013-07-01

well images of my wireing probably won't tell much but I wired everything based on the information here:
http://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo

Select as Best AnswerUndo Best Answer

user
steveastrouk (author)Nman1202013-07-01

It might. And your actual code too.

Select as Best AnswerUndo Best Answer

user
Nman120 (author)steveastrouk2013-07-01

you can view the example codes here:
http://arduino-info.wikispaces.com/nRF24L01-RF24-Examples

I've been using these so far without modifications.
also I did some trouble shooting and changed breadboards checking wires, pin outs and connections again along the way with no change in outcomes at all.

Select as Best AnswerUndo Best Answer

user
steveastrouk (author)Nman1202013-07-02

You need an oscilloscope. Take a look at the PINS on the transceivers to see what they are seeing.

One other possible trick, try turning the transmit power down - you might be swamping the receiver amps

Select as Best AnswerUndo Best Answer

user
Nman120 (author)steveastrouk2013-07-03

I don't have an oscilloscope so I'll look into turning the power down. Although unless your talking inside the chip there aren't any amps that I know of except for the long range versions.

Select as Best AnswerUndo Best Answer

user
steveastrouk (author)2013-06-30

I'm not familiar with these modules. Where did you work out the device config commands from ?

Select as Best AnswerUndo Best Answer

user
Nman120 (author)steveastrouk2013-07-01

the RF24 library set all that by default

Select as Best AnswerUndo Best Answer

user
steveastrouk (author)2013-06-29

Post some code. Its probably a timing issue.

Personally, I don't trust breadboards. That could be your problem right out of the gate.

Select as Best AnswerUndo Best Answer

user
Nman120 (author)steveastrouk2013-06-30

thank you, reoccurring is what it should be, late nights are murder on correct english

Select as Best AnswerUndo Best Answer

user
Nman120 (author)steveastrouk2013-06-30

I added side-by-side serial port outputs of the example codes I used from the RF24 library com3 is the uno and com4 is the bread-duino all on 57600 baud

The first one is the getting started example showing what happened when the individual transmitter is activated with the com port.(note that you can't view the receiver due to that when you change com ports the program restarts the arduinos)

The next two are using the ping-pair example which allows you to ground a pin to set weather it's transmuting or replying which also allows you to see the outputs of both ends. the funny thing is when the bread-duino on com4 is transmitting the uno sends back a response but the bread-duino doesn't register it. conversly when the uno transmits the bread-duino detects nothing so the uno has no chance of a response.

Select as Best AnswerUndo Best Answer

user
steveastrouk (author)2013-06-30

Do you mean "reaquiring" or "reoccuring"

Select as Best AnswerUndo Best Answer