Contrast adjusting on Grove 2x16 LCD

I use Grove I2C 16x2 LCD (V2.0) on Pico with below code.
When running the program the first row of the LCD shows only white blocks, the second row is blank, is this a contrast issue? I have no idea on how to change the contrast, there is no Potentiometer available?
Is there a I2C function to change contrast?

code I’m using, no errors on it:

import machine
from machine import I2C
from lcd_api import LcdApi
from i2c_lcd import I2cLcd

setup LCD object

I2C_ADDR = 62
I2C_NUM_ROWS = 2
I2C_NUM_COLS = 16
i2c = I2C(0, sda=machine.Pin(0), scl=machine.Pin(1), freq=400000)
lcd = I2cLcd(i2c, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS)

creating custom icon

heart = bytearray([0x00,0x0a,0x1f,0x1f,0x0e,0x04,0x00,0x00])
lcd.custom_char(0, heart)

Main program

lcd.putstr("Hello from\n"+chr(0)+" Bart "+chr(0))

I’m seeing the same problem. I posted a question here: https://www.seeedstudio.com/Grove-16-x-2-LCD-Black-on-Yellow.html

Hi there,
Page 10 of the Data sheet from the Wiki (sales Page)


check schematic also.
shows a 10ohm resistor powering BL perhaps a POT in there could do it, or
The BackLight LIB that’s also downloadable there shows a couple options, Looks like some PWM is capable to increase or decrease brightness or and colors? YMMV
HTH
GL :slight_smile: PJ