Let me preface by saying that I am new here, and I can't seem to solve this problem for the life of me.
Problem: I am using the LTC2655BIGN-H16 DAC and attempting to interface with it via I2C with an ESP32-Pico-D4 Dev board, with a 3.3V to 5V logic level shifter in between. However, despite numerous attempts at debugging I can't seem to get the ESP32 to recognize the DAC. Additionally, there is some strange behavior when connecting an additional (working) peripheral via I2C, and the DAC to power in the same circuit. I have no doubt I must be missing/overlooking some things, but at this point I'm just stumped.
Any help would be immensely appreciated.
Attempts:
Attempt 1: The circuit for my setup is below. 
As far as I can tell, I've followed the manufacturers directions exactly, yet the DAC is never detected when attempting to communicate directly (NACK), or even running a simple address scanner. It may be important to note that I am using one of these cheap logic level shifters. I've tried:
- Modifying and playing around with the values of the pull-up resistors.
- Changing the GPIO pins used for I2C.
- Swapping out different brand-new LTC2655 chips.
- Changing the I2C speed.
- Verifying and experimenting with the code.
All physical connections have been checked more times than I can count. I know that the ESP32 is indeed outputting the correct bus signal because I've verified it with an oscilloscope.
Additionally, I know that the code scanning for I2C devices works as expected because if I swap out the LTC2655 with the ADS1115 board (excluding the pull-up resistors since the ADS1115 board already has on-board 10k pull-ups) it detects the correct address without any issue.
Attempt 2: In order to eliminate as many variables as possible (and not trusting myself) I decided to ditch my circuit setup entirely and buy this evaluation board straight from the manufacturer. As far as I can see, the main LTC2655 setup is pretty much identical to what I had already, but I wanted to be sure.
Same setup with the ESP32 and the logic level shifter, except now I have it hooked up to the corresponding pins on the evaluation board instead (5V, GND, SCL, SDA). Still no luck, it can't recognize the DAC.
Weird behavior: I've noticed that whenever I have the ADS1115 board connected normally and to the I2C bus, and I have the code running and detecting it, then even if I connect just the power to the evaluation board, the ESP32 all of a sudden no longer detects the ADS1115 either (the indicator light for the ADS1115 board also turns off). I verified that the evaluation board is not damaged or shorted, it draws ~1.6mA which is normal and expected for this DAC, so I see no reason how it can be a significant enough load to cause a voltage drop. When removing it, everything goes back to normal and the ADS1115 instantly shows up as recognized again.
Suspects: I'm definitely not an electronics engineer, but if I had to guess the problem might have something to do with the logic level shifter (it's the only variable that remained constant during all my tests and attempts, so that's that only thing I can think of).
Datasheets/Schematics
- LTC2655BIGN-H16 [Datasheet]
- LTC2655 Evaluation board [Datasheet]
- Logic Level Shifter [Schematic]
- ESP32 Board [Schematic]
Let me know if any additional information is required.