Arduino + RF transmitter/receiver + Sparkfun FTDI


I have here a 315MHz RF transmitter/receiver pair which I'm having a bit of trouble to get up and running.

So, the setup:

The arduino outputs a sequential counter every 500ms over the serial port at 2400bps, which can be read just fine if connected directly to my Mac over USB. It also works if I use an FTDI breakout board instead of the built in USB chip on the Arduino (arduino TX/Pin1 to the breakout RX, arduino GND to the breakout GND).

Now I hook up the RF transmitter to the Arduino (TX/Pin1 to the transmitter DATA, 5V and GND to the transmitter VCC and GND).

Then, I hook up the receiver to the FTDI breakout (5V and GND from the breakout to the 5V and GND pins on the receiver, and the receiver's DATA pin to the breakout RX).

But I get nothing on the Mac. The breakout RX LED doesn't blink, ever.

To see if the receiver was getting anything, I connected the DATA pin to a LED, and it blinks very faintly. I assume this means it is getting data from the transmitter, since the blinking stops if I turn off the arduino.

I just don't understand how the FTDI breakout board doesn't see any data coming in. Am I missing something?

Any help would be appreciated, thanks. :)

RF transmitter: RF Receiver: FTDI 5V breakout:

Anyone can confirm that this setup should, at least in theory, work?

Arduino->RF transmitter --(wireless)--> RF receiver->FTDI cable->Computer

I don't know if I'm doing something wrong (the tutorials don't seem to imply that anything more complicated than this is necessary, at least for starters) or if the receiver/FTDI part isn't supposed to work like this, or if I just have a bad part somewhere. :-[

Yes, it is possible. Tom Igoe's book Making Things Talk has a section on how to do it, with wiring diagrams and pictures and sample code.

Just to wrap this up in case someone has the same problem.

After poking around with a voltmeter I found that I could only read a correct output voltage from the receiver when the data pin wasn't connected to anything. As soon as I connected a LED ou just a resistor (any path to ground it appears, I even tried using an OR gate), the output voltage would still vary according to what was being received, but with voltages in the order of the mV, too low to be detected as a logic level.

So, the output of the receiver can only be read correctly on a digital input pin of the microcontroller, and not on it's RX pin. Using the SoftwareSerial library and using a second Arduino instead of an FTDI cable/breakout "solved" the problem.

In any case, if anyone with more knowledge about electronics than I can explain why this behavior on the receiver data pin, and why it works with a digital input but not the RX pin, it would surely be appreciated. :)

What size resistor did you try?

I tried 220 ohm, 1K and 10K.

I have the same problem but with the inverted connection:

Mac --> FTDI --> Transmitter --> (wireless) --> Receiver --> Arduino RX pin

the arduino doesn't receive nothing on RX pin... do you think that using the SoftwareSerial library can solve the problem?

(...)do you think that using the SoftwareSerial library can solve the problem?

If the radio hardware is the same as mine, I believe it can.

In the end I've used SoftwareSerial on both ends, but from the tests I did, I believe the transmitter can be connected just fine to the TX pin. It's just the receiver that has this behavior.

Is the problem that some of the signals are TTL and others need to be RS232?

If so, there's an interface at...

P3 - Serial TTL-to-RS232 Adapter/Programmer (rev 1.0)

In kit form: $3 +p&p

Is the problem that some of the signals are TTL and others need to be RS232?

The output signal is 0-5V, and it works with SoftwareSerial, so unless I have the definition of RS232 wrong, it looks like TTL.