Electronic – arduino – 3.3v from 5v Arduino digital pin


I have an ESP8266 that I've got connected to my arduino and communicating quite well with… Now I'm looking at options to run my conifig via battery, so need to find ways to shutdown the ESP8266.

Easiest way I have read is via the broken out CH_PD pin that is normally tied to 3.3v. However, further reading suggests that the TX/RX pins are 5v tolerant, the CH_PD is NOT.
So what would be the best way to power the CH_PD from a digital pin.

Options are Connect the Arduino digital pin to:

  • Voltage divider using resistors
  • Transistor switch?
  • small 100mA 3.3v regulator

I have no idea how much the CH_PD pin draws in mA… I assume very little.
I've used voltage dividers for signal, but not for constant ON applications like this would be.


Thank you!

Best Answer

The cheapest way is to use a voltage divider consisting of two resistors. The most robust way is to use a level converter IC (SN74LVC1T45 or similar). These have a VCCA and VCCB: Set VCCA to 3.3V, and VCCB to 5.0V, and the IC will translate signals between the two VCC domains.