Teensy 3.6 multiple I2C devices

Hi everybody,

I'm a rookie when it comes to arduino/circuits, so I'm looking for some help here.

I'm currently trying to use a PCF8523 RTC and a MPU6050 accelerometer at the same time with a Teensy 3.6. Both use I2C(on teensy 3.6 this is pins 18 and 19).

According to the datasheets for each:
the PCF8523 has an i2c address of 0x68 which cannot be changed(https://cdn-learn.adafruit.com/downloads/pdf/adafruit-pcf8523-real-time-clock.pdf, page 5)
MPU6050 seems to have a default address of 0x68, but apparently can run 0x69 too. (I'm trying to use 0x69 since the RTC uses 0x68).

I'm attempting to run both at the same time, but am having no luck. As for my wiring, each are powered through separate 3.3V pins and through separate ground pins. Both have their SDA connected to pin 18, and SCL to pin 19.

Attached is a picture of my Serial monitor

As you can see, the MPU6050 is not starting up and the RTC is not working either.

If I remove one part, the other one works. However, they do not work together.
My only thought is possibly using a second set of SDA+SCL pins, but as said I'm a rookie at Arduino and wouldn't know how to do this.

Attached is my code:

// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
#include <Wire.h>
#include "RTClib.h"

#if defined(ARDUINO_ARCH_SAMD)
// for Zero, output on USB Serial console, remove line below if using programming port to program the Zero!
   #define Serial SerialUSB
#endif

#include "I2Cdev.h"
#include "MPU6050.h"
MPU6050 accelgyro(0x69);

RTC_PCF8523 rtc;
int16_t ax, ay, az;
int16_t gx, gy, gz;

char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

void setup () {
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
        Wire.begin();
    #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE
        Fastwire::setup(400, true);
    #endif
    
  Serial.begin(38400);

  accelgyro.initialize();
  Serial.println(accelgyro.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed");

  if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }
    // following line sets the RTC to the date & time this sketch was compiled
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}

void loop () {
accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
  
    DateTime now = rtc.now();
    
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(" (");
    Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
    Serial.print(") ");
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.print(" "); 
    Serial.println(ax);
    delay(50);
}

I guess you don't use the MPU6050 chip directly but by some breakout board. Provide a link to the schematics of that board and also to the schematics of the RTC board. You need pull-up resistors for the I2C bus but these pull-ups must be used only once in a bus. So if both boards have pull-ups soldered you might have to desolder them from one board.

Also the MPU6050 is able to change it's I2C address but you must pull pin AD0 high to activate this. It doesn't listen on both addresses at the same time.