Connecting modules with Esp32E module 3.3V or 5v

I am trying to connect some modules like dht11 , ic 74hc595, 74hc165, current sensor etc. I have most circuit diagram where they connected the module with Vin pin i.e 5v for the nodemcu . But as far as i know that I/O pins are not 5v tolerant . Then why it doesn't cause any issue.

I am using wroom 32E chip module which i am externally programming and powering it with 3.3v .
Now the issue is that if i power the sensors , ic with 5v rail, connecting the ground common And clock/data pins are connected respectively with the esp32 chip module then will it work or die? As far as i remember , it was written that esp32 i/o pin voltage is 2.2 to 3.6V.

Do i need to do level shifting or it would work just fine.

You need level shifters for modules that run at 5V. Check your modules - some of them may run at 3.3V (the DH11 for example is a 3-5V device). If the module can run at 3.3V connect them to 3.3V power and you don't need level shifters.

Difficult to say because we cannot see what you are doing.

Outputs from the controller are 0V to 3V3 and this might be within the limits of peripheral input pins.

If a 5v device output is going to a controller input, you may get away with the controller working for a bit, don’t bet on things working for too long.

You know abut level shifting so shouldn’t the question be, why are you not using it :thinking: .


On both the screenshot you could see that the ic is powered with Vin which is 5v on nodemcu. And the serial out pin is connected to the i/o pins. Which works fine. If its the case then does nodemcu have level logic shifter circuit built in or how it handles then ?

The problem with me is that i am not using nodemcu i am using the wroom 32E module.

So i am unable to understand how its working in that case .. similarly on all of the videos they connected dht 11 connected it to vin which is 5v then how its working fine in that case. I couldn't understand whats happening. Btw its my first time working with esp32 modules so i don't have any idea with it.

The controller outputs go to inputs on the 595 chip; no problem here.


I only use DHT22, my understanding is DHT11 can run on 3V3 (use a pullup on output).


Some adventuresome people use 5v outputs connected to 3V3 controller inputs but all bets are off if things will continue to work.

For the 165:

A 5v output through a 1k resistor to schottky diode anode to a 3V3 input with cathode connected to 3V3 can work.


However, 74HC595 AND 74HC165 can run at 3V3.

Lucky you putting 5V onto a ESP32 GPIO pins.

Why it could work is that ESPRESSIFF used the ESP8266's I/O circuit with ESP32's. For the ESP8266 ESPRESSIFF 'says' that the GPIO is 5V tolerant. Years ago ESPRESSIFF did say that the ESP32's GPIO is 5V tolerant because they used the same I/O electronics for the ESP8266. Over time ESPRESSIFF made some changes to the ESP32's I/O that ESPRESSIFF could no longer guarantee that the ESP32's GPIO is 5V tolerant.

So why you may be getting away with it is that you've not ran across the ESP32's non-5V tolerant I/O electronics, yet.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.