Two I2C OLED displays + 1 MPU6050 on a single Lolin32 Lite

Is it possible to plug 2 OLED displays (I have 0.96") and a MPU 6050 (gyro + accelero) on a single Lolin32 Lite? All these devices are I2C.

I found that the I2C runs on pins 23 (SDA) and 19 (SCK), but I don't know how to set up all this.
Any help would be appreciated... Thanks!

EDIT: If the Lolin32 lite board is not suited for that, what other ESP32 board should I use?

I found that the I2C runs on pins 23 (SDA) and 19 (SCK)

This ESP32 and OLED display example uses a lolin32 and uses

SDA / 21 Serial data in
SCL / 22 I2C clock

I’m not shure whether The ESP32 supports two I2C interfaces nor whether the I2C address of the OLED is changable, so two displays should work.

I have 3 problems though :

1: My board is this one, which doesn't have a pin 21:this is why I talked about pins 19 and 23.

2: If I plug 2 OLED displays, they will have the same address
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x32)even if I create 2 instances:

Adafruit_SSD1306 display1(OLED_RESET);
Adafruit_SSD1306 display2(OLED_RESET);

How can I have some text on display1 and some other on display2?

Should I use
wire.begin(sda, scl);one for each display?

Third problem, when I plug my MPU6050 on the board, the serial port of the board is not recognized (or lost) on my PC (Win 10). But I'll deal with this later (unless anyone can help also :slight_smile: )

Maybe this Simultaneously use the two I2C bus of the ESP32 could be useful.

I have no experience with using two I2C interfaces on an ESP32, sorry.

Thanks, you helped me lot. I did it using 2 different I2C buses and U8g2 library.

#include <Wire.h>
#include <Adafruit_SSD1306.h>

#define SDA1 19
#define SCL1 23

#define SDA2 5
#define SCL2 4

#include <Arduino.h>
#include <U8g2lib.h>
//#include <SPI.h>
#include <Wire.h>

U8G2_SSD1306_128X64_NONAME_1_SW_I2C display1(U8G2_R0, SCL1, SDA1);
U8G2_SSD1306_128X64_NONAME_1_SW_I2C display2(U8G2_R0, SCL2, SDA2);

void setup(void) {

void loop(void) {
  do {
    display1.drawStr(0, 24, "DISPLAY 1");
  } while ( display1.nextPage() );
  do {
    display2.drawStr(0, 24, "DISPLAY 2");
  } while ( display2.nextPage() );