I need to reduce the power consumed by a circuit based on ESP8266 and extra circuitry (I2C sensors, light resistor based sensor, etc.). By now when I set ESP8266 in deep sleep I still have a relevant power consumption caused by extra components. Not all ICs have a 'deep sleep' mode that can be set to reduce power, so I tried to disconnect VCC line that power all extra components on the breadboard and the current drop enough to allow running the entire circuit by battery.
So my idea is to manage the sensors VCC line with a mosfet driven by the ESP8266, something like:
- on ESP8266 power up (Arduino
setup()
method), as first thing I switch ON the mosfet to power all sensors - small pause to allow all ICs to init and stabilize
- perform all operation (read sensor, calculation, etc.)
- turn mosfet OFF
- turn ESP8266 to deepsleep
So I would ask:
- is a feasible way or can led to any kind of issue?
- if I use an N-channel mosfet the result is a low-side-switch, that leave GND floating. This seems bad to me, correct?
- if I use a high-side-switch (P-channel mosfet) is a pull-up resistor enough to assure mosfet is full-close when micro going to deep sleep?
The entire circuit VCC is 3.3v