Basic wireless signal *solved*

I'm working on a wireless system that is very time-sensitive. I don't care about data, I just want an on/off signal.

I bought a few XD-FST and XD-RF-5V modules (both 315MHz and 433MHz). I was hoping that I could just simply tie the transmitter data pin to ground or 5v while the receiving end would show the same thing (or the inverse, doesn't really matter). By doing this, the signal would be very simple and quick to interpret.

However, it doesn't seem to work the way I want it to. If I do either ground or 5v, the output remains at around 0.03v. If I don't connect the data pin to anything, sometimes (but not always) I get a voltage around 1.1v to 1.6v. I'm guessing this is just the normal noise these receivers output.

Anyway, is it even possible to achieve what I want with these devices?

I found several links concerning your devices -

http://www.wes.id.au/tag/xd-fst/

In the following

a commenter states, “You need a transmit and receive algorithm which is smart enough to differentiate between noise and a signal, and by themselves they aren’t sufficient to implement a ‘wireless wire’. You will want to look into VirtualWire or one of the Manchester encoding libraries out there.”

I'm working on a wireless system that is very time-sensitive. I don't care about data, I just want an on/off signal.

Radio is very unreliable. To send even an on/off message takes time, and to do so reliably may require several tries, which takes more time. What are your time requirements?

What are your distance requirements?

@Runaway Pancake
I’m aware of those links, but that’s not what I’m trying to accomplish. I don’t care about transmitting serial data, I just want to send a constant high or low signal —

@jremington
— that being said, I want to do signals like this BECAUSE they don’t suffer as much from interference. Seeing a few spikes here and there can be interpreted as “noise”, which in my case would be known as just a low signal. When connecting the data wire to either voltage or ground, I was getting a very stable signal, which is good and exactly what I’m looking for. The problem is the signal was the same regardless of whether I use voltage or ground.
My time requirements are on a nanosecond scale. Before you tell me that arduinos are way too slow, I’m having an ARM platform handle the timing via GPIO pins.

@aarg
These devices are supposed to be able to go up to 200m. Even 1/4 of that would be really nice, but, considering my intended signal is so “plain”, 200m would probably work just fine, given I supply enough voltage.

schmidtbag: My time requirements are on a nanosecond scale.

No way. Forget about it. The radio won't give you that.

aarg:
No way. Forget about it. The radio won’t give you that.

Again - I’m not looking to be filtering data. Since (to my knowledge) these radios don’t seem to do any signal processing, what would prevent these from doing what I want?

In the absence of a signal, or in the presence of a constant signal, the automatic gain adjustment on the receiver will either lower or increase the threshold until it gets a duty cycle of around 50% (ie, it ramps the gain up or down until finds a duty-cycle around 50%, even if that means it's outputting noise). This is why you see the same thing with transmitter on as with it off - it adjusts the gain until they're the same. (also, sometimes those XD-RF type receivers just plain decide to suck - I've seen them get max range of ~10 centimeters under conditions I don't really understand)

If you use receivers based on the SYN470 chip, you can tie the CTH pin to Vcc through a 5 mega-ohm resistor to keep it from cranking the gain up so high that you get random noise when the transmitter is off. Remember however, that you can still get interference from other 433mhz devices like garage door openers, car door remotes, doorbells, and other common household items.

The right way to use these transmitters is to send a pattern with them that the microcontroller on the receiving side can verify. This could be done either through the VW/RH libraries, or you can roll your own (this might be useful - this is my homebrew protocol - though I don't claim it to be superior to VW/RH by any means, and there are many obvious improvements) https://github.com/SpenceKonde/AzzyProjects/blob/master/433mhz/txrxtoserial21/txrxtoserial21.ino ). Typically you send the signal a few times in succession, often with a "training burst" of 50% duty cycle preceeding it to try to get the AGC on the receiver to adjust to the desired gain. The SYN470 boards in general work much better than the XD-RF ones (which are a simple superregnerative receiver, while the SYN470 is superhet).

Per the datasheet of the SYN470, the highest demodulator bandwidth available is 10kHz. That implies that the shortest response time you could hope for is ~100us - however, even that is not attainable in light of what I discussed above.

schmidtbag: My time requirements are on a nanosecond scale.

50 - 200 meter. So you need something faster than the speed of light. Leo..

@DrAzzy Thanks for the clear and detailed explanation. I had a feeling the gain adjusting itself had something to do with it, but obviously I didn't have as thorough of an understanding. Based on what you told me, I have a better understanding of why these probably won't work for my purposes. I'll have to think of another approach, but for now I''ll mark this topic as solved.

schmidtbag: @Runaway Pancake I don't care about transmitting serial data, I just want to send a constant high or low signal ---

As the commenter stated: "they aren't sufficient to implement a 'wireless wire'." OK?

schmidtbag: My time requirements are on a nanosecond scale. Before you tell me that arduinos are way too slow, I'm having an ARM platform handle the timing via GPIO pins.

What are you trying to measure that needs such narrow timing? Maybe there are alternatives if you explain what your trying to do.

Wawa: 50 - 200 meter. So you need something faster than the speed of light. Leo..

Quantum entanglement?

Russell

There are a lot of clever tricks you have to pull to get nanosecond accuracy with a wireless link, for instance GPS does this. However you won't get this from a simple radio module (the fastest I've seen supports 2Mbit baud rate packets, but that's still 500 nanoseconds per transition, several orders of magnitude below what you think you need.

The basic issue is that high speed edges are broadband and wireless is narrowband.

Perhaps you need a comms laser and glass fibre link? Or a coax transmission line?

GPS is also a repeating signal, it sounds like this is not.

1ns means 1GHz. You can't get that from a 433MHz module. In any case, the bandwidth of the module is only 10kHz as pointed out. At best you might get half that.