1

My E-Ink display (Waveshare E-Ink, 7.5 inch, Version 1, 640×384) connected to Raspberry Pi Zero W via the e-paper HAT (https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT) shows some content with horizontal lines very weak. Other content is displayed correct. Any suggestions how to solve the problem?

Grid (with horizontal and vertical lines) is rendered via PIL (see code): Rendered Image

The above image drawn on the E-Ink display (if you look carefully you see the horizontal lines very weak at the bottom): Displayed Image

Another image: horizontal lines fade away in the top right corner: Image with horizontal lines

Another image: horizontal lines drawn with no gaps so that an all black image is drawn. No contrast is lost here: Image all black

My hardware setup - Raspberry Pi Zero W with the e-paper HAT: Raspberry Pi E-Ink HAT

I use the following python code to display the images

from PIL import Image
from PIL import ImageDraw

EPD_WIDTH = 640
EPD_HEIGHT = 384

bl = 0

def main():
    image = Image.new('1', (EPD_WIDTH, EPD_HEIGHT), 1)    # 1: clear the frame, 1: all black
    draw = ImageDraw.Draw(image)
    for x in range(35):
        for y in range(384):
            draw.rectangle((0, y*20, EPD_WIDTH, y*20+2), fill = bl)
            draw.rectangle((x*20, 0, x*20+2, EPD_HEIGHT), fill = bl)
    try:
        from waveshare_epd import epd7in5
        epd = epd7in5.EPD()
        epd.init()
        epd.display(epd.getbuffer(image))
        epd.sleep()
    except:
        image.show()
        image.save("frame.bmp")
if __name__ == '__main__':
    main()

epd7in5 modules from: https://github.com/waveshare/e-Paper

remi
  • 123
  • 4

1 Answers1

0

I came across to this post while debugging my own display, a year late, but in any case:

Your

    image = Image.new('1', (EPD_WIDTH, EPD_HEIGHT), 1)    # 1: clear the frame, 1: all black

Will produce just a black screen on the display

It needs to be changed to:

image = Image.new('1', (EPD_WIDTH, EPD_HEIGHT), 255)

To produce the boxes in a working display.

Second to that you can play a bit with the VCOM value in epd7in5.py (higher than 0x77 = a bit darker)

        self.send_command(0x50) # VCOM_AND_DATA_INTERVAL_SETTING
        self.send_data(0x77)

Which it may solves your issue (worked for me)

billy
  • 81
  • 3