As you get more advanced with your circuits you will start seeing circuit design patterns that may at first glance seem a bit weird. One such design pattern that can be confusing is the “open drain,” also called the “open collector” (when TTL circuits are involved). For the purpose of this blog we will use the term open collector, though the general principles apply to both technologies: Field Effect Transistors (FET) and Bipolar Junction Transistors (BJT).
Open collector circuits are considered “active-low” and therefore require a pull-up resistor to maintain a non-active, yet high voltage state. When a device wants to communicate on the bus, it pulls the communication line low by sinking current through a control transistor to ground. Let’s examine this concept by looking at this circuit in Figure 1:
Figure 1: Internal look at an open collector circuit
Open collector circuits allow many devices to communicate using a single wire, even if the devices use different operating voltages. Two such examples are a sensor that operates at 3.3V and a microcontroller that operates at 5V. The key to making this work is to connect the pull-up resistor to the lower operating voltage. This will work so long as the lower operating voltage still exceeds logic high level of the higher voltage device. Going back to our example this means that the 5V microcontroller General Purpose Input/Output (GPIO) pins must register voltages as low as 3.3V as logic “high.” If this is not the case, then there are special level shifter chips that can handle the conversion for you.
It is probably obvious by looking at the circuit above, that open collector circuits have one drawback in terms of power consumption. When the circuit is active there is a direct pathway between Vcc and ground. There is also some minor leakage current, which can measured in nano-amperes, even if the device is off.
One difference between open drain and open collector design that may be important depending on your particular project is how close the transistors can pull the bus to ground. Open drain is built on FETs, whereas open collector is built on BJTs. The very low resistance of a FET means open drain can pull the bus very close to ground. Whereas the BJT-based open collector design will cause the bus to remain a few millivolts above ground even if pulled low.
I2C is an example of a serial communication protocol that many engineers and makers have probably come across or used in their circuit designs. I2C utilizes an open drain/collector design for both the SDA (data) and SCL (clock) bus that interfaces between components.
Let us know if you’ve used open drain or open collector circuits in your projects by leaving us a comment down below.
Michael Parks, P.E. is the owner of Green Shoe Garage, a custom electronics design studio and technology consultancy located in Southern Maryland. He produces the S.T.E.A.M. Power podcast to help raise public awareness of technical and scientific matters. Michael is also a licensed Professional Engineer in the state of Maryland and holds a Master’s degree in systems engineering from Johns Hopkins University.
Privacy Center |
Terms and Conditions
Copyright ©2021 Mouser Electronics, Inc.
Mouser® and Mouser Electronics® are trademarks of Mouser Electronics, Inc.
All other trademarks are the property of their respective owners.
Corporate headquarters and logistics center in Mansfield, Texas USA.