Uncategorized

Is it valid to connect a 5V 74LS241 output to a 3.3V Raspberry Pi input?

Is it valid to connect a 5V 74LS241 output to a 3.3V Raspberry Pi input?

Ask QuestionAsked todayActive todayViewed 64 times31

I need to communicate with some Dynamixel servos from a Raspberry Pi. There’s a commonly published circuit to achieve this using a 74LS241 buffer to manage the half duplex connection. (This page lists several versions, all essentially the same: https://pypi.org/project/pyax12/).

However, it connects a 5V part directly to the Pi inputs, which as I understand it aren’t 5V tolerant. Is this circuit valid? It seems to be widespread, so why isn’t it breaking things?microcontrollerdigital-logicShareCiteEditFollowFlagasked 19 hours agoAncient James3333 bronze badges New contributor

  • 1Per the schematic, 3 of the 4 pins on the 74LS241 are inputs, these should work with 3.3v logic coming from the Rasp-Pi. However, pin 18 is an output, that is questionable. One solution may be to use a 74241 type that is 3.3v compatible, (one type is a 74LVT241). – Nedd 18 hours ago
  • (1) It is risky to even input 5V0 logic signal to 3V3 Rpi GPIO, which might latch up, get fried sooner or later (30 minutes to as long as days), or shortens it life (GPIO and the whole Rpi). (2) For output signals, you can use any of the many 3V3 to 5V0 logical level up shifters. (3) One nice thing is to do two things at the same time: (a) shifting up logical level, (b) converting duplex to simplex. I will try to give a working example using TSX0104, driving UART servo LX224 in my answer below. – tlfong01 17 hours ago   

Add a comment

2 Answers

ActiveOldestVotes4

This circuit was most likely designed by a non-EE. LS TTL parts have weak high-side drivers so it may marginally work, but NOT recommended. A 74AC241 has strong high-side drivers and would probably damage the RPi.

There are many level-shifters available, you should use one of them.

enter image description here

If you have already built this circuit and the signals are not too fast, you could fix it with a diode and resistor.

schematic

simulate this circuit – Schematic created using CircuitLabShareCiteEditFollowFlaganswered 17 hours agoMattman9448,45311 gold badge1111 silver badges3131 bronze badges

Add a comment0-1

Question

How to convert Rpi 3V3 logical input/output signals to 5V0, to drive UART bus servos such as those by Dynamixel and LewanSoul?


Answer

One working solution is to use TSX0104 to do level shift up and also convert duplex to simplex signals at the same time.


lx224 servo

References

(1) How to interface UART servo? (LX-224HV) Q&A – EESE, Asked 2020aug28, Viewed 448 times

(2) How to interface UART servo? (LX-224HV) Chat Transcript- EESE, Asked 2020aug28, Viewed 448 times

(3) TSX Voltage Level Translation Products – TI

(4) TI Voltage Translation Buying Guide – TI


Appendices

Appendix A – 3V3 Rpi using TSX0104 to drive a 5V0 UART bus servo


tsx0104 servo usrt

ShareCiteEditDeleteFlagedited 16 hours agoanswered 17 hours agotlfong012,02011 gold badge77 silver badges1414 bronze badgesAdd a comment

Categories: Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.