Esp8266 and nrf24l01 communication system

Thread Starter

Jblack

Joined Feb 24, 2016
30
Hi everyone,
So, I'm pretty new to the esp8266, but have some experience with arduino (I'm certainly no master however). I'm working on a project that uses an esp8266 and a nrf24l01 radio module to transmit small packets of data to a 'base' module that is an arduino and another nrf24l01. I'm having some difficulties figuring out how to use the nrf24l01 with the esp8266, so I was wondering if anyone knows of any good libraries or tutorials or anything that might help me. I don't know any Lua at all, so it would need to run through the arduino ide, that's what I've used so far to program the esp8266. Any help at all would be greatly appreciated and I can try to answer any questions you might have. Oh, and it would be great if you could explain stuff in really simple terms, I'm still in highschool and don't have a very expansive technical vocabulary

Thank you
~Josh
 

tracecom

Joined Apr 16, 2010
3,944
Why would you need both an ESP8266 and an nrf24l01 since they are both capable of rf transmitting and receiving? Please explain more about the project.
 

Thread Starter

Jblack

Joined Feb 24, 2016
30
Why would you need both an ESP8266 and an nrf24l01 since they are both capable of rf transmitting and receiving? Please explain more about the project.
I need a system that has both WiFi connectivity and long range connectivity. The ESP8266 has the WiFi, while the nrf24l01 has up to 1000 meter range, WiFi can't possibly compete with that range (could it?). The idea is to make two modules, one with ESP and NRF and the other with NRF and Arduino Uno. The two modules need to able to communicate at ranges of several hundred yards, hence the NRF, and one has to be able to connect to WiFi, hence the ESP. The one with the Arduino Uno will log data and the other will both gather the data and log it online (when internet is available). Hope this helps.
 

tracecom

Joined Apr 16, 2010
3,944
I have used the ESP modules quite a bit, but not at ranges of more than a hundred feet or so. I have a few of the nrf24l01 modules, and read quite a bit about them, but never actually used them...primarily because of the lack of range reported in much of what I read. Before you bet the farm on the nrf24l01 modules, you might want to experiment with them and see if they will give you the range you want. Both modules work in the 2.4gHz range and, given comparable transmitter power and receiver sensitivity, should have similar ranges. Have you read the ESP8266 articles here?
 

Thread Starter

Jblack

Joined Feb 24, 2016
30
I have used the ESP modules quite a bit, but not at ranges of more than a hundred feet or so. I have a few of the nrf24l01 modules, and read quite a bit about them, but never actually used them...primarily because of the lack of range reported in much of what I read. Before you bet the farm on the nrf24l01 modules, you might want to experiment with them and see if they will give you the range you want. Both modules work in the 2.4gHz range and, given comparable transmitter power and receiver sensitivity, should have similar ranges. Have you read the ESP8266 articles here?
The NRF modules I'm using have a built in signal amplifier so they're much higher power than the standard modules. However, they're still in the mail so I haven't been able to test them yet. I have, however, tested the ESP modules, and they definitely don't have the range I need.
I have read a few of those articles, but it seems to be an endless list, so I haven't read them all ;)
Thanks for the suggestions
 

tracecom

Joined Apr 16, 2010
3,944
In answer to your first post, I have used the Arduino IDE to program an ESP module, but didn't do much with it. I found that the AT command set was much easier to use and met my needs. I have never tried to program an NRF module and never heard that the Arduino IDE could be used, so you may have to learn a new language.

I hope you will post your experience with the NRF modules. Good luck.

ETA: I suppose you know the the transmitter power in the ESP modules is adjustable.
 

Thread Starter

Jblack

Joined Feb 24, 2016
30
In answer to your first post, I have used the Arduino IDE to program an ESP module, but didn't do much with it. I found that the AT command set was much easier to use and met my needs. I have never tried to program an NRF module and never heard that the Arduino IDE could be used, so you may have to learn a new language.

I hope you will post your experience with the NRF modules. Good luck.

ETA: I suppose you know the the transmitter power in the ESP modules is adjustable.
Thank you very much for your time!
 

GetDeviceInfo

Joined Jun 7, 2009
1,661
sounded to me like you wanted to mix them. Check your specs, the esp8266 transmitter is rated at 20dbm which I believe is the same as the nrf24l01 with pa. Either one will require an appropriate antenna for any real distance. This is my goto page for the nrf24l01
https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo . and I've found them very easy to work with.
For the esp8266 I use nodemcu with LUA. I had problems at first, but discovered that they all led back to a clean power supply.
 

Thread Starter

Jblack

Joined Feb 24, 2016
30
sounded to me like you wanted to mix them. Check your specs, the esp8266 transmitter is rated at 20dbm which I believe is the same as the nrf24l01 with pa. Either one will require an appropriate antenna for any real distance. This is my goto page for the nrf24l01
https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo . and I've found them very easy to work with.
For the esp8266 I use nodemcu with LUA. I had problems at first, but discovered that they all led back to a clean power supply.
Thanks for the link, I'll have to check it out!
 

gmag11

Joined Mar 26, 2016
2
Hi,

I've never used nrf24l01, but it seems feasible to connect it to ESP8266 directly.

I did used LUA with NodeMCU firmware during my first steps with ESP but now I find much more straight forward using Arduino IDE to program ESP.

You have most Arduino libraries and quite a bunch of ESP only Arduino libraries. LUA is ok like Python is with microPython firmware, but for complex projects Arduino IDE is more powerfull (in my own opinion). For get best optimized code you can use Espressif SDK directly but it is more difficult.

I bet you can find a ESP8266 compatible Arduino library to use with nrf24l01.
 

Thread Starter

Jblack

Joined Feb 24, 2016
30
Hi,

I've never used nrf24l01, but it seems feasible to connect it to ESP8266 directly.

I did used LUA with NodeMCU firmware during my first steps with ESP but now I find much more straight forward using Arduino IDE to program ESP.

You have most Arduino libraries and quite a bunch of ESP only Arduino libraries. LUA is ok like Python is with microPython firmware, but for complex projects Arduino IDE is more powerfull (in my own opinion). For get best optimized code you can use Espressif SDK directly but it is more difficult.

I bet you can find a ESP8266 compatible Arduino library to use with nrf24l01.

Thanks for the suggestion! I've looked at a few libraries, but they haven't seemed to be esp compatible. I'm still looking though!
 

gmag11

Joined Mar 26, 2016
2
Thanks for the suggestion! I've looked at a few libraries, but they haven't seemed to be esp compatible. I'm still looking though!
Just try it. Even if they do not claim to be ESP compatible, most often they are!!! Normally, only network related libraries (web clients and servers, etc) need to be adapted to be compatible.
 

Thread Starter

Jblack

Joined Feb 24, 2016
30
Just try it. Even if they do not claim to be ESP compatible, most often they are!!! Normally, only network related libraries (web clients and servers, etc) need to be adapted to be compatible.
Really? That's very good to know! I will indeed try them out. Thank you!
 

Thread Starter

Jblack

Joined Feb 24, 2016
30
JBlack, how did things work out with this? I'm wanting to do something similar.
Thanks in advance,
Jeff
I didn't end up getting the chance to actually put this into action, so I don't know how any of these suggestions would actually work. Sorry I couldn't be more help.
 
Top