On MCP34xx devices datasheet on page 2 it is written:

The I2 C address bits for the MCP3427 and MCP3428 are selected by using two external I 2 C address selection pins (Adr0 and Adr1). The user can configure the device to one of eight available addresses by connecting these two address selection pins to V DD, VSS or float.

Differentiating between high and low is straightforward, but how does it determine when the pins are floating?

Instant guess would be if they are neither at Vdd or Vss, but while floating they could be at any voltage including Vdd or, theoretically I suppose, Vss.


1 Answer 1


It is explained in the data sheet you linked.

It actually does not detect if the pin floats, that is a bit misleading.

It can just detect if the user has left the pin disconnected, i.e. "floating".

The chip applies half supply voltage to the address pins internally, and measures the voltage on the pins.

So depending on if pins have voltage of GND, VDD, or VDD/2, that is used to select the address.

  • 1
    \$\begingroup\$ It is explained in the data sheet you linked., ADHD \$\endgroup\$
    – php_nub_qq
    Commented Feb 21, 2023 at 14:20

Your Answer

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

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