Bjt bi directional logic shifter only up shifts

I have built myself one of the following circuits


For some reason when connect the 3V logic side to the rx pin of the due and the 5V logic to the tx of the uno it works. I can connect each board to their respective terminal then send messages to the uno.

However when I swap it the other way round i.e. the 3V logic side to tx of the due and the 5v side to rx of the uno, it refuses to work.

For transistors am using 2n2222 for both and I tried 9600 baud and 4800 baud. I get the same issue.

Why?
 
Last edited:
All you need for 5V to 3.3V is two resistors to form an attenuator.

Also, why are you trying to make it bi-directional, as most connections (serial etc.) will be uni-directional - I'm finding it confusing to try and figure out what will happen with the two transistors in reverse parallel?.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…