nRF24l01 acting as a virtual USB port ?

I have 2 nRF24l01's and 2 UNO' s communicating with each other wirelessly via USB and using Maniacbugs examples , my goal is to have the remote receiver act as a USB port that I can connect a Servo controller to and operate the software for the servo controller from a PC .

#1 can this be done ?
#2 I am not a coder so I need someone to either code this or show me where I may find code to do this

WHat I really need is a wireless USB link that is transparent to the servo controller , we need a long distance USB wireless link for my project.

thanks In advance

right now my setup is PC-UNO-nRF24l01 ------ radio ------ nRF24l01-UNO- Pololu Mastro servo controller

that is the setup I need to implement.

I am open to offers to write this for me !! !
I will provide components

No, you can't do that, you can't magically make USB wireless (the protocol doesn't allow for transmission delays), and the alternative would be emulating the pololu protocol on the transmitter, which would have to have native USB (ie, not an uno)...

If you're wedded to the pololu control software, you need a USB cable (and you can't make them arbitrarily long) to a computer. Maybe you put a small computer closer to the device in question and connect to it over the network (heck, even RDP?)

If you need wireless, you need to use a different scheme - an Arduino Uno can control servos just fine, and you could have the receiver control servos in response to commands over the NRF24 (this much is common) - but then if you wanted to control from the PC you'd need to write software to send serial commands that do what you want it to. Look around - someone may have done something very similar.

buzzkill:
I have 2 nRF24l01's and 2 UNO' s communicating with each other wirelessly via USB and using Maniacbugs examples , my goal is to have the remote receiver act as a USB port that I can connect a Servo controller to and operate the software for the servo controller from a PC .

I don't understand.

If you mean can you connect one of the Unos to a PC with a USB cable and have the PC send it instructions which it then wirelessly transmits to the other Uno - yes you can. That is how I control model trains.

The Uno connected to the PC could also receive data wirelessly and pass that data, via USB, to a suitable program running on the PC. That is also part of my model train system.

If neither of these is what you mean please provide a clearer explanation.

...R

I think the OP is trying to make a wireless USB extender.
Extremely hard things to make , and it was possible for a while to buy commercial ones, but only USB 1 was supported, and even then the devices cost upwards of $400 each.
The radios being the costly items.
Its not possible anymore , because USB2 and above has such tight timing specs that no radio on earth can maintain them.

How many servos do you want to control?

Wow ok , I plan on controlling up to 24 servos ( using the maestro servo controller from Pololu), the speed is not an issue ( 100hz timing signal on a servo ) YES a USB extender is what I want to do !!! .

BTW I only really need to go one way I.E. transmit to the receiver , I dont need a reply

Robin2 do you have code that I can try ??? just to test the idea ? I think you are doing what I want to do

thanks for all the replies people ! I do appreciate it

buzzkill:
Robin2 do you have code that I can try ??? just to test the idea ? I think you are doing what I want to do

The code is in this Thread, but it is probably not very accessible because it does not use standard Arduino devices.

I actually think what you want to do is much simpler and all you probably need is a small extension to one to the NRF24 demo programs. The PC sends a message over USB to ArduinoA which broadcasts the message. ArduinoB hears the message and may or may not reply (as required).

...R

Robin2:
The code is in this Thread, but it is probably not very accessible because it does not use standard Arduino devices.

I actually think what you want to do is much simpler and all you probably need is a small extension to one to the NRF24 demo programs. The PC sends a message over USB to ArduinoA which broadcasts the message. ArduinoB hears the message and may or may not reply (as required).

...R

That is what I think I need ?? I will try that code and see if it will work , if not I am NOT a programmer and I am lost in that area , any suggestions ?
I think the thing to do is modify the code like the ( gettingstarted ) for the nRF24 from Maniacbug and modify it , I have loaded that code and I have good comm's over a long distance with Antennas on my nRF24's + version . Obviously I need to hire someone to do this , In order to recognize the servo controller I need to get a reply from it to be recognized but I do not need high speed tx/rx ( I think , has to be tested ) mainly I need to TX to the servo controller , there is no real feedback needed.

I am going to try a couple of these modules and see if they work , I assume I will still need the proper programming to the nRF24l01

http://www.dx.com/p/nrf24l01-usb-wireless-serial-data-transmission-module-blue-379934#.Vhr0utwrKCg

buzzkill:
I have loaded that code and I have good comm's over a long distance with Antennas on my nRF24's + version . Obviously I need to hire someone to do this , In order to recognize the servo controller I need to get a reply from it to be recognized but I do not need high speed tx/rx ( I think , has to be tested ) mainly I need to TX to the servo controller , there is no real feedback needed.

I think this means that you have successfully transmitted data over the distance you require.

Even if the application does not need feedback it is probably a good idea for the receiver to acknowledge receipt of each message. You can easily include a check-sum in the message so the receiver can tell that the message is valid.

If the transmitter does not get the acknowldegement it could re-send the message, or issue a warning.

...R

Good points Robin ! thanks man

Robin2:
You can easily include a check-sum in the message so the receiver can tell that the message is valid.
If the transmitter does not get the acknowldegement it could re-send the message, or issue a warning.

All of that is provided by the NRF24L01+ if configured properly.

Edit: plus maximal 32 byte acknowldege data, checksumed and acknowledged.

Whandall:
All of that is provided by the NRF24L01+ if configured properly.

Edit: plus maximal 32 byte acknowldege data, checksumed and acknowledged.

Now I just need a SMART person to code this for me LOL ! I am LOST when it comes to programming , mech/ elec. etc. all good but programming not so much .

Programming has to be practiced :wink: and it is not that hard at all to use the NRF24L01+.

Try to understand the datasheet, or at least a bit of it, so you know what you want to enable.

All libraries that I had a look at, can enable all that stuff, but it is just not setup as default.

The acknowledge payload has to be loaded before the packet to be acknowledged arrives,
so there is a 1 packet interleave, a little inconvenient, but nevertheless a very usable stream.
It can carry the same amount of data as the packet, 32 byte max.

Whandall:
Programming has to be practiced :wink: and it is not that hard at all to use the NRF24L01+.

Try to understand the datasheet, or at least a bit of it, so you know what you want to enable.

All libraries that I had a look at, can enable all that stuff, but it is just not setup as default.

The acknowledge payload has to be loaded before the packet to be acknowledged arrives,
so there is a 1 packet interleave, a little inconvenient, but nevertheless a very usable stream.
It can carry the same amount of data as the packet, 32 byte max.

I have NO plans to program this myself , I am fully involved in the system design and mechanical design ! , this is for sure a HIRE a guy deal !.

I am not sure what is the best way to emulate a USB cable/extender via radio ? I need help to figure out the best way to do this , so I need a person that understands USB and the nRF24l01+ to do this , I am sure timing and data rates will be an issue.

In my immediate needs it is low speed and I need to recognize and external Servo controller then send commends to it.

I have read the Nrf24 datasheet , I do not totally get the Shockburst yet but most everything else I understand , I like that it can be setup to operate outside of the USA WIFI band ( above 2.5 ghz ) this will keep interference down with other wifi devices , this system will be used in a large public space with lots of people and also inside with some walls.

It looks like Enhanced ShockBurst™ will be needed for bidirectional comms .

You want a job ? lol

buzzkill:
I am fully involved in the system design and mechanical design !

For that job you need at least a good understanding of the chips capabilities.

In respect to USB I'm more or less only a user and can not be of much help, too bad.
If your project runs into problems with the NRF24L01+ (being programmed by some local USB guy)
I could try to help you without being hired.

Are you aware that there is an Arduino library that uses TTL serial instead of USB to control the servo driver board.

serial library

Whandall:
For that job you need at least a good understanding of the chips capabilities.

In respect to USB I'm more or less only a user and can not be of much help, too bad.
If your project runs into problems with the NRF24L01+ (being programmed by some local USB guy)
I could try to help you without being hired.

I very much appreciate the offer , I may take you up on it

Whandall:
For that job you need at least a good understanding of the chips capabilities.

In respect to USB I'm more or less only a user and can not be of much help, too bad.
If your project runs into problems with the NRF24L01+ (being programmed by some local USB guy)
I could try to help you without being hired.

Whandall I think maybe the serial port library example basic ? Pololu Maestro Servo Controller User’s Guide that Fungus linked to and the RF24 Master library using the getting started example might work ? GitHub - maniacbug/RF24: Arduino driver for nRF24L01

the RF24 file needs some stuff taken out of it ( it sends data back and forth , timing data )

if you want to take a look I would appreciate it

buzzkill:
I have NO plans to program this myself

Then you should be asking for help in the Gigs and Collaborations section and not wasting people's time here. I assumed all along that you wanted help to do this yourself.

...R