4
\$\begingroup\$

Hobbyist dev boards are typically powered by USB and the GND and VBUS pins of the USB connector are usually broken out as pins on the board (so, that one can power additional devices connected to these pins).

I've always expected to see a diode on the board between the USB connector and the pin that the board exposes to users.

E.g. this little ESP32-C3 dev board from Adafruit has the VBUS and GND pins of the USB connector broken out as the top two pins labeled 5V and GND and on the back of the board there's a diode (the one below the BAT pad) protecting the USB VBUS pin in case the user powers the board by connecting an external power source to the 5V and GND pins.

Adafruit QT Py ESP32-C3

I always thought this was completely necessary and I remember there being general consternation a few years back when no-name STM32 dev boards (sometimes called blue pills) appeared on AliExpress without such a diode to protect the source of USB power (generally your laptop or PC) when another power source was connected.

However, I recently bought a selection of ESP32-C3 dev boards for evaluation from a number of well-known manufacturers and was surprised to find that some of them were missing such a diode.

So, I was wondering - is the whole "diode needed to protect USB power source" story overblown? Maybe USB-C power sources (whether laptop, PC or wall adapter) are generally well capable of handling seeing voltage from some other source and the manufacturers of these dev boards have decided such diodes are an overly cautious holdover from some earlier time?

Here are the boards I've looked at:

These seem to split themselves into three categories:

  • The Adafruit and WeAct boards clearly have a diode protecting the VBUS pin of the USB-C connector.
  • The SparkFun, Waveshare and DFRobot boards where there's no sign of a diode.
  • The Seeed and M5Stamp boards where there are diodes for some functions involving the USB-C VBUS pin but (bizarrely) it looks as if there's no diode between USB VBUS and the 5V pin exposed by the dev board.

All of these makers have a lot of experience in the hobbyist market. To be honest, I don't know anything about DFRobot but the others are well-known names with good reputations, i.e. they're not some here-today-gone-tomorrow AliExpress vendors.

So, I'm really confused, particularly by people like SparkFun and Waveshare, at the lack of diodes protecting the USB power source.

Confused to the point of asking if including such a diode is now no longer considered necessary e.g. because USB-C power sources are supposed to be smart enough these days to handle the problem that such diodes were addressing?

For a quick example of the relevant section from one of the schematics above (the Adafruit QT Py ESP32-C3):

QT Py schematic

Here VBUS is connected to the on-board regulator and between it and the +5V pin exposed by the dev board is the diode D1.

\$\endgroup\$

1 Answer 1

7
\$\begingroup\$

Is the diode needed? No. If you give such boards to hands of random hobbyists, should it be there to prevent damage to PCs when accidentally doing something wrong? Definitely.

But devices are meant to work according to specs, and the specs do not tell how much you are allowed to violate them, and what is allowed to happen when going outside of specs - that's undefined.

The point is, according to the schematics you posted, the MCU boards are USB devices that request power from host. If these MCU boards request power from host, then they should not forcibly power the host without negotiation. And also, Type-C receptacles must not have the VBUS energized unless connection to other device is detected and the device roles are figured out, to know who needs power and who can give power.

So no, the USB-C devices are smart, but cannot do anything if you forcibly do not adhere to the protocol required. It simply depends on any possible extra protection and sensing which does not need to be implemented.

If you want a simple explanation for the diode, it prevents hobbyists from accidentally blowing up their expensive laptops, and the MCU board sellers have happier customers instead of angry customers asking money to cover the damages. This way they can not be held liable for selling stuff that will damage laptops if used incorrectly.

So if you have VBUS node, do not accidentally apply 5V externally to it. You can draw current from it within reason. The diode allows users to apply external power to a 5V node that is separated from VBUS with a diode.

\$\endgroup\$
6
  • \$\begingroup\$ Thanks for the reply, Justme. "If you want a simple explanation for the diode, it prevents hobbyists from accidentally blowing up their expensive laptops" - yes. I understood this was the intended purpose of the diode and hence I'm so surprised at well-known hobbyist manufacturers omitting it. So, I was really asking if my understanding was faulty (or somehow out-of-date for newer USB-C systems). You seem to say, that such diodes are just as important as they ever were so, I'm completely baffled that people like SparkFun would omit them. \$\endgroup\$ Apr 19 at 20:29
  • \$\begingroup\$ @GeorgeHawkins On the other hand, if you are a hobbyist, it is also a part of learning. Compare making a mistake and blowing up your own laptop, or being at work, blowing up your company laptop, expensive test equipment, or a one-off prototype causing a delay to everything until a new one is made. But all it takes one sentence in the board manual to warn about possible damage if used incorrectly by mistake, and referring to correct use. There are much worse boards I would never recommend anyone to plug anywhere, and so the SparkFun board gets my seal of approval in that regard. \$\endgroup\$
    – Justme
    Apr 19 at 21:08
  • \$\begingroup\$ For a hobbyist, learning electronics, damaging their laptop is about the worst outcome for any project. So, why do you feel the SparkFun board should get your "seal of approval"? Do you feel that learning the hard way (damage to expensive equipment) is a valuable lesson and that SparkFun, by leaving out a minimal cost component like this diode, is teaching beginners that if the instructions don't specifically mention external power (they don't) then one should not assume anything without checking the schematic? \$\endgroup\$ Apr 20 at 13:11
  • \$\begingroup\$ Sorry, I think the above comment comes across a bit "what the heck?!?"-ish, but I'm honestly interested in understanding what you're trying to say. \$\endgroup\$ Apr 20 at 13:11
  • \$\begingroup\$ @GeorgeHawkins The line must be set somewhere. And it's not about one diode but much more. You can still fry your PC even if there is a diode, by simply connecting your external supply to VBUS instead of 5V, it can happen by accident even if you have read the manual and know where to connect, but in a tight spot and low light, or on a breadboard looking from an angle, you might still make a mistake. The WeAct board has VBUS and 5V right next to each other. There are other mistakes you can accidentally do that fries your laptop, even if the diode is there and you have no access to VBUS. \$\endgroup\$
    – Justme
    Apr 20 at 13:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.