I want to connect MCP4725 breakout to Rpi. The datasheet of MCP4725 says that "the SDA and SCL pins are open drain N channel drivers. Therefore they need pull-up resistors from the Vdd line." The raspberry pi pins 3,5 have their own pull-ups so i must connect them directly to the SDA and SCL pins of the MCP4725 (by cutting the traces on the breakout to disconnect the pull-ups on the breakout). But these means that I have to power the MCP4725 using the internal 3.3V supply of raspberry pi. I don't like doing this since I would like to connect many 3.3V devices to Rpi, and I don't want to load the pi's internal power supply. I want to connect these devices using external 3.3 volt power supply. I don't know how to keep this external power supply from interfering with the pi's internal one. Please advice.
I would suggest the following workaround:
Power MCP4715 and other I2C devices with an external 3V3 power supply.
It is true that MCP4725 SDA and SCL pins need pull up resistors, BUT since RPI SDA and SCL pins already have on board pull ups (strong 1k8 pullups), then MCP4725 now shares Rpi's built in pullups.
In other words, there is no need for any redundant pullups at the MCP4725 side.
The external 3V3 PSU would NOT interfere with Rpi's 3V3 power rail.
You might like to draw a schematic to make 100% sure you do understand my suggestion.
One more thing - your MCP4725 breaqkout/module/board usually already has on board SMD pullups (usually 4k7, not so usually 10k), then it is a good idea to remove them, so not to load the I2C bus with too much impedance/capacitance and exceed the standard I2C bus's 400pF limit, causing instability. (6) Yes, ALL on bus's modules pullbups can be removed.
Appendix A - How to remove the on board pullups of an I2C device breakout module.
Appendix B - MCP4725 Wiring Example
Appendix C - MCP4725 Demo Program