Is it possible to create a purely solid state bistable latching circuit without the use of relays? Meaning by way of op-amps/mosfets/etc? The ideal solution would have 2 separate and distinct latch/unlatch triggers and perform exactly equivalent as the circuit shown other than this will be a 3.3v circuit not 12v:
I know exactly what you want to do.
Like the push button on a PC.
Push once to turn ON, then when the PC wants to go to sleep, it turns itself off.
Push again to turn on
Hopefully this will help illustrate what I'm trying to do. If I were to use relays, it would work like this (substitute 12v for 3.3v) -
Whereas the main power input is constant 3.3v+ from the battery, output goes to vin+ on the esp, latch input comes from the hardware switch (which always has power), and the unlatch is triggered by an esp gpio pin. The crucial difference between a single coil bistable latching circuit vs a dual coil bistable latching circuit is that in the dual coil version the latch and unlatch triggers are isolated and come from different sources not a single common source like a momentary switch/pushbutton/etc. Conceptually it's straightforward enough with relays, but if the same functionality can be accomplished without relays I'd much rather do that in order to minimize the overall packaging (and power consumption) of the project
It is still not clear what you want to do. However, the Pololu Power Switch does exactly this:
What I'm trying to accomplish is to have a hardware switch triggers the main power circuit to latch on, which flows power to the board. The board boots, runs its routine, then sends a trigger to latch the power circuit back off.
You should say what the application is instead of describing a sub optimal solution.
It sounds something like a remote controlled garage door opener where you momentarily press a button to initiate it. The power is then latched on. The device transmits its signal and finally unlatches itself.
If that is close to what you want and you want to make it using discrete components then a solution like that in post #12 is the one I'd use.