BMP180 Disrupts Arduino-ESP8266 Communication

I'm building a weather station using an Elegoo UNO R3. I've connected a DHT22 sensor, a BMP180 sensor, and an ESP8266-01 WiFi module to send data to ThingSpeak. Everything works fine except for the BMP180 sensor.

When the BMP180 is connected, the whole system stops working — even the WiFi connection fails. However, when I disconnect the BMP180, the DHT22 readings are sent successfully to ThingSpeak.

I tested the BMP180 on its own (without WiFi), and it works perfectly. I also tried connecting the BMP180's SDA and SCL lines to the free GPIO0 and GPIO2 pins on the ESP8266 instead of using the standard A4 and A5 I2C pins on the UNO, but that didn’t solve the issue either.

All parts of the project work fine but not when I combine. Do you think it might be a library problem that is interfering? I use this library https://irenx.ir/wp-content/uploads/2020/06/bmp085irenx.ir_.zip

Does anyone have suggestions for how to get all the components working together without conflicts?

I guess a wiring diagram and your code (please use code tags as descxribed in https://forum.arduino.cc/t/how-to-get-the-best-out-of-this-forum/679966#posting-code-and-common-code-problems) might help others to help you.

I have no idea why your bmp180 causes those problems. Maybe it's faulty, but that doesn't explain why it works if you don't connect to WiFi.

That could only work if you uploaded code directly to the esp01 to use the GPIO0/2 pins as an i2c bus. That's possible and I've done it in the past. But uploading that code would overwrite the AT-command code in the esp01 and prevent your UNO from communicating with it (I assume your UNO code expects the esp01 to be running the AT-command code).

My advice is: by trying to use this combination of components, you are making the project many times more complex and reducing the chances of success. I know you want to try to use the components you have, but it's just not worth it in my opinion.

I suggest you should get an esp-based development board such as a Wemos D1 mini and a BME280 or similar sensor. With only 2 components, both running at the same voltage and only one MCU to write code for, your project becomes much simpler and success more likely.

I am currently experimenting with ESP32-C3 mini boards, but it's too early for me to recommend those yet, but I'm sure others here will.