One Transistor Pump Building Block

This is a one transistor pump circuit. This is a very simple circuit and very helpful, you can use it as a building block for designing more complex electronic circuit. This circuit generates voltage staircase from a square wave input. Here is the circuit:

The V1 is determined by following equation:
V1 = Vo – Vbe(sat)
If the input voltage is series of square wave with height V and the output voltage is 5 V and the transistor has a high ß then V1 is 4.3V. When Vin generate a negative-going edge to C1, the transistor turns on and maintains V1 at 4.3V. The Vo doesn’t change because of diode is configured on reverse bias.

If the transistor receive positive edge, it will cut off the transistor. The diode will change into forward bias configuration when the input reaches 0.7V. The Vo will change because there is a charge sharing between C2 and C1. The changing Vo is determined by following equation:
DVo = (V – 1.4)C1/(C1 + C2)
The maximum output voltage is +12V(VCC). The ouput consist of a series of voltage steps of constant height. [Source:]