I am thinking about adding USB support to a device of mine using V-USB. From what I read there and on other sites USB seems to have only 3.3V as a high level on the data pins, whereas the voltage supplied by USB is 5V.

What is the reason behind that? To me it seems to only make things more complicated since that way I need to work with multiple voltages on the board or completely step down the Vcc to 3.3V.

  • \$\begingroup\$ It sounds like a question, my AC outlet has 120 V, why digital signals on my device are only 3.3 V or even 1.2 V ? \$\endgroup\$ – Ale..chenski Jun 21 '18 at 0:19

The data lines on low speed USB have a differential signal voltage of the following characteristic for the transmitter: -

On low and full speed devices, a differential ‘1’ is transmitted by pulling D+ over 2.8V with a 15K ohm resistor pulled to ground and D- under 0.3V with a 1.5K ohm resistor pulled to 3.6V. A differential ‘0’ on the other hand is a D- greater than 2.8V and a D+ less than 0.3V with the same appropriate pull down/up resistors.

enter image description here

And for the receiver the spec is: -

The receiver defines a differential ‘1’ as D+ 200mV greater than D- and a differential ‘0’ as D+ 200mV less than D-.

Information taken from here and note that where it says 3V6 it actually means 3V3.

For high speed USB systems the voltage levels are smaller: -

enter image description here

As you can probably tell the transmit logic levels have nothing really to do with either 5V or 3V3 logic systems. The power feed is just a regular power feed that makes compatibility with 5V and 3V3 systems fairly easy.

  • \$\begingroup\$ Ok, so just to recap, you say a 1 is D+ over 2.8 and vice versa. So is it ok to pull it up to ~5V? So, are D+ and D- 5V tolerant? \$\endgroup\$ – Dakkaron Sep 15 '15 at 10:09
  • 2
    \$\begingroup\$ You may find that some high-speed (USB2) receivers are not 5V tolerant. here's one that is an it specifically says it is: exar.com/connectivity/uart-and-bridging-solutions/usb-uarts/… \$\endgroup\$ – Andy aka Sep 15 '15 at 10:14
  • \$\begingroup\$ Ok, so I should limit my output on D+ and D- to 3.3V max. Thanks for that information! \$\endgroup\$ – Dakkaron Sep 15 '15 at 10:22
  • \$\begingroup\$ You've quoted the spec, but you didn't answer the question why the authors of the spec did it that way. \$\endgroup\$ – Philipp Sep 15 '15 at 21:36
  • \$\begingroup\$ @philipp feel free to make this your answer. \$\endgroup\$ – Andy aka Sep 16 '15 at 5:59

The higher voltage allows compensation for voltage drop to the device. If USB was 3.3v then if you had a long cable and poor connectors with 0.5v of drop then the device will only run at 2.8v. If the voltage is 5v the you still have 4.5v to work with and that is enough to run an LDO voltage regulator.

  • \$\begingroup\$ That does not explain why the voltage on the data pins is only 3.3V and not also 5V. \$\endgroup\$ – Philipp Sep 15 '15 at 21:35
  • 4
    \$\begingroup\$ @Philipp sure it does. If the processor voltage cannot be guaranteed then the data line voltage also cannot be guaranteed. With this system of voltages even if the 5v line sags the data line voltage can still be guaranteed. This guaranteed voltage is necessary to keep clean transmission for full speed and high speed USB. \$\endgroup\$ – vini_i Sep 16 '15 at 0:55
  • \$\begingroup\$ I think towards the device would also sag the data voltage, but the device would have enough power from the power voltage to generate the data voltage or indicate an error. \$\endgroup\$ – Cees Timmerman Sep 16 '15 at 7:54
  • 2
    \$\begingroup\$ @vini_i I see, that makes sense. Thanks for the information! So basically, USB is a 3.3V interface with 5V power supply just in case? \$\endgroup\$ – Dakkaron Sep 16 '15 at 10:14
  • 1
    \$\begingroup\$ @Dakkaron sure, but there are more reasons. Ability to transfer higher power is also important. \$\endgroup\$ – vini_i Sep 16 '15 at 10:27

The 5V voltage on power pins is just a power feed for a device which needs power. At the time USB was introduced both 5V and 3.3V devices were common and the goal was to support both systems. There are (at least) two advantages of using 5V as power supply voltage instead of 3.3V:

  • For the devices that needs higher power (eg. external HDD) using higher voltage at the same supply current yields more power. Using 3.3V as supply voltage and increasing the current would not be equally good, as it would require thicker wire to transmit.
  • In case of a 3.3V low power device, it is far more simpler, cheaper and more efficient to regulate 3.3V from 5V using a simple LDO than vica versa. The latter would require a switch mode boost converter which is more complex.

The case for data pins is also for supporting both 3.3V and 5V devices as simple as possible. An 5V device's input/output can be designed to interpret and output 3.3V max. as high level. The decades old TTL standard already required only 2.4V as high level, so in theory are 3.3V compatible (as an input).

In contrast, if the data bus would be choosen to operate on 5V levels, it would cause problems for 3.3V devices. Although an input can be easily made to be 5V-tolerant, on an output it is not possible to output 5V using single supply voltage. It requires a level shifter (built-in or external) and both supply voltages. It is by all means more complicated than the previous, especially on bidirectional bus like the USB.


A primary factor when determining voltage levels for a differential bus is power consumption. The higher the voltage/bit rate is, the higher the power consumption is (this should be obvious to the reader). In particular, power consumption is amplified when you have very high speed signals, or multiple load points. If you think of the same issue in the other direction, a higher voltage level will be harder to achieve from the driver perspective thus will limit transmission speed. Current mode driving (which ensures the speed) used in many modern buses, USB included, allows lower voltage swings on the data lines.

On another note, reflections or signaling imperfections will result in over/undershoots. If you already have an intrinsically high voltage on the bus, the superimposed (and higher power) transients may not be tolerable by the device. That power also goes in vain. The extreme case of this phenomenon is when you disconnect the antenna from an RF transmitter. If you have enough power in the transmitter you will jeopardize the radio. You can take other factors, like EMI, into consideration as well. How about the dissapated heat in termination? For a given Z0 more volatge, more heat.

That is why the Low/Full speed USB uses 3.3V, USB 2.0 and later uses the even lower 800/400mv. We usually want to apply the lowest voltage that makes sense for the specific interface. Be reminded that many high speed interfaces (such as ethernet, can, hdmi, pci, lvds, and many more) all use low voltage signals in the same tier.

  • \$\begingroup\$ Welcome to EE stack exchange, good answer. Please try to keep personal comments out of the answers, be nice. \$\endgroup\$ – RoyC Oct 13 '18 at 11:46

The other reason can be confidence of connection's correctly working. Bigger range is more powerful against noise(Because needs noise with higher voltage to change bit's state).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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