Us microcontroller/Arduino/Single-board-computer hobbyist types would have benefited from adding a sentence about dual supply level translating transceivers at the end (but I know the video was already long), for example noting that the 74LVC8T245 variant performs the same way as a bus transceiver, but with separate supplies for each side, so that one can do voltage level conversion at the same time.
(The NXP 74LVC8T245PW,118 variant Mouser has 100k+ of in stock for pretty cheap, 0.93€ in singles, 8€ for ten, can do 1.2V, 1.5V, 1.8V, 2.5V, 3.3V, or 5V on either side in any combination, and is thus extremely useful with 3.3V and 5V microcontrollers and peripherals, and SBCs with 1.2V or 1.8V logic levels.)
The 74LVC1T45 is the equivalent for a single data line, but in SOT23-6 (3mm×3mm×1.5mm, 0.95mm pitch) is small enough but not too small for a hobbyist to solder dead-bug style in line with the wires and cover with heatshrink, too.
_ _ _ _ _
I see so many posts and reports of hobbyists like me burning their microcontrollers or SBCs or at least a few I/O pins on them, by not thinking about this stuff at all. I wish someone with a wide enough viewership would point this out, because the solutions are so easy and easily available. Starting from the current-limiting resistor (which relies on the ESD or other diodes to voltage rails), to transistor open collector outputs with pull-up resistors, to level translating transceivers, to digital isolators.
The trap for young players is the bidirectional (auto-direction sensing) transceivers, which tend to have a low-level glitch when changing direction or a difference in the low-level voltage depending on the direction, causing issues with devices with particularly low low-level threshold (sensing that glitch as a short high state).
For example, compare TI
TXS0101 (bidir),
TXB0101 (bidir), and
TXU0101 (unidirectional) data input low voltage ranges. TXU0101 has Schmitt trigger inputs with wide hysteresis, so basically never glitches; this is why I prefer the fixed-direction TXU0n0m models (also cheap and high bandwidth). TXB0101 has V
IL = 0 .. 0.35×Vcc which is quite normal, but TXS0101 V
IL = 0 .. 0.15V ! In particular, chaining two TXS0101 is often problematic, because its output low can be up to 0.4V.
Observing these (using e.g. a simple Arduino sketch which toggles a pair of pins, with one of the two always an input (without pullup or pulldown enabled, Z), and the other High or Low –– cycling between ZL, ZH, ZL, LZ, HZ, LZ –– , passing through a bidirectional translator, both pins connected to a two-channel oscilloscope) would show the issues very nicely. Unidirectional with Schmitt triggers is usually a superior solution, unless the direction does actually vary.
The best example would be a standard USB-to-serial (TTL) converter cable/dongle, but with an extra
TI TXU0204-Q1 or
TI ISO6742 at the end, plus two 0.1µF supply bypass capacitors, one for each supply side; and maybe current-limiting resistors on the TX and RTS outputs. It would expose VCC, GND, RX, TX, RTS, and CTS on female pins or pin hooks. RTS and CTS are obviously optional, and not often used. VCC would go to whatever logic level the device uses for these signals, and GND to device ground. TXU0204-Q1 has Schmitt triggers and supports any VCC between 1.1V and 5.5V; ISO6742 is an isolator that supports VCC = 1.71V–1.89V or 2.25V–5.5V (i.e., 1.71V–5.5V except 1.90V–2.24V).
The TXU0204-Q1 costs less than 1€ in singles at Mouser, and ISO6742 less than 2€, so we're talking about minimal extra cost. But how many devices would have been saved from excess voltages and currents, if such a cable were used? Why don't SparkFun, Adafruit, et al. offer those? Us sausage-fingered hobbyists would greatly benefit from these!
Or is it that having parts of ones own circuits at different logic level voltages is just too complex to think about?
It would be useless for me to make such a video. Even my posts here and e.g. at
PJRC/Teensy forums don't get traction. I myself have learned this the hard magic-smoke-escaping way; I just wish others could learn about it earlier and easier.