I am trying to use the Fio V3 to communicate with a serial device using the SparkFun RS232 Shifter - SMD (PRT-00449) connected to a pair of the Fio pins. For simplicity of wiring, I am also trying to power the level shifter using the ground and +5 V from the Fio USB connector.
Unfortunately, I haven’t been able to make the it work. Using the SoftwareSerial package, transmitting from the device to the Fio works fine, but transmitting from the Fio to the device does not. I have tried pins 10 and 11 (Fio Rx and Tx) and also pins 10 and 3, with similar results
I have tried the same setup with the SparkFun RedBoard, using pins 10 and 11 (and the Redboard’s +5V and ground), and communication works well in both directions.
My question is: Is this something that should work on the Fio?
The Fio is a 3.3 volt device, the redboard has 5 volt outputs. You supply the rs232 level shifter with 5 volt, but apply 3.3 volt signals to the Rx inputs of it. (to send, I know, it’s confusing) I think it is simply insufficient to make the line voltage level switch properly.
Test this out without any code to reduce complexity (get rid of pin-selection, library, software serial timing issues). First, only use the 5 volt and gnd of the Fio to power it. Signal the RX pin (of the shifter) with 5 or 0 volt via a wire. What voltages do you get on RS-out pin of the RS232 connector for each input level? Then power it with 3.3 volt from the Fio and switch the RX pin (of the shifter) with 3.3 and 0 volt. Again, what voltages do you get on RS-out pin of the RS232 connector for each input level.
You should be able to supply the shifter with 3.3 volt and make the connection work. You might need to experiment with cablelength, baudrates and freqency of sending/receiving datastrings. The target rs232 device is providing the negative voltages (though the RS-in pin of the rs232 connector) required for sending data by the shifter. The capacitor on the shifter might run out of juice if the target cannot supply enough.The Vcc supply pin on the shifter is to make the switching transistors work and to power the leds.
[EDIT] To get to the RS-out and RS-in pin measure the connector pins on the bottom.
Based on the first sentence of your third paragraph (You should be able to supply the shifter with 3.3 volt and make the connection work.) I changed the rs232 level shifter VCC from 5VDC to 3.3VDC and now I have bidirectional flow through the level shifter, as desired.
After reading your response and pondering at the schematic, I see that the shifter’s VCC really needs to be at the TTL voltage level, and the RS-232 voltages level really don’t come into play when selecting the shifter’s VCC. Thus, since the FIO is a 3.3 volt device, the shifter should be run at 3.3 volts as well.
Thanks again for your help. For my little application, the FIO is a much better fit than the Redboard+XBee Shield route, and I am really glad to have gotten around this problem.