My 2 cents worth in addition to Mike's comments. A lot depends on which radio you are using and how much intelligence it has. 1. Is the transmitter permanently powered on? There may be constant carrier, but if you send no data, then the lack of signal variation can mess things up for the receiver on the data and carrier side. Is constant TX legal? Not in the commercial world, I think. 2. Is the receiver permanently powered on? You could save power by turning off the radio and putting the chip to sleep for a while if nothing is happening. If so, you need to turn the receiver on, warm it up and 'sniff' for 'carry detect' to see if there is a transmission: go back to sleep otherwise. If you are saving power and your timing algorithm has sent you to sleep, a transmission must be preceded by at least one sleep prediod worth of transmission to allow you to wake up and not miss the message. This can be eliminated if your logic keeps listening for a while after a message when two messages follow each other closely. 3. You probably need to precede a transmission with a 'ripple' to get the receiver stable. The ripple should be a burst of '10' patterns. The ripple can be short if you think the receiver is turned on, longer if you think it is 'asleep'. Even if you are constantly powered on, the ripple corrects the decay factor when no data is sent. 4. You need to put something in the data to tell when the message begins, a break in the ripple pattern. 5. You need to send Manchester type data (1 data = 10 on radio, 0 data = 01 on radio). Even if you use ASCII with start and stop bits, a SDDDDDDDDS of 1000000000 is too flat for lots of radios. 6. As for the receiver, there are lots of problems to amuse yourself with. Depending on radios, transmission distance, environment (buildings with lots of girders, etc), interference, tuning, component variation, battery decay and various other things, you may find that received data is distorted: 1's could be long and zeroes short, for example. This makes the ripple and break in ripple harder to find, and makes a decision on timing more complex. There could also be spikes in the data, so you may want logic to count the amount of time in a sample period that the signal is in an 'on' state and making the data decision on this instead of just taking one sample at the centre of a sample period. Ed Todd http://www.sni.net/cedardell