Skip to main content
deleted 2 characters in body
Source Link
Wouter van Ooijen
  • 48.8k
  • 1
  • 65
  • 140

The most simple solution is to run all your circuits at 3.3V. HC chips will happily run at that level.

When that is not possible, you can make things much more simple when you restrict yourself to one direction. A HCT chip at 5V will accept 3.3V levels just fine, and a simple two-transistorresistor divider can reduce 5V to 3.3V. Some uC are 5V tolerant on their pins, so you don't need the divider. And if you put 5V pullups on the pins, and switch between ground and open (=input), you have a passable 0-5V output.

For coupling open-collector busses (I2C, dallas 1-wire) the BS138 trick is a way to go. There are small chips for I2C that put the two FETs in one housing. (PCA9306 etc.)

But if you really want bi-drection level translation: such chips do exist, check for instance TXB0108.

The most simple solution is to run all your circuits at 3.3V. HC chips will happily run at that level.

When that is not possible, you can make things much more simple when you restrict yourself to one direction. A HCT chip at 5V will accept 3.3V levels just fine, and a simple two-transistor divider can reduce 5V to 3.3V. Some uC are 5V tolerant on their pins, so you don't need the divider. And if you put 5V pullups on the pins, and switch between ground and open (=input), you have a passable 0-5V output.

For coupling open-collector busses (I2C, dallas 1-wire) the BS138 trick is a way to go. There are small chips for I2C that put the two FETs in one housing. (PCA9306 etc.)

But if you really want bi-drection level translation: such chips do exist, check for instance TXB0108.

The most simple solution is to run all your circuits at 3.3V. HC chips will happily run at that level.

When that is not possible, you can make things much more simple when you restrict yourself to one direction. A HCT chip at 5V will accept 3.3V levels just fine, and a simple two-resistor divider can reduce 5V to 3.3V. Some uC are 5V tolerant on their pins, so you don't need the divider. And if you put 5V pullups on the pins, and switch between ground and open (=input), you have a passable 0-5V output.

For coupling open-collector busses (I2C, dallas 1-wire) the BS138 trick is a way to go. There are small chips for I2C that put the two FETs in one housing. (PCA9306 etc.)

But if you really want bi-drection level translation: such chips do exist, check for instance TXB0108.

Source Link
Wouter van Ooijen
  • 48.8k
  • 1
  • 65
  • 140

The most simple solution is to run all your circuits at 3.3V. HC chips will happily run at that level.

When that is not possible, you can make things much more simple when you restrict yourself to one direction. A HCT chip at 5V will accept 3.3V levels just fine, and a simple two-transistor divider can reduce 5V to 3.3V. Some uC are 5V tolerant on their pins, so you don't need the divider. And if you put 5V pullups on the pins, and switch between ground and open (=input), you have a passable 0-5V output.

For coupling open-collector busses (I2C, dallas 1-wire) the BS138 trick is a way to go. There are small chips for I2C that put the two FETs in one housing. (PCA9306 etc.)

But if you really want bi-drection level translation: such chips do exist, check for instance TXB0108.