1
\$\begingroup\$

I have ESP-05 connected to Arduino Pro Mini. Both are 3v3 devices. I need Arduino to power on/off ESP-05 device using GPIO when needed. Please suggest.

Arduino to ESP-05

I tried to use N Mosfet but that did not work possibly because example is with different power supplies.

Mosfet example

\$\endgroup\$
  • 2
    \$\begingroup\$ Take a look at sleep modes, both can sleep and wake up, no need for extra external components. Google it. \$\endgroup\$ – Codebeat Jan 17 '20 at 7:00
  • \$\begingroup\$ github.com/SeeedDocument/Grove-MOSFET/raw/master/res/… \$\endgroup\$ – Juraj Jan 17 '20 at 10:22
  • \$\begingroup\$ As per Codebeat advise one option could be to send ESP-05 by AT-SLEEP command to sleep. I think I could wake it by Reset pin because ESP does not have any exposed GPIO \$\endgroup\$ – Mika Jan 17 '20 at 10:34
1
\$\begingroup\$

You're on the right track, but what N-FET did you use?

First: how much power?

The article here suggests you might need to switch 500 mA. ESP8266EX has a typical transmit current of about 170 mA and no listed maximum.

You don't say how much time you'll have the ESP-05 enabled nor how much power you can allow during its off-time.

Second: What threshold voltage?

Fundamentally an nFET is a voltage controlled switch. The level at which it switches is the VGS(thresh) and you need one which will switch at 3.3V, often called a "3.3V logic-level MOSFET" (watch out for those which are good for 5V logic). Many FETs, especially those for larger currents and voltages, have a much higher switching threshold.

Two questions about this specifically:

Sparkfun shows modules for which might immediately do what you need, if you don't mind using a ready-made module. Seach for MOSFET on that site.

  • One product there uses FDS6630A which has VGS(thresh) of min=1.0V, typ=1.7V, max=3.0V.

Once you've chosen a MOSFET, you look for examples for the details of its required current limit and bias resistors. (You won't need the diode of your example circuit, that's for the back-EMF of the inductive load.) The FDS6630A example above uses

enter image description here
Source: Sparkfun documentation

Other possibilities

SLEEP The ESP8266EX has various sleep modes its various sleep modes is 15 mA down to 0.5 μA according to its datasheet. You can enable these with AT commands, and perhaps that will work for your application.

RESET Some ESP-05 models have a 5-pin connector with RESET signal. If you assert this, I'll guess the power consumption will be very low (but couldn't find a value in the documentation) and perhaps that would work for you.


\$\endgroup\$
  • 1
    \$\begingroup\$ Possible issue with powering off an IC by just turning off the VDD line: If any voltage source is connected to its input pins it could be powered by the input protection diodes. The ESP05 could still be powered by the UART line which is at logic high in idle. \$\endgroup\$ – Michael Jan 17 '20 at 12:18
  • \$\begingroup\$ @jonathanjo thanks for detailed answer. I tried to use 2N7000 mosfet without R1 resistor (like in your example) but for some strange reason when GPIO was switched I could measure only 1.1V When I measured same mosfet without ESP-05 connected its pins did show 3.3V. That is a mystery to me. I will try with your suggested FDS6630A and 10K resistor also I use ESP-05 for wifi mac sniffing (up to 10 secs) I tested SLEEP and RESET way of working and it is working fine \$\endgroup\$ – Mika Jan 19 '20 at 21:20

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.