SparkFun Forums 

Where electronics enthusiasts find answers.

All things pertaining to wireless and RF links
By phlipped
#102128
Hi everyone,

I'm having a few issues with the WRL-08949 RF Link 2400bps Receiver. I know there's already quite a few threads about these components, but I haven't found anything that addresses my problem, so ...

In short, the output of the RF receiver doesn't seem to be able to directly drive the input of an FTDI Basic Breakout (USB UART DEV-09115) (nor the serial input of an Arduino). Most of the time, I don't get anything while monitoring the FTDI serial port on my PC

But when I attach my 'scope probe to the RF receiver's output, the scope screen shows that data are being received. But here's the real kicker - as soon as I attach the probe, the data start streaming across the serial monitor on the PC. Take the scope probe away, and the stream stops.

Help! What's going on???

=============================
Here's the setup ...
I'm sending serial data (a constant stream of 'U's - 0x55) straight out of an Arduino Duemilenova into the input of the RF transmitter.
I've got the output of the RF receiver wired directly to the input of the FTDI Basic Breakout
I'm monitoring the FTDI serial port using Hyperterminal

I've tried connecting the RF receiver's output to the serial input of the Arduino - but no luck. In this case, when I connect the scope probe, all I see is a flat 5v, as if the Arduino's serial receive input is holding the line up at 5v, and the RF receiver's output doesn't have enough guts to pull it down.

So I reconfigured the RF receiver output so that instead of going directly into the FTDI input, it feeds the base of an NPN BPJ transistor. The collector of the transistor is attached to 5v, and the emitter is attached to the input of the FTDI chip, as well as to ground via a 15k resistor. (My reasoning is, the emitter is pulled down to ground when there's nothing coming from the RF receiver, and gets pulled up to 5v when there is. Right?)

And now it all works. Well, with the FTDI Basic Breakout it does. When I try to connect this new transistor-ised output to the Arduino's serial receive, my scope tells me that the voltage is still being held up at 5v. This doesn't happen if I loop the Arduino's transmit directly over to the the receive. What's happening here?

So I've got something that kinda works, but I'm not happy with it, because I don't understand why it kinda works, and I don't know whether or not I'm doing it right. I'm pretty new to electronics - I've got a little bit of theory but not much practice at all.

So some of my questions are ...
Am I doing it right (ie the whole transistor circuit thing)?
Should I NEED to be doing the transistor thing? Or is something broken somewhere (besides my brain)? No one else seems to need to do what I'm doing.
Is 15k a good size resistor? I found this size by trial and error - it's the highest size where everything still works.

Other points about the setup:
I'm supplying 5v to the RF receiver from a power supply (Ie not from USB or from an arduino)
I've got the GNDs of the RF receiver and the FTDI Basic Breakout wired together.
I DON'T have the 5v of the FTDI Basic Breakout wired to the 5v rail supplying the receiver.
Different speeds don't seem to affect things - I've tried 300, 1200 and 2400 bps.
The type of data I send doesn't seem to affect things. I can send a constant stream of bytes from 0x00 to 0xFFin a loop, and still get the same symptoms.

Many thanks in advance!
By 60amp_relay
#102134
I DON'T have the 5v of the FTDI Basic Breakout wired to the 5v rail supplying the receiver.
I bet this is the source of the trouble. You're mixing multiple (and slightly different) +5V power supplies across devices. To get this to work, you'll probably need to run the RFLink Receiver directly from the +5V that the FTDI chip supplies, and make sure there are not any wired connections between the Arduino and the FTDI.

In general, two logic components who communicate via wires are going to need to be fed from the same power supply. Otherwise, even a tiny drift in voltages messes up the signal. That is, if you have one device running at +5.002V and one at +4.997V, and you try to connect their I/O pins together, you'll get all sorts of weirdness.
By phlipped
#102142
Thanks for the suggestion, 60amp_relay - I just tried powering the RF receiver using the 5v pin on the FTDI Basic Breakout, but no luck - no significant change in the symptoms. :(

I also just tried ditching the whole transistor thing and putting a 47k resistor from the RF receiver's output (FTDI's input) to GND. It started working when I did this, although again only with the FTDI, not with the Arduino's serial receiver, which is still holding the line high at 5v.

I did this because my scope was showing that the lower voltage on the RF receiver's data output (essentially a square wave) was a bit curvy - as if the voltage wasn't getting down to GND fast enough. So I added in the resistor to see if it helps. And it did. Again, I'm pretty noob at all this so maybe I'm just getting lucky with these random attempts at fixing things

Would love to understand what's going on. And I'd love to be able to drive the serial input of the arduino.

Cheers,
phlipped