I thought 3.3V may not be enough for 5V arduino to register a logic HIGH
So with 5V VCC, 3V would be good for a High as an Input.
So if you're driving a part that is expecting 3.0 to 3.6V, and 3.3V typical, you could blow it out.
I was just reading the schematic of this xbee shield and was a bit shocked to see the DIN and DOUT, both 3.3V logic, were directly connected to 5V arduino pins 0 and 1 without any voltage conversion. Am I right?
Normally all CMOS inputs have protection diodes to guard against stray static electricity taking the pin outside the voltage range it can handle - these diodes clamp the input in the range -0.5V to Vdd+0.5V approx, where Vdd is the supply voltage to the chip. If you connect 5V via a highish value resistor (10k to 22k sort of range) to the input pin, the diode will clamp the voltage at the pin to about 3.8V if there is a diode.If there is no diode the pin voltage will be 5.0V... If so this could be because the chip is designed to support 5V inputs. But if not you may have already taken it past its limits.
Wow! Thanks to EVERYONE! XD XD XDSo for lower speed communications I will take Jack's circuit with the diode and resistor circuit for Bee Din and just connect Bee's Dout to arduino.Jack, is there any reason I can't use say 2.1Kohm resistor on the R4, except the current will double when the signal is low?Does this diode-resistor converter have similar slew rate to a voltage divider due to the resistors? What is the advantage of the diode compared to a resistor in a voltage divider?If I need higher speed I might have to use this circuit (from NXT document) like what sparkfun sells:
BTW I use the diode circuit at 115200 bps with no apparent difficulty.