I recently came across a sensor that had a "push-pull" output. I can't find anywhere how to read such an output:

enter image description here

Is it some particular kind of analog output?
I would want to read it with the MSP430G2553 (using energia or code composer).


3 Answers 3


Just connect it - and only it - to the MSP device pin.

A "push pull" output is one that can't be shared with other outputs (to save I/O pins) and doesn't need a pull-up or pull-down resistor. Which makes it the easiest sort to use.

An "open collector" (or "open drain") output can only pull the voltage down to 0V, but not up to +V. This means it can be connected to other outputs of the same type without damage, but needs a "pull up" resistor to signal '1' when it is turned off. (The MSP430 has these pullups built in, there is a special register to turn them on or off)

  • \$\begingroup\$ So aside from that I just use it has a normal analog input? \$\endgroup\$
    – Rui Lima
    Dec 19, 2014 at 10:24
  • \$\begingroup\$ If it's an analog signal as opposed to a digital one - yes. \$\endgroup\$
    – user16324
    Dec 19, 2014 at 10:26

A Push-Pull output is your normal CMOS or TTL-like output. It's either HIGH (IO pin is connected to VCC through a MOSFET), or LOW (IO pin is connected to GND through a MOSFET).

The basic circuit of the output stage is as simple as:


simulate this circuit – Schematic created using CircuitLab

It is the technical name for any "normal" digital output pin, and can be connected direct to any normal digital input pin that expects to work with the same voltage ranges.

That is as opposed to an Open Drain (or Open Collector) output which basically omits the P-channel MOSFET and just switches the ground connection on and off (these require a pull-up resistor or other similar setup to work).

Also, push-pull outputs are also used in the analog domain where they are effectively an amplifier. It uses the same arrangement - a high and a low transistor of some form, but it operates in the linear, not the saturation region of the transistors. This mirrors the incoming waveform with more power.

If your sensor is of the analog type, then it will provide a simple analog signal out of it, amplified by the push-pull amplification stage. This output can be connected direct to any analog input pin that expects to work in the same voltage range.

Simplified push-pull amplifier:

enter image description here

-- Wikipedia

It is called push-pull because the top transistor pushes power out of the pin from Vcc, and the lower one pulls the power in from the pin to ground.

  • \$\begingroup\$ nice fancy diagrams Maj. I've answered this question probably twice now in the past with diagrams, I give up nowadays hehe \$\endgroup\$
    – KyranF
    Dec 19, 2014 at 10:35
  • \$\begingroup\$ @KyranF Google images is your friend :) \$\endgroup\$
    – Majenko
    Dec 19, 2014 at 10:40
  • \$\begingroup\$ Yeah that's what I use too! \$\endgroup\$
    – KyranF
    Dec 19, 2014 at 10:42

push-pull is the name given to a "totem-pole" style of output driver, commonly seen in micro controller/digital outputs. The "push" stage is when the output is logic high, and a transistor sources current from VCC and "pushes" it out into the output.

The "pull" stage is another transistor, which pulls the output to ground.

These are often used as MOSFET drivers too, because they can sink and source large amounts of current, rather than an open collector with (internal or external) pull up resistor which is another common alternative (these are only strong to "pull" or sink current, cannot provide much current).

If the transistors are CMOS fets, they will be basically VCC or 0V. If they are older style PNP/NPN drivers, sometimes using Darlington pairs for higher current output, they may not provide the full VCC output voltage (close to it though!) and may not reach 0V on the "low" output either, usually less than 1V though.

EDIT: to answer the "analogue output" specific part of the question, The output will be related to the sensor reading or whatever internally is happening, and in addition to a normal push/pull style output there will be a feedback associated which allows the "set point" of the push/pull output to drive properly, over an external or internal (read the datasheet!!) load resistance. See the image below for how it may be done on your device.

push pull analog output

  • \$\begingroup\$ what is the exact meaning of the triangle? + and - what do they mean? \$\endgroup\$
    – Bento
    Jan 10, 2017 at 8:59
  • 1
    \$\begingroup\$ @Bento the "Input" triangle? That's an "op-amp" symbol, the + is called the "non-inverting" input, and the - is the "inverting" input. What it really means is the output of the triangle will be HIGH (going to the two transistors) when the + input voltage is higher than the - input voltage. This op-amp has feedback, because it's connected to the "output" on the - input. When the + input goes to 5V for example, the op-amp will do whatever it can to make the voltage on the output (also connected to the - input) equal to 5V. \$\endgroup\$
    – KyranF
    Jan 11, 2017 at 5:12
  • 1
    \$\begingroup\$ @Bento you can read more about the operation of an operational amplifier here: allaboutcircuits.com/textbook/semiconductors/chpt-8/… \$\endgroup\$
    – KyranF
    Jan 11, 2017 at 5:13
  • \$\begingroup\$ very kind @KyranF, the link you've given has really detailed chapters, just what I was searching for, but googling I didn't find that! \$\endgroup\$
    – Bento
    Jan 11, 2017 at 5:34
  • 1
    \$\begingroup\$ @Bento yes, it's a good online resource for all the basics. They have great chapters on many topics! \$\endgroup\$
    – KyranF
    Jan 11, 2017 at 5:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.