GrovePi+ kit board: RGB LCD display

Hi, I have a very odd thing happening with the GrovePi+ kit board, when trying to use the RGB LCD display with the example program. It starts to count down to sleep, then suddenly switches to counting up, and finally crashes when it gets to about 140.



I have re-installed everything from scratch 3 times, with same result. The button, LED and other digital items test fine, and there is nothing else connected to the I2C bus. I have updated the firmware, and I made sure I have a power supply capable of 2.5 Amp.



Here is the terminal screen result:



pi@rpi-grove:~/GrovePi/Software/Python/grove_rgb_lcd $ python grove_rgb_lcd.py

Traceback (most recent call last):

File “grove_rgb_lcd.py”, line 133, in

setText_norefresh(“Going to sleep in {}…”.format(str©))

File “grove_rgb_lcd.py”, line 119, in setText_norefresh

bus.write_byte_data(DISPLAY_TEXT_ADDR,0x40,ord©)

IOError: [Errno 121] Remote I/O error



Any help would be greatly appreciated!



Tks, AB

Hi there:

I did a test, it is normal, please attach your hardware connection screenshot, and firmware update address, environment configuration, so that my side can handle your problem in time

I’m having the same problem.
Using :

  • Raspberry Pi 4 Model B (Linux raspberrypi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux)
  • GrovePi+ HAT (updated as of 7th March 2021)
  • Grove LCD RGB Backlight v4.0
  • Temperature Humidity Sensor v1.2

Getting error 121

Please help.

import math
import datetime
import grovepi
from grove_rgb_lcd import *

try:
    setRGB(255,255,255)
    setText("Initializing...")
    
    time.sleep(2)
    
    sensor = 4
    blue = 0
    
    while True:
        try:
            [temp,humidity] = grovepi.dht(sensor,blue)
            mytxt = "T = {}C H = {}% ";
            if math.isnan(temp) == False and math.isnan(humidity) == False:
                nnow = datetime.datetime.now().strftime("%X")
                setText_norefresh(mytxt.format(temp,humidity) + nnow)
                print(mytxt.format(temp,humidity) + nnow)
            time.sleep(1)
        except IOError as io_error:
            print("io_error = " + str(io_error))
            raise IOError
    
    
except KeyboardInterrupt:
    setRGB(0,0,255)
    setText("Exit OK")
except IOError as ioerror:
    print(ioerror)
    setRGB(255,0,0)
    setText("IO Error")

====