On Dec 1, 2022, at 8:35 AM, Peter Corlett via cctalk
On Wed, Nov 30, 2022 at 08:10:27PM -0500, Paul Koning via cctalk wrote:
5V tolerant does not mean 5V compatible. I have
right now some 5V devices
I want to control, and it's not exactly clear whether a 3.3V device will
drive outputs high enough to reliably make 5V devices see them as high.
Arduinos can be had in actual 5V models (5V power, standard 5V logic
levels in and out). Not the fast ARM ones but for many purposes good
There's no single "standard 5V logic levels". The usual comparison is
between TTL and CMOS of course, but there are also the subfamilies which are
mostly compatible, right up until they aren't.
Anyway, you can usually drive a TTL(-compatible) input from a 3.3V output
because TTL treats anything above 2V as a logic 1.
In the one application I did earlier where I chose the 5V Arduino is a PS2 keyboard to
LK201 converter, where I'm dealing with keyboards whose internals are unknown and
might not be particularly tolerant of oddball levels. The one I'm looking at now
involves driving either HCT chips or digital radio ASICs (HSP 50214/50215). The latter
clearly say 2V is high enough, and input currents are just a few microamps.
The other difficulty is inputs, if the MCU isn't 5V tolerant. Raspberry Pico
isn't, for example. For input-only, a resistor divider is a sufficient solution. For
bidirectional wires it gets complicated, in that case I'd probably have to use an
honest to goodness translator IC. It looks like I dont have that case at the moment,