3.3V to 5V async serial comms with the fewest number of components

by user   Last Updated December 06, 2018 15:25 PM

I have a 3.3V microcontroller that communicates with a 5V microcontroller over async serial (2 wire UART) via a cable up to 3M in length. The cable is a standard USB 2.0 cable using D- and D+ for RX and TX.

I want to do this at 1M baud and the fewest number of components possible. Cost is also a factor. The level translation scheme needs to be capable of driving the serial link, i.e. supports termination. The 5V microcontroller, an ATtiny, cannot detect 3.3V as a logic high, it's threshold voltage is 0.7xVCC or 3.5V.

How can I do this with as few components and as little board space as possible?

Note this is not a duplicate of this question, it's asking what the best approach is rather than for a component recommendation.

Related Questions

Single transistor level up shifter

Updated July 07, 2017 16:25 PM

Overcoming the logic level translator limitations

Updated August 11, 2015 17:11 PM

Is noise a problem when using a logic level shifter?

Updated August 13, 2015 18:11 PM