Arduino WIFI Communication
In this tutorial we will establish a wireless communication between two Arduino boards using the NRF24 L01 transceiver modules. The modules operate at a frequency of 2.4GHz, which is one of the ISM band which means it is open to use in most of the countries around the World. To achieve a longer range (I use the setup for controlling a RC airplane) I use the module nRF24L01+PA+LNA (PA stands for "Power Amplifier" and LNA for "Low-Noise Amplifier") on the transmitter side and the normal nRF24L01 module on the receiver side. If you want to have an even higher range, you should operate both sides with the nRF24L01+PA+LNA. The NRF24L01 radio module has an integrated signal amplifier and matching SMA antenna enables much higher ranges (according to the datasheet up to 1100 meters which in my opinion is not realistic).
Required parts: 2 x Arduino Nano (one as trasmitter, one as receiver) 2 x NRF24L01+ PCB Adapter (not necessarily needed but more comfortable) 1 x NRF24L01+ PA + LNA Transceiver Modul 2.4G Antenna Long Range 1 x NRF24L01 2.4GHz Wireless Transceiver
The pinout for the normal NRF24 and the NRF24L01+PA+LNA is completely identical.
The NRF24L01 module communicates with the Arduino using SPI protocol. SPI is a synchronous serial communication interface specification used for short-distance communication, primarily in embedded systems. SPI devices communicate in full duplex mode using a master–slave architecture usually with a single master.
The SPI bus specifies the following logic signals: SCK : Serial Clock (from master) MOSI: Master Out Slave In (data output from master) MISO: Master In Slave Out (data output from slave) CE : Chip Enable CSN : Chip Select
This means for us that the MOSI, MISO, SCK, CE and CSN pins must be connected to their corresponding pins on the microcontroller. Use the same wiring for both sender and receiver.
NRF24L01 Arduino MOSI D11 MISO D12 SCK D13 CE D9 CSN D8 VCC +3.3 V GND GND