The HW237 uses the Nordic nRF24L01+ transceiver and provides powerful GFSK-modulated data transmission on the 2.4GHz license-free ISM band.
This board features an integrated programmable PA (RF amplifier) that can boost the chips’ 1mW RF output power to 100mW. It also comes with an LNA circuit for better reception.
Based on data rate, the board can reach long distances of up to 1100m (at 250kbps). At the fastest data rate of 2MBps, the operating range is still around 500m (all in open terrain/line of sight).
The drop-in compatible nRF24L01+ provides much improved intermodulation and wideband blocking compared to the nRF24L01 plus additional internal RF filters to meet regulatory standards (i.e. stray emissions).
Board Variations
The board is available in three variations:
- On-Board Antenna: Antenna is printed on the board (compact), no PA, 1mW RF power, low transmission range of <100m
- SMA Connector: Connector for external antenna, transmission range <500m
- SMA + PA + LNA: Additional power amplifier and low-noise amplifier (LNA), up to 100mW RF power, transmission range of up to 1.100m
All boards have the same pin-out and are RF-compatible.
You can tell the difference by looking at the SMA antenna connector and the number of micro chips on the board:
- when the connector is pointing upwards and there is just one micro chip on the board, then it is the version without power amplifier.
- when the connector is pointing horizontally and there are two chips present, then it is the version with the power amplifier.
The picture below shows both chips: the one marked NRF24L01+ is the transceiver, and the one marked AT2401C is the PA/LNA.
Technical Data
Item | Value |
---|---|
Voltage | 3.0-3.6V (5V-tolerant inputs) |
Frequency | 2.4GHz |
Channels | 126 (6 channel simultaneous receive) |
Channel Spacing | 1MHz non-overlapping at 1MBps, 2MHz at 2MBps |
Output Power | programmable, up to 100mW |
Modulation | GFSK |
Standby Current | 26uA |
Sleep Current | 4.2uA |
RX Operating Current max | 45mA |
TX Operating Current max | 115mA |
PA gain | 20dB |
LNA gain | 10dB |
Receiver Sensitivity | -104dBm @ 250kps |
Interface | SPI |
Size | 20.65x12.1x7mm |
Connectors
The board comes with 2x4 connector pins that are clearly labeled on the backside.
Pin Row 1 | Description | Pin Row 2 | Description |
---|---|---|---|
MISO | SPI-Interface | IRQ | Interrupt |
SCK | SPI-Interface | MOSI | SPI-Interface |
CE | CSN | ||
GND | 0V | VCC | 3.3V |
Interface
This board uses the SPI interface to communicate with a microcontroller.
Connections
Here is an example of a setup with an Arduino Nano and Arduino Mega:
Arduino Mega | Arduino Uno/Nano | Pin Board |
---|---|---|
3.3V | 3.3V | VCC |
GND | GND | GND |
8 | 8 | CSN |
7 | 7 | CE |
52 | 13 | SCK |
51 | 11 | MOSI |
50 | 12 | MISO |
Library
There are many libraries available on github to operate the nRFL01 transceiver. RF24 is one of them.
Here is a very simple transmitter code (make sure you adjust the pin numbers so they fit the SPI pins on your microcontroller):
/*
* Arduino Wireless Communication Tutorial
* Example 1 - Transmitter Code
*
* by Dejan Nedelkovski, www.HowToMechatronics.com
*
* Library: TMRh20/RF24, https://github.com/tmrh20/RF24/
*/
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 8); // CE, CSN
const byte address[6] = "00001";
void setup() {
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
radio.stopListening();
}
void loop() {
const char text[] = "Hello World";
radio.write(&text, sizeof(text));
delay(1000);
}
And this would be the simplistic receiver code:
/*
* Arduino Wireless Communication Tutorial
* Example 1 - Receiver Code
*
* by Dejan Nedelkovski, www.HowToMechatronics.com
*
* Library: TMRh20/RF24, https://github.com/tmrh20/RF24/
*/
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 8); // CE, CSN
const byte address[6] = "00001";
void setup() {
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_MIN);
radio.startListening();
}
void loop() {
if (radio.available()) {
char text[32] = "";
radio.read(&text, sizeof(text));
Serial.println(text);
}
}
The full explanation of the code can be found here.
Data Sheet
nRF24L01
nRF24L01+
AT2401C PA/LNA (Chinese)
Slow Website?
This website is typically very fast, and pages should appear instantly. If this site is very slow for you, then your routing may be messed up, and this issue does not only affect done.land, but potentially a few other websites and downloads as well. Here are simple steps to speed up your Internet experience and fix issues with slow websites and downloads..
Comments
Please do leave comments below. I am using utteran.ce, an open-source and ad-free light-weight commenting system.
Here is how your comments are stored
Whenever you leave a comment, a new github issue is created on your behalf.
-
All comments become trackable issues in the Github Issues section, and I (and you) can follow up on them.
-
There is no third-party provider, no disrupting ads, and everything remains transparent inside github.
Github Users Yes, Spammers No
To keep spammers out and comments attributable, all you do is log in using your (free) github account and grant utteranc.es the permission to submit issues on your behalf.
If you don’t have a github account yet, go get yourself one - it’s free and simple.
If for any reason you do not feel comfortable with letting the commenting system submit issues for you, then visit Github Issues directly, i.e. by clicking the red button Submit Issue at the bottom of each page, and submit your issue manually. You control everything.
Discussions
For chit-chat and quick questions, feel free to visit and participate in Discussions. They work much like classic forums or bulletin boards. Just keep in mind: your valued input isn’t equally well trackable there.
(content created Apr 17, 2024)