Dual SSD1306 OLED on I2C

Hi guys, new user trying to learn Arduino and electronics in general.

I'd like to run 2 OLED displays on the I2c bus. I understand that the I2C bus can handle a large number of devices, but that each one must have it's own address. I bought a cheap display off ebay (SSD1306, 128x32) and I guess it's address is 0x3c. This appears to be a very common address for this display.

I'd like to run another basically identical device also on the I2c bus, but it needs to have a different address. How is this address set? Is it a hardware or software thing, and is it possible to change it? If not, how do I buy two displays with different addresses?

Sometimes there are positions for links on the back of the PCB to select different I2C addresses. Post a picture of the back of your display.

If the address cannot be changed then you could use a cheap I2C multiplexer, such as this one.

Adafruit also sell these and have a good tutorial here.

So would putting a solder blob between the two pads at r5 change the address?

Yeah I don't see a datasheet being available for my eBay display. But even the documentation for the adafruit version doesn't say anything about addresses. I suppose I could just bridge the gap with solder, change the address and see if it works... There is a way to check addresses in the Arduino IDE, right?

The R pads look like they bypass the 5V regulator so that won't change the I2C address.

It looks like your display does not have any options to choose a different I2C address.

There are I2C scanner sketches available via a Google search that will find what addresses are being used.

neongreen:
There is a way to check addresses in the Arduino IDE, right?

This works just great: playground.arduino.cc/Main/I2cScanner

OK I used the I2C scanner, it works great.

I also tried bridging the R5 pads and as bodmer said, it does not change the address. So now I've got to find a display that allows me to change the address.

Thanks for all your help so far.