The 20 x 4 LCD comes with a I2C backpack. I know it has A0, A1, A2 to set the address, as shown at the bottom here: https://tronixlabs.com.au/news/tutorial-serial-i2c-backpack-for-hd44780compatible-lcd-modules-with-arduino/

It points to here: http://www.nxp.com/products/interface-and-connectivity/interface-and-system-management/i2c-bus-portfolio/i2c-general-purpose-i-o/remote-8-bit-i-o-expander-for-icbus-with-interrupt:PCF8574_74A

My unit shows up as 0x3F.

And even with all this information I can't tell how to change it.

I need to have a second display on the same I2C bus.

Question: How do I change the address of the second one?

1 Answer 1


As mentioned in the page you linked, jumper together one of the address jumpers. For example, above A0 are two pads. Solder a wire across them (vertically - between the two pads above A0). I am guessing the address is pulled high by a resistor, so that will probably make the new address 0x3E, but you could run the I2C scanner to check that.

  • I tried it and it works. Simply jumpering A0 together gave me the address of 0x3E, just like you said.. Thanks again for your help,
    – SDsolar
    Commented Oct 29, 2016 at 17:47
  • I would add that the method I used that worked was to first use my soldering iron to build up a bead of solder on both contact points, then take a small solid wire and scrape it and tin it thoroughly, bend it to fit, then solder both points at the same time. Then snip off the excess. These points are small but it sure can be done. Thank you again, @Gammon, for the encouragement.
    – SDsolar
    Commented Nov 8, 2016 at 4:46
  • I fleshed out this process here: arduino.stackexchange.com/questions/12181/… and couldn't have done it without your help, @Gammon. Thank you again.
    – SDsolar
    Commented Dec 12, 2016 at 4:48

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.