Rf-Nano V3.0 micro USB Card Review
Rf-Nano V3.0 micro USB Card Review
Rf-Nano V3.0 micro USB Card Review

Rf-Nano V3.0 micro USB Card Review

We reviewed the Arduino Nano board in a previous product review article. With its small size of 18x45 mm, the card is an ideal microcontroller card for many IoT applications. Arduino Nano can be used for personal small applications as well as IoT applications and it is very economical.

  If we mostly work on local projects that will communicate with each other, our preference may be RF-Nano V3.0. (The nRF24L01 module can offer a communication distance of up to about 100 meters.)

nRF24L01

RF-Nano is a derivative of the Nano board and basically has an integrated RF transceiver module (nRF24L01). This means that the RF-Nano has wireless communication capabilities. RF-Nano may be more suitable for wireless sensor networks, remote control systems and other RF based projects.

The RF-Nano board that comes with the nRF24L01 module has the same features as the Arduino Nano board. It is sufficient to select Nano in the IDE environment used for programming. But in addition, the nRF24L01 library must be installed in order to use the network features. Then it needs to be added to the code editor as follows:

#include <RF24.h>

void setup() { //
...

  The technical features of the RF-Nano card, similar to the Nano card we mentioned in our previous article, are as follows:

Microcontroller Atmega328P,
Nrf24L01 + 2.4G wireless,
Architectural AVR,
Operating voltage 5V,
Flash memory 32 KB, 2 KB used by bootloader,
SRAM 2KB,
Clock speed is 16Mhz,
Analog I/O pins 8,
EEPROM 1KB,
DC current 40 mA per I/O pins (I/O pins),
Input voltage 7-12V,
Digital I/O pins 22,
PWM output 6,
Power consumption 19 mA,
PCB size 48x18mm,
Weight 7g

Brief information about the nRF24L01, which can also be purchased externally:

The nRF24L01 is an RF (Radio Frequency) module used for wireless communication. It uses the 2.4 GHz frequency band for communication and is a frequently preferred component in microcontroller projects such as Arduino. Here are some basics about the nRF24L01:

Wireless Communication: nRF24L01 is a communication module that provides wireless data transmission with low power consumption. This module is capable of sending and receiving data using RF signals.

Frequency Band: The nRF24L01 operates in the 2.4 GHz frequency band. This frequency band is a common band where various wireless technologies are used, for example Wi-Fi and Bluetooth also work in this band.

Communication Speed: The nRF24L01 has different communication rates of 250 kbps, 1 Mbps and 2 Mbps. The communication speed determines how fast the data transfer occurs.

Channels: The nRF24L01 offers a choice of up to 125 channels. Channels are used to avoid conflict between devices operating using the same frequency band. Different devices can interact with each other using different channels.

Applicable Sample Project: Communication of two RF-Nano V3.0

Let one of the two Rf-Nano V3.0 cards be a receiver and the other a transmitter. The transmitter is sending the "Hello" message. The receiver shows the incoming message on the "Serial" screen. Receiver and transmitter application code examples are below.

Receiver Arduino Code:

#include <SPI.h>
#include <RF24.h>

RF24 radio(9, 10); // Specify Arduino pin numbers for CE and CSN pins

void setup() {
   Serial.begin(9600);
   radio.begin(); // Initialize the RF24 module
   radio.openReadingPipe(1, 0xF0F0F0F0E1LL); // Open the read pipe to get the data
   radio.startListening(); // start receiving data
}

void loop() {
   if (radio.available()) {
     char text[32] = ""; // Create a string to hold the text to be retrieved
     radio.read(&text, sizeof(text)); // Get the text via the RF24 module
     Serial.println(text); // Print the received text over the serial port
   }
}


Transmitter Arduino Code:

#include <SPI.h>
#include <RF24.h>

RF24 radio(9, 10); // Specify Arduino pin numbers for CE and CSN pins

void setup() {
   Serial.begin(9600);
   radio.begin(); // Initialize the RF24 module
   radio.openWritingPipe(0xF0F0F0F0E1LL); // Open write pipe to send data
   radio.setPALevel(RF24_PA_HIGH); // Set the data strength (RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX)
}

void loop() {
   char text[] = "Hello!"; // Specify the text to send
   radio.write(&text, sizeof(text)); // Send the text via the RF24 module

   delay(1000); // wait 1 second
}