Powering LCD Display

I bought this 5V LCD display from Amazon and I would like to find out what's the best way to power it without causing damage to the due.

You should power it via the 5V pin. (it needs 5V for the contrast adjustment to work)

The link shows a backpack with address 0x27 and mounted pullups.

Since the Due already has pullups on I2C0 pins, you should remove the pullups from the backpack.

David.

Have you tried this and it actually worked? I want to know for sure because I don't want to damage my stuff.

Personally, I'd just use an I2C +5V to 3.3v logic level converter like this one: 4-channel I2C-safe Bi-directional Logic Level Converter [BSS138] : ID 757 : $3.95 : Adafruit Industries, Unique & fun DIY electronics and kits.

Or just use a couple of 2N7000, small signal, N-Channel MOSFETs, explained here: Bi-Directional MOSFET Voltage Level Converter 3.3V to 5V.

It's usually possible to use a few breakout boards with pull-up resistors on the I2C bus without any problems. The Due also has the option of using Wire1 port that has no on-board pull-ups.

On some of the faster ARM boards (Metro M4, Due), it can sometimes be beneficial to use 120R (or thereabouts) series resistors on both the SCL and SDA lines, to reduce noise.

I just hooked it up to the Due via the 5V supply port and it worked. Could the board be damaged using the 5V supply port?

I just hooked it up to the Due via the 5V supply port and it worked. Could the board be damaged using the 5V supply port?

The LCD should be powered from the Due's 5V supply, however the I2C lines should be pulled up no higher than 3.6V (Vcc + 0.3V).

I put the 5V on the Vcc line of the I2C chip, would that cause damage?

I put the 5V on the Vcc line of the I2C chip, would that cause damage?

No, not if you're just powering the LCD with 5V and GND from the Due without SCL and SDA attached.

But I did connect the SCL and SDA attached, all 4 pins were connected and I was able to connect and program the screen with the Hello World program offered by the LCD library that I got online.

But I did connect the SCL and SDA attached, all 4 pins were connected and I was able to connect and program the screen with the Hello World program offered by the LCD library that I got online.

I had a look at the Arduino Due schematic. Luckily the Due uses very strong 1k5 pull-ups to 3.3V for SCL and SDA. If the backpack is using 10k pull-ups to +5V then you'll be on the limit regarding the maximum I2C voltage. It won't necessarily damage the Due, however this is not recommended.

I'd suggest using a I2C logic level converter, at least then you'll be operating both boards within the limits of their specification.

So is this logic level converter used for the supply alone? Or it's used for the SDL and SDA as well?

So is this logic level converter used for the supply alone? Or it's used for the SDL and SDA as well?

An I2C logic level converter usually has two sides, on the Adafruit board for example there's HV (higher voltage) side with power and signal pins for 5V and also LV (lower voltage) side with power and signal pins for 3.3V.

  • Connect GND from the Due to both the display and I2C converter (both sides used the same ground)
  • Connect 5V from the Due to both the display VCC and the HV power pin of the I2C converter
  • Connect 3.3V from the Due to the LV power pin of the I2C convert
  • Connect the Due's SCL and SDA pins to the I2C converter's lower voltage side signal inputs.
  • Connect the LCD display's SCL and SDA pins to the I2C converter's corresponding higher voltage side signal inputs

MartinL:
I had a look at the Arduino Due schematic. Luckily the Due uses very strong 1k5 pull-ups to 3.3V for SCL and SDA. If the backpack is using 10k pull-ups to +5V then you'll be on the limit regarding the maximum I2C voltage. It won't necessarily damage the Due, however this is not recommended.

I'd suggest using a I2C logic level converter, at least then you'll be operating both boards within the limits of their specification.

The backpack has 4k7 pullups to 5V.
The Due has 1k5 pullups to 3.3V

The Due will win. But this is a very heavy handed solution.

It is apparent that Jonnygainz has no intention of removing the backpack pullups.
So it is wise to buy an I2C logic level converter. Especially since he will probably attempt to connect other I2C devices from Ebay.

David.

I'm just hesitant to remove the pullup resistors on the I2C backpack because it's something I never did before and I don't want to try to remove them and damage or ruin the I2C backpack. Also I don't know which pullups to remove and why I'm removing them, I need to know why. Also, you said remove them, what do I do after? Resolder the open connection? I'm very new to all this... Just saying...

Just buy a level shifter module from Ebay e.g. from UK shop or from China

Unsoldering the SMD pullups requires experience. Clicking on an Ebay link can be done by anyone.

Level shifters come in different shapes and sizes. e.g. 8 channels on one pcb
You only need 2 channels but other projects might require more channels.

David.

The open circuit voltage between the 1.5K and 4.7K resistors is 3.71v, which is marginally above the normal range but below the absolute max, so it will be OK. Also, the current is limited by the 4K7, there won't be enough energy to do any damage. Looking at the current draw to bring the pin down to 3.6v, just 98uA would be required, 0.35mW dissipated by the pins silicon.