For the RX input of my HC07 serial bluetooth module, I actually use a 5v to 3.3v voltage divider
Where R1 is 1.8K and R2 3.6K
But I'm not sure it is what I should use. Some times it receives corrupted transmissions (but I have error detection code) and I'm wondering if it isn't because of those 2 resistors, but I haven't tried anything else...
There are more complicated solutions, which requires more components, I guess it's better than 2 resistors. But also sometimes I see "they" just use a 10K (or so) resistor between the 5V output and the 3.3V input.
Can someone tell me what is the simplest "acceptable" way to just convert a 5V logic to a 3.3v logic. Is the single 10K resistor solution enough?
But is a 5V signal with low current (through the 10K resistor) similar to a 3.3V signal with greater current, or will it hurt the bluetooth module or something?
cjdelphi I tried already and the Vout is around 3.3V (tested without the BT module). I've read Vout depend of the load but is a digital input considered a load ? And anyway a logic HIGH for a 3.3V signal is (from what I've read) everything above 2.4V, so stable voltage or not, isn't really important, correct?
The point of the 10k series resistor is to limit the current in the 3.3V chip's protection diodes to a
level that won't cook them. It does require the receiving chip to actually have protection diodes,
which is normally the case, but not completely universal.
However the 10k solution dramatically slows down the logic edges from say 2--5ns risetime to perhaps 100ns
risetime or slower. Its likely to fail for high speed signalling (over 1MHz say).
The 1.8k/3.6k divider will work a lot faster as its a lower impedance, but you might want to reduce
resistor values to 470 + 1k for even better speed.
For slow serial connections it shouldn't really matter, just make sure you have a common ground and shielded cable
that's not too long for the baudrate involved.
For faster signalling over a long cable you may need to move to transmission line techniques such as 100ohm
differential signalling (as in RS485).