i want to use two DRV8844 (http://www.ti.com/lit/ds/symlink/drv8844.pdf) Motor Drivers. It has an Open-Drain output, that indicates an error, when it is LOW (nFault).

What happens, when i connect multiple open-drain outputs together with a pull-up resistor to one pin of a MCU? If one nFault output of one IC is LOW, what would the MCU read? Still HIGH, because of the pull-up, or LOW, because it is now connected to ground?

My goal is to detect, if one of all connect parts is in fault condition and save pins on the MCU

Thanks for your help.

  • 2
    \$\begingroup\$ Why do you think it would be high, if it's directly connected to an output that's low? \$\endgroup\$
    – Hearth
    Mar 19, 2019 at 19:36
  • \$\begingroup\$ i don't know, how the inputs of MCUs work, and if there would still be a voltag \$\endgroup\$
    – mick
    Mar 19, 2019 at 19:42
  • 3
    \$\begingroup\$ Open collector or open drain outputs are intended to allow several output to drive one input or signal. \$\endgroup\$ Mar 19, 2019 at 20:03
  • \$\begingroup\$ would you still ask this question if you had only one open-drain output? \$\endgroup\$
    – jsotola
    Mar 19, 2019 at 20:25
  • \$\begingroup\$ no i would not - Peters answer makes sense. As i found out, I2C also uses open-drain outputs, and its also a similar use-case. Sorry for my stupid question \$\endgroup\$
    – mick
    Mar 19, 2019 at 22:34

1 Answer 1


Multiple Open Drains with a shared pull-up create a Logic AND Gate function so all outputs must be high for the input to MCU to be high.

The de Morgan equivalent of AND is NOR with negative logic as this state is active low. So any (inclusive OR) detected Low will be detected as a fault.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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