# How can I simplify this charge pump?

In thinking about an answer to a different question, I came up with a likely-not-ideal solution to the following:

• Given a square-wave input of 125 Hz whose minimum is 0V and maximum is somewhere between 1-7V
• Assuming an ideal source with zero output impedance
• Needing to support an output load of at most 10 mA that varies at the same frequency but between +Vin and -Vin; i.e. zero-centered and with double the amplitude
• Wanting as simple a circuit as possible, ideally with only passive, discrete components

The complex and obvious solution is a switching supply to generate the negative rail, and then a comparator. I came up with the following charge pump as a simpler solution, shown at Vin=5V, RL = 5k:

Since it doesn't need to generate a negative rail, it doesn't need an inductor. It works fine, but I don't love it, for the following reasons -

• I feel like it can be further simplified
• The output is asymmetric - the positive cycle is stable but the negative cycle follows the capacitor discharging

Is there a simpler solution? The alternate one below does work, courtesy @tobalt.

simulate this circuit – Schematic created using CircuitLab

• @tobalt Slightly smaller like 0.5V difference? If so I'd be interested in seeing it May 22, 2021 at 17:59
• @Reinderien I'm kind of flummoxed by the difficulties. But it's probably that I didn't read you as well as I should have. I recently wrote about something like this: here. The inverter part is on the right side of the circuit, there. It's what you drew, isn't it? Seems to work. Can you spot the difference? The key is the load. It totally changes the behavior, depending. So maybe you didn't compute things right? (Read the theory section there.)
– jonk
May 22, 2021 at 23:22
• @jonk to be clear: there are two circuits above; the first works fine and the second (suggested by tobalt) does not. I'm going to try adding one more FET like he suggested in the comments. May 23, 2021 at 3:35
• @Reinderien I guess I'm just thinking about your comment, "the alternate one below does not seem to work when I simulate it..." But perhaps I didn't read you well, as I mentioned. That's okay. If the link I provided isn't helpful, then it isn't. Only you'd know.
– jonk
May 23, 2021 at 4:13
• @Reinderien Ive updated my answer May 23, 2021 at 8:47