nRF24L01 usb

Hi there,
I am new in Arduino, and use Arduino UNO…
I buy nRF24L01 with USB (image in attach)
can somebody share with me some manual and PC software for use?

Image from Original Post so we don’t have to download it. See this Image Guide



You don't need the USB board to use the nRF24 with an Uno. I presume the USB board is so you can connect it directly to a PC.

I got my nRF24s working with this Tutorial

I recommend using the TMRh20 version of the RF24 library - it solves some problems from the ManiacBug version

The pair of programs in this link may be useful.


Thanks for reply,
I have one Arduino uno board with nRF24L01 and second nRF24L01 with USB to conn to PC,
Arduino Uno read some sensor, and send data to PC via nRF...

When using the nRF24 it is necessary for both devices to have a lot in common. You need to provide a link to the datasheet for the PC end of the connection so we can know how to match it from the Arduino side.

It may actually be easier to connect the PC to an Arduino with the nRF24 attached to it rather than figure out how to use the USB device :slight_smile:


As Robin mentions, using the USB device may be more trouble than it's worth, even if you have a library. It will be easier to send the data into the PC using serial, another Arduino, and an FTDI adapter. This will allow you to initially use a terminal program to see the data. Your final PC app can then use the language and IDE of your choice.

It will be easier to send the data into the PC using serial and an FTDI adapter.

If you mean the use of a wired connection to the PC rather than a wireless connection then I don't think that is what the OP wants.

I think he wants Arduino A to send data by wireless to the PC.

I was trying to say that it may be easier to use another Arduino B connected to the "receiving" nRF24 and connected by USB cable to the PC rather than using the USB connector in the photo to connect the "receiving" nRF24 to the PC.

(I put the word "receiving" in quotes because the nRF24 is a transeciver)


That is the way I had envisioned the setup. The USB device had another RF24 attached. My thinking was to replace the USB adapter with an Arduino and an FTDI and go serial. The OP's original device choice could be difficult to implement. There was no mention of the software for the USB/PC part. I've seen photos of this device before but no data on the software support. It could be very nice, or a nightmare.

That is the way I had envisioned the setup.

Apologies. I misunderstood.


I’d like to find out more about the USB adapter the OP found. With the right glue, it would make a nice way of getting remote data into a PC. Will spend some time this afternoon snooping around. We have a large multi-day storm system coming into the west coast of Florida so nothing to do outside.


Here’s a source of the devices but no mention of text commands for I/O.

And here's a part number for the adapter.


This is a close as I can get using AT commands on the PC end.

AT Command Set.

I reread my earlier post and it was not clear at all that I meant to include a second Arduino at the PC end. I've updated my post.

My apologies to you for not stating clearly the setup I had in mind.

This is a close as I can get using AT commands on the PC end.

AT Command Set.

Why would one want to use AT commands ? [/rant]

It seems to be a very small subset of the nRF24 capability. I don't see how you set the channel (or which channel is used) or how you select a listening Pipe.

I have found the ackPayload facility greatly simplifies 2-way communication when the amount of data can fit in a single 32 byte message and that is not mentioned at all.


The channel set command is "Command: AT+CHANNEL".

The whole command set seems somewhat abbreviated, and probably slow. For small amounts of occasional data directly into a PC, it's probably OK. A home weather station sending a limited amount of data every five minutes would be a good application. I prefer the NRF/Arduino/PC combination at the receiving end so I can control the entire process and optimize for speed. Since the remote end is NRF/Arduino, you might as well do the whole thing with that set of hardware.

Here's the link to the AT Command Processor. The chip on the adapter must be an AVR. This appears to be what we would do manually. If that's the case then all the hardware is on the adapter so one could reprogram and use whatever command scheme is needed.

Your link is broken it should be AT Command Processor

I am not impressed by the Arduino code - for example it only uses 9600 baud and it uses the String class. I wonder how long before it crashes?

It seems to have a hard-wired 1 second timeout for a read.

It would be interesting to find out if you could re-program that device.

Have we lost the OP ?


Link fixed. The first part got duplicated somehow. I should do more testing before hitting the post button, but thought I had done that.

Yes, the INO seemed to contain a lot more than necessary for just a command translator. I can envision something much simpler with an abreviated command language input and result return output, and at a much higher baud.

The UART chip is a CH340 which is also used on the Nano V3.0. I wonder if you can make your own adapter with the Nano, an RF24, and a more efficient sketch. I haven't found a good photo of the adapter to identify the CPU chip other than it uses a 12MHz crystal. Since we have three more days of really rotten weather coming it might be interesting to load his sketch into a Nano/RF24 pair and improve from there.

The sketch compiles and runs OK on a Mega2560 with an RF24 attached to the appropriate SPI pins. I can set the channel number with the following command on the serial monitor input line. Looks like this sketch will work on any Arduino with a USB/UART talking to an ASCII communicator such as a terminal program or a dedicated PC app. I don’t have an RF24 at the other end so don’t know if they’re communicating but expect it works fine.


#define CE_PIN    49
#define CS_PIN    53