@Robert93820 I get where you’re coming from, but I think the short of it is, it’s easiest/best to just use the official supply with a device whenever possible. If you want/need to use another power source, assume the official supply specifications are the same as the device requirements (5.1V ± 5% ie. 4.85V - 5.36V for a Pi).
That said, (more for others reading) you do need to watch out for Fast charging protocols. Even though your Samsung Adaptive fast charger says 9.0V @ 2.3A you can’t just stick 9V into your phone - it’ll blow it up! It’s expecting 5V first before the phone and charger ‘negotiate’ jumping up to the higher voltage. There are many different proprietary fast-charging protocols - check out this video - but USB ports/supplies implementing these will still be backward compatible with older USB devices, so they shouldn’t damage a normal USB device if plugged in.
If a device doesn’t have an official supply, but it’s got a USB port, the power supply requirements are defined in the relevant USB spec(s).
If it’s powered another way, the requirements should be specified explicitly (eg. the Uno R3 is specified to accept 7V-15V via V_in).
The problem with USB is for a “Universal” serial bus, it’s far from Universal these days. There are so many different specifications, revisions and ECNs it’s hard to keep track. USB 2.0, USB 3.0, USB 3.1 (each different pre and post 2014), USB 3.2, USB Type-C, USB Power Delivery 2.0 and 3.1, and USB Battery Charging 1.0, 1.1, and 1.2, as well as the deprecated USB 1.0 and 1.1 all have similar, but slightly different, voltage requirements. The exception is USB 4 (essentially Thunderbolt 3), which doesn’t specify voltages - it leaves that up to one of the other specs, depending on the implementation (I’m not sure if this is more or less confusing).
Of course, this all means that while most USB power sources and power sinks will work fine, there are edge cases (like the Pi’s) where it’s really important not just which USB spec it’s compliant with, but also when it was compliant with that spec.
It also depends on what you call/where you measure the input voltage! Here’s the worst-case topology for a low-power USB 2.0 device (100ma) from the spec:
(High power devices need 4.75V at the device to operate, but must still be able to enumerate from a 4.4V upstream port)
And here’s the one for USB 3.0 and USB 3.1 which applies for both low and high power devices. :
(Note that under transient conditions, the supply at the device can drop to 3.67 V for a brief moment.)
They swapped it for an equivalent resistance diagram in USB 3.2:
Matching up the correct USB supply and USB device is a hell of a task (and the historical specs are a pain to track down as the USB IF doesn’t publish them on their site), so honestly, leaving that job up to the engineers that designed the parts to work together (by just buying an official Pi supply to use with a Pi) is a very wise move and for the $15 can save a lot of headaches - particularly since some early versions (Rev 1.1) of the Pi 4 weren’t USB compliant! This issue was fixed in hardware Rev 1.2 (released back in Feb 2020).
@James46717 It’s also worth noting your meter is most likely showing RMS voltage (averaged over a period of several seconds), whereas the chip on the Pi 3 will respond to a voltage dip within 20 µs. Because the processor on the Pi is running at 1.4 GHz, the power spikes/voltage dips can be far faster than what a DMM can measure. For monitoring supply voltage on an embedded device like a microcontroller or SoC (even one operating in the high MHz range) you really need a high-speed scope or a specialist measurement device like the Qoitech Otii Arc to catch the transient behaviour (it always seems to be the transients that ruin an otherwise good design).
FYI, the USB spec does allow for transient voltage dips, so devices can experience voltages below what’s specified above. At 4.79V DC I’d be quite surprised if it wasn’t dipping below the threshold momentarily - especially when the official Pi Supply bottoms out at 4.845V, in the absolute worst case.
@Graham I got a bit carried away last night. I actually ended up updating some of the Wikipedia pages on USB since they were inaccurate!