From ESP32 datasheet:

Got from ESP32 datasheet

In my case:
VDD = 3.3V

Vil (max) = 0.25 * 3.3 = 0.825V
Vih (min) = 0.75 * 3.3 = 2.475V


LOW LEVEL range is -0.3V to 0.825V
HIGH LEVEL range is 2.475V to 3.6V

But when I tested practically:

LOW LEVEL range is 0V to 1.67V
HIGH LEVEL range is 1.67V to 3.3V

Question : Why is my practical range far different from the theoretical range and what does theoretical range from 0.825V to 2.475V mean?

  • 1
    \$\begingroup\$ What exactly were you expecting to obtain with inputs between 0.825 to 2.475V? \$\endgroup\$ – Edgar Brown Nov 11 '18 at 15:58
  • \$\begingroup\$ when i increase the voltage from 0V to 3.3V. Doesn't the pin read HIGH when it crosses 2.475V ?? , But i get HIGH once the voltage crosses 1.67V. Why is this happening ? \$\endgroup\$ – user3805290 Nov 11 '18 at 16:26
  • \$\begingroup\$ the datasheet doesn't guarantee the result outside the ranges. \$\endgroup\$ – Juraj Nov 11 '18 at 16:36

The spec says that the input is guaranteed to be read as a Low below 0.25 Vdd, and as a High above 0.75 Vdd.

It does not specify where the actual switching threshold is - from the spec, we only know that the switching threshold is somewhere between 0.25 Vdd and 0.75 Vdd. The actual threshold may vary between parts or between pins on a given part. Possibly, the switching threshold will be higher for a Low to High transition, than for a High to Low transistion.

| improve this answer | |

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.