This is what I'm trying to do:

I have an MSP430G2553 chip and I'd like to write an ADC program to translate some input from an arduino sensor (I have a few analog sensors that use 5.5v - some work between 3.3 and 5.5 volts).

I realized that my MSP430 can not connect directly to these 5.5v sensors so I decided to get the PCA9306DCTR voltage leveler from TI to bridge the gap.

My problem:

I'm not sure I understand how these voltage levelers work and if I'm thinking about this connection correctly.

My MCU is powered by a debugger (the MSP-FET) to the DVCC and DVSS and to pin 17 & 16 (for the Spy-By-Wire) protocol. MSP430G2553 Pinout

Considering the fact that the voltage on my MCU pin (say A0 - pin 2) is ~1.4v and the needed voltage into my sensor (say the: ultrasonic distance sensor) is ~5v, I connected the VREF1 pin on thePCA9306 PCA9306 pin description

PCA9306 Pinout

to an external 3.3V supply coming from 2 AA batteries and the GND pin to the DVSS of the MCU (attempting to create a common-ground). In my mind the PCA9306 does not need a 5.5V supplier for the sensor.


  1. Do both VREF pins (both sides) have to be provided? Can I just add the ~1.2 - 1.4V from the MCU into VREF1 and expect ~5V coming out of the PCA9306?

  2. Since most application designs include one single voltage power-source (be it 3.3V or 5V, etc.) can I assume that the voltage-leveler will raise the voltage from 1.4V to 5V without an external 5V power-source?

  3. How are the serial-clock and serial-data ports used in my case? After connecting the GND and VREF1 to 3.3V, do I connect my A0 (MCU pin 2) into the SDA1 and the ultrasonic sensor into the SDA2 of the voltage-leveler?

  4. Am I going about this the right way? If not, what am I missing?


The PCA9306 is a voltage translator for I²C, which is a purely digital protocol. In other words, it translates a voltage of 0 V to 0 V, and a voltage of VREF1 to/from VREF2, and any other voltages are forbidden.

If you have an analog signal that can be anywhere between 0 V and 5 V, you need to use an analog amplifier (with an amplification factor of less than one) to proportionally reduce all possible voltages; see, e.g., Analog voltage level conversion (level shift).

If your sensor output has a very low impedance (which is unlikely), a voltage divider would be a simpler alternative.

  • \$\begingroup\$ Thanks, @CL. So, if I understand you correctly, a voltage-leveler would not be the way to go here \$\endgroup\$ – Nactus Sep 24 '18 at 17:24
  • 1
    \$\begingroup\$ It's not called a "voltage leveler" but a "level translator", and the circuit with an opamp is also called a "level translator". The important thing is that you need an analog level translator. \$\endgroup\$ – CL. Sep 24 '18 at 18:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.