TZT 1.3" 64x128 OLED SH1107 change I²C

Hi,

just bought some 1.3" I²C OLED displays (the horizontal ones with the smaller PCB), as f.e. to see here:
https://de.aliexpress.com/item/1005004561039308.html
They have added things like the schematic on the page.

Sadly there is no information how to change the I²C-address.
Searching other sellers pages and the internet itself did not lead to more information.

One thing I have noticed: The schematic shows D1 and D2 are not connected (also it is to see they are not connected on the PCB). Maybe here is an option to change the address? Does someone already have the displays and found it out?

Hi Isno, I don't know about D1 & D2! is a cheap multiplex an option on the project?

Phil.

Hi,

Try with this code to scan the I2C bus.

// --------------------------------------
// i2c_scanner
//
// Modified from https://playground.arduino.cc/Main/I2cScanner/
// --------------------------------------

#include <Wire.h>

// Set I2C bus to use: Wire, Wire1, etc.
#define WIRE Wire

void setup() {
  WIRE.begin();

  Serial.begin(9600);
  while (!Serial)
     delay(10);
  Serial.println("\nI2C Scanner");
}


void loop() {
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address < 127; address++ ) 
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    WIRE.beginTransmission(address);
    error = WIRE.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16) 
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4) 
    {
      Serial.print("Unknown error at address 0x");
      if (address<16) 
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000);           // wait 5 seconds for next scan
}

If you want to run multiple displays on a single Arduino, an I2C multiplexer is the simplest solution, and can allow you to run the I2C lines to the display at 3.3V instead of 5V if the display is not 5V tolerant.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.