Lot of threads have questions for interfacing Micro-controllers which use 3.3V and 5V. Especially when connecting 3.3V mobile-phones to 5V circuits there will be a problem of recognizing each others I/O voltage levels.
Information on I/O logic voltage levels can be found here;
https://www.interfacebus.com/voltage_threshold.html
It can be seen there Output-high in 3.6V system can not be identified as 1 for CMOS logic level since it is above 2.5V. Also when a CMOS outs 1, that is higher than 3.6V, may damage the 3.3V circuit.
There are several ICs commercially available for this I/O logic level shifting;
But for the purpose, we can easily use TTL logic ICs which has Open-collector type outputs.
Following is such a simple circuit used to connect 3.6V phone to a 5V PIC micro-controller, for serial communication. It has only used 74LS05 and draw 4mA.
Information on I/O logic voltage levels can be found here;
https://www.interfacebus.com/voltage_threshold.html
It can be seen there Output-high in 3.6V system can not be identified as 1 for CMOS logic level since it is above 2.5V. Also when a CMOS outs 1, that is higher than 3.6V, may damage the 3.3V circuit.
There are several ICs commercially available for this I/O logic level shifting;
But for the purpose, we can easily use TTL logic ICs which has Open-collector type outputs.
Following is such a simple circuit used to connect 3.6V phone to a 5V PIC micro-controller, for serial communication. It has only used 74LS05 and draw 4mA.