Electronic – Trigger Edge Detection Voltage issues

edgetriggervoltage

I'm trying to get an ESP8266 to wake up via external trigger. The trigger in this case is a PIR, which sends a 2+ second high signal when motion is detected.

I'm using an edge detector to turn that incoming long signal into a brief signal, and then inverting it via transistor as the ESP needs to have the RST pin grounded for a brief second to cause a boot.

This is the simplest form of the circuit:

enter image description here

The issue I'm having is the voltage drop on RST is not low enough. There used to be a pull-up resistor on RST when I played with a NodeMCU, but now with a Wemos D1 mini the voltage drop wasn't high enough to trigger a boot.

With the Wemos plugged into USB and providing power to everything, the circuit runs at 3.3v and RST drops to around 2v on trigger, which is enough to cause a boot most of the time, but ideally I want to get the drop lower still. Any ideas on that?

The real problem comes in when this setup is connected to a 3.7v battery. When the battery is full, everything gets around 4.2v and on trigger, the drop on RST is only down to 2.6v which is no where near what's needed to trigger a boot.

How can I get a trigger to cause a larger drop on RST? Not longer though – just a larger drop. Increasing C1 to 10uF does increase the drop, but the time it takes is too long.

Also, as the battery drains, the voltage will drop over time. I need a solution that works at 4.2v all the way down to 2.7v (at which time there likely won't be enough juice to start the ESP anyway).

In case it's relevant, Q2 is a 2N222.

Best Answer

schematic

simulate this circuit – Schematic created using CircuitLab

Replace Q2 with an N channel, enhancement mode MOSFET with a low "on" resistance and a gate threshold voltage around one volt. This will pull you all the way to ground.