I have an I2C adapter for my LCD display i used with my Arduino.
Both are 5V logic, and i know that the pi GPIO are 3.3 V.
If i only need to "write" to the LCD, do i absolutely need a Logic level converter ? Here is the I2C adapter

2 Answers 2


You can't just write to an I2C bus. The SCL line is an output from the master (Pi) but the SDA line is an input and an output.

The LCD should not have pull-ups to 5V on board but many do. Perhaps connect it to 5V and ground and then measure the voltage on the LCD's SDA pin. If it's 5V you definitely should use a level converter.

  • I read a constant 4.22V, :(
    – Wadaane
    Nov 22, 2017 at 20:49
  • So the SDA pin sends HIGH (4.22v) to the pi, and the pi sends HIGH (3.3V), I can't use a simple voltage divider in this case right ?
    – Wadaane
    Nov 22, 2017 at 21:03
  • I'd put a 10k resistor on the SDA line. That would limit the potential current inflow to (4.22-3.3)/10000 or 92 microamps. It is at your risk though. See mosaic-industries.com/embedded-systems/microcontroller-projects/…
    – joan
    Nov 22, 2017 at 21:27
  • You might also be able to scrape away the trace between the I2C lines and the on-board pull-resistors. Not easy to tell how it's connected looking at the bottom of the board. This would also be at your own risk.
    – Brick
    Nov 22, 2017 at 23:18

As Joan has answered it depends on the pullups. The Pi has 1.8kΩ pullups on board.

I would just remove any pullup on the module, and it will work.

NO you cannot use a resistive divider. SDA is bi-directional, so needs level converters. SCL is output, so no need, but I would be unhappy connecting any 5V without a converter.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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