This is a breakout board for the PCA9306 dual bi-directional voltage level translator. You can use this board allow devices of different voltages to communicate.
The PCA9306 is a dual bi-directional I2C and SMBus voltage level translator that's operational on the low side from 1.0V to 3.6V and on the high side from 1.8V to 5.5V. Simply apply your low- and high-side reference voltages to the VREF1 and VREF2 respectively, connect your I/O, and drive the Enable pin High to open bi-directional voltage translation without needing to use a direction pin.
Hookup Example The breakout board has seven pins that need to be connected to function properly. VREF1, SCL1, and SDA1 all connect to your lower-voltage part. VREF2, SCL2, and SDA2 connect to your higher-voltage part. The GND pin needs to be connected to Ground in your system. The final through-hole on the board, labeled NC, does not need to be connected to anything.
To connect the board, solder headers into the through-holes, and use jumper wires between devices, or solder wire directly to all your boards.
The following example connects an Arduino Pro Mini 5V to an HMC5883L Magnetometer Breakout Board which runs at 3.3V and communicates over I2C.
Click on the image or use the View Image feature of your browser to see it full size.
That image shows the HMC5883L running from a 3V supply via two AA batteries, and the Pro Mini running from a 5V barrel jack input. These are merely examples; you can supply each component's power however you like. The important thing is that both the lower voltage and higher voltage must be supplied.
The connections made to/from the PCA9306 Voltage Translator Board in that example are as follows:
|HMC5883L ||⇔ ||PCA9306 ||⇔ ||Pro Mini 5V |
|GND||↔||GND||NC|| || |
All you need to do is make those connections. You don't need to use any special code with the PCA9306 board.
Bi-directional Voltage Translator Board Resources