To be clear -- for my part anyway, I've implied that hobbyists are frequently in the "inexperienced" camp, and that they might benefit some if they knew. That basically sums it up as an answer.
That is what I thought, too, but seeing the many answers that imply that any use of digital isolators is a sign of a bad design has made me question myself.
That claim is mind-blowing.
In what sense?
#4:
Because they are pushing RF currents around and can cause other problems. [...] All in all galvanic isolation causes more problems than it solves.#12:
Because [using digital isolators breaks] rule #1 of..., well, everything. KISS.#16:
No need and don't design by sprinkling in parts.#24:
[implies that only idiots use USB isolation using a "funny" meme]#29:
[USB isolation is not a solution, only a bandaid]#30:
It perhaps is a sign, that you could improve your electronics design techniques, a little bit. By sorting out any issues, that not using an isolator, seems to be causing your circuits. By tweaking the design, as necessary.Have I misunderstood the abovementioned posts, making my understanding of them (or claim what they imply) so ridiculously wrong it is mind-blowing?
Warning about these type of capacitor based isolators, even though they say they can withstand 3kv isolation, their operating conditions are way down below 450vac.
If all you require is <1mb, but you want the robust isolation operating at >3kv, you will need to use 2 optocouplers, 1 for each direction.
For me, 340 V (240×√2) is more than enough. It is the difference in ground potentials (0V reference) in many Linux-based appliances' power supplies the serial RX/TX isolation helps with. Plus it also acts as a voltage level translator at the same time, all of my SBCs having a suitable logic-level voltage pin and a ground pin next to RX and TX pins. It is very easy to essentially brick your SBC/router/appliance by damaging either pin due to e.g. overvoltage, as they are typically directly connected to the low-voltage domain of the SoC, with zero protection.
While the default/initial baud rates used in terminal consoles vary, many can do up to 2Mbaud. USB 1.1 Full Speed microcontrollers can do about 1 Mbyte/s payload over USB Serial, and many of my own SBCs can do 2 MBaud very reliably. Teensy 4.0 can sustain 200+ Mbit/s payload data (25+ Mbytes/sec) in one direction indefinitely, over high-speed USB 2.0. Using a TI ISOUSB211 (or ADuM3165/66/4165/66) isolator has zero effect on that.
Optoisolation is related, but a bit different use cases in my opinion. I do like Toslink (digital data, typically S/PDIF audio, over plastic optical cables of up to 10m length), and it is my preferred audio transfer method. (Good luck trying to sync ethernet-based audio to your host computer. S/PDIF is synchronous, with the master DAC clock being a multiple (64×, some multiple of 64 of the S/PDIF bit clock.). I've even experimented with using level-inverted high-baudrate UART over a pair of Toslink cables, about a decade ago or so. My favourite microcontroller, Teensy 4.x, has both I²S and S/PDIF support, too.
I'm thinking of making a new slim-line one with WCH CH552G, as JLCPCB has both TI ISO6721 and CH552G in stock for assembly ($1.19 and $0.58, respectively; with AP2112K-3.3 for the 3.3V regulator at $0.08, plus some supply bypass capacitors, maybe a button and a resistor for boot mode/flashing). I'll solder a cable directly to through holes, scavenging a cheap but known-okay USB A-B cable I no longer need. It will be dirt cheap, and be much better than any ready-made USB-to-UART cable you can buy.
Then do it.
Though the only time I need an isolator is when I work with project with power+data 2 wire protocols.
Like 4-20mA, DCC, Wiegand interface. None of these have shared ground, so that's the reason to use it . It's very rare to actually need an isolator. Aren't you a bit paranoid? What's your actual use case?
I do
shenanigans with Linux-based appliances, from TV boxes to routers to my own single-board computers. In that domain, I'm only limited by my imagination and time; I'm
not a hobbyist when it comes to Linux integration and software.
Routers' and TV boxes supplies are class I isolated wall warts, and because of the class Y capacitor between the output 0V and the mains, and the mains not being polarized here, the output 0V can differ between devices, especially if powered from different mains circuits. Here in
230V 50Hz C, F land, we do not have "live" and "neutral"; we only have two AC lines, and optionally a protective ground. Most appliances being double-insulated class I only use the two AC live pins (using
CEE 7/16 Europlugs), and are not connected to the protective ground at all; they are referenced to some potential derived from the AC.
If I connect the ground of my computer to the ground of one of those appliances, I often get ground currents. It is my understanding that this is the leakage current through the class Y capacitor, occurring because the outputs' 0V or ground references are not exactly at the same potential. Do correct me if I'm wrong here. While the potential difference could initially be a couple of hundred volts, the leakage current will rise until it balances out the potential difference, so it all depends on the power supplies used.
I can work around that either by using a laptop not connected to mains at all, in which case the entire system will have its 0V or ground reference derived from the appliances' power supply; or I can use an isolation barrier to leave those ground potentials be whatever they normally are, and only pass the information across. Most common form of that information is bog-standard UART, although sometimes I do sample interesting digital data streams, just to figure out how the appliance does what it does, or what a specific chip on it might be all about.
In many cases these pins, including UART TX and RX pins, are directly connected to the SoC on the appliance with zero protection, and may have very low current capability, too. For example, my Odroid HC-1 has 1.8V UART pins directly connected to the Samsung Exynos5422 SoC, which I believe can only source a maximum of 1.5mA on those pins.
I do not want to simply short the two grounds together, because of the ground current. It is enough to upset things, and could break things; it has for others. Me, I've avoided breaking things, by being an idiot and using an isolator here.
(The Odroid HC-1 is a bit special in that I can use my own supply (it wants regulated 5V at up to 6A if I use a spinny-rust SATA 3.5" drive with it), and I can choose to use e.g. Mean Well GSM60E05-P1 class-II low-leakage supply, the 0V output of which I know I can safely short to the ground of my host computer. I do not yet have the skills with switchmode supplies and AC-DC supplies to tell if the same is true when I see the circuits. In particular, I know they're not overprovisioned, so I worry that the leakage current will thermally or electrically stress the supply circuitry over its intended operational range.)
I do believe my own isolation needs boil down to two basic issues. The first is working with devices that have their own AC/DC supplies I know very little about, and wanting to interface them to my own microcontroller projects, which in turn are connected via USB to my host computer. While I do use a variety of microcontrollers, most of my ad hoc tools are based on Teensy 4, which as I've already mentioned can sustain over 200 Mbit/s to my host computer over USB, using plain USB Serial, and no extra code in the Arduino sketch. (I do need to ensure I write in chunks of a few bytes, as writing individual bytes to the USB buffer limits the bandwidth to under 40 Mbit/s.)
The second is working with devices using steppers or many servos. Their current draw is horribly noisy, and filtering it out from the logic supply and ground is not easy. Just plunking down a few millifarads of bulk capacitance means either the logic supply rail will fall very slowly, or it will have a shunt resistor wasting power. I see isolating the control signals –– enable, step, direction for steppers, PWM or I²C bus with a PWM controller for servos –– a simple solution to protecting the logic from the motor noise and related issues. It is also the only way (aside from an USB isolator, doing the same isolation at a different point) I know that allows one to connect the logic side to a host computer via say USB, while the motors are powered by a separate class I AC-DC supply, without risking leakage current between the host computer and the device due to disagreements on what 0V potential really is. For the logic side, one can use a class II 5V supply, say a Mean Well IRM-05-5, with a pair of Schottky diodes (the other from USB 5V) to some filters and a low-noise 3.3V linear regulator, which not only simplifies things, but also allows the logic side could be powered either from the host USB (say, for programming), or from its own AC supply, regardless of whether the motor supply is enabled or not.
For me, this scenario opens up very interesting possibilities, for example speeding up prototyping by keeping most of the control logic on the host computer, and have the device microcontroller only handle timing sensitive stuff. Exactly the kind of stuff an interested hobbyist might be doing.
I am not an expert on any kind of isolators, and I know it. I also know that I've successfully used digital isolators according to the datasheets to successfully avoid the problems others complain about. That is the reason why I wonder why other hobbyists are not using them to solve the same problems.
Even here at EEVblog, ground loops –– or, to be more precise, leakage currents through the class Y EMI suppression capacitors in class I AC-DC power supplies when devices don't precisely agree to what the 0V "ground" potential is –– have bitten people,
HobGoblyn for example. If their USB sound card had Toslink output, and their Eris speakers a Toslink input, the problem would not exist, because the plastic optical S/PDIF cable acts as an isolator. Granted, their speakers seem to have an actual fault causing leakage current via the audio inputs, but still: these problems are not as rare for us hobbyists as you professionals believe.