Hello Giorgio, I can't see how your circuit works. How do you use RBx pin? The pin can't be treated as usually in I2C case. Remember, I2C has an active 0 and a passive 1. See the truth table. I2C RBx latch RBx TRISB 0 0 0 1 x 1 This circuit limits high I2C level to 3V by divider (PIC reads 3V as high). Zener protects slave from overvoltage while PIC is being powered up. +5V 5V | 3.3V ------------- R1 ------------- | PIC | | SCL (SDA) | | | |------o------o-------------| SLAVE | | MASTER | | | | | ------------- Zener R2 ------------- 3.6V | | === R2 3 === ------ = --- R1 + R2 5 Hope it helps, Nikolai On Sunday, February 06, 2000 Giorgio Alboni wrote: > I have a I2C master that work with 5.0 volt and a 3.3 volt slave. > The master is a pic16C84 and the slave is a cmos sensor. I can't use the > open connector pin RA4 of pic. I use a portB pin. > How can I resolve the voltage problem? > Can work this circuit? > ----- ----- > | 56K I2C DATA LINE | > PIC |---/\/\/\-------------------------------------------|CMOS > | | | > ----- --- ----- > \ / Diode > - > | > ? | ? > (5V)VCC----/\/\/\----------------/\/\/\-------GND > 2,8volt > T.I.A. > Alboni Giorgio