• sales

    +86-0755-88291180

Raspberry Pi 4inch DPI LCD (C) User Guide

Introduction

4inch Square Capacitive Touch Screen LCD (C) For Raspberry Pi, 720×720, DPI, IPS, Toughened Glass Cover, Low Power Solution

Features

  • 4inch IPS Display, 720x720 hardware resolution.
  • Designed for Raspberry Pi, based on Raspberry Pi 40pin GPIO interface.
  • Using DPI666 interface of Raspberry Pi to drive LCD, refresh rate up to 60Hz.
  • Drive capacitive touch through I2C interface of Raspberry Pi, 5-points touch, toughened glass panel, hardness up to 6H.
  • Supports Raspbian and Kali systems.

How to use

This LCD can support Raspbian and Kali systems.

Please download the latest version of the image on the https://www.raspberrypi.org/software/

1) Download the compressed file to the PC, and unzip it to get the .img file.

2) Connect the TF card to the PC, use SDFormatter.exe software to format the TF card.

3) Open the Win32DiskImager.exe software, select the system image downloaded in step 1, and click‘Write’ to write the system image.

4) After the image has finished writing, open the config.txt file in the root directory of the TF card(/boot/), add the following code at the end of config.txt, then save and quit the TF card safely.

gpio=0-9=a2
gpio=12-17=a2
gpio=20-25=a2
dtoverlay=dpi24
enable_dpi_lcd=1
display_default_lcd=1
extra_transpose_buffer=2
dpi_group=2
dpi_mode=87
dpi_output_format=0x7f216
dpi_timings=720 0 46 2 42 720 0 16 2 18 0 0 0 60 0 60000000 6
dtoverlay=waveshare-4dpic-3b-4b
dtoverlay=waveshare-4dpic-3b
dtoverlay=waveshare-4dpic-4b

Note: For Raspberry Pi 4, you need to comment out dtoverlay=vc4-fkms-V3D.

5)Download the 4inch DPI LCD (C) DTBO file and extract 3 dtbo files. Copy these three files to the overlays directory (/boot/overlays/), as shown in the following figure:


6) Save and quit the TF card safely, and insert the TF card into the Raspberry Pi.

7) Insert the 4inch DPI LCD (C) into the 40PIN GPIO interface of the Raspberry Pi, power on the Raspberry Pi, and wait for about ten seconds to display normally.

Rotation(Working with Raspberry Pi)

Display Rotating

Add this statement in the config.txt file (the config file is located in the root directory of the TF card, which is named /boot):

display_rotate=1 #1:90;2: 180; 3: 270

And then restart the Raspberry Pi after saving.

sudo reboot

Touch Rotating

After the display is rotated, the position of touch is incorrect because the touch doesn’t change with the display angle. So the touch also needs to be modified.

1.Install libinput.

sudo apt-get install xserver-xorg-input-libinput

If the system you installed is Ubuntu or Jetson Nano. The installation code is:

sudo apt install xserver-xorg-input-synaptics

2.Create the xorg.conf.d directory under /etc/X11/ (if the directory already exists, proceed directly to step 3).

sudo mkdir /etc/X11/xorg.conf.d

3.Copy the 40-libinput-conf file to the directory you created just now.

sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/

4.Edit this file.

sudo nano /etc/X11/xorg.conf.d/40-libinput.conf

Find the part of the touchscreen, add the following statement inside, and then save the file.

Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1"

Similar to the picture below:


5. save and reboot your Pi

sudo reboot

After completing these steps. The LCD could rotate 90 degrees both display and touch function.

Note:

90 degree: Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1"

180 degree: Option "CalibrationMatrix" "-1 0 1 0 -1 1 0 0 1"

270 degree: Option "CalibrationMatrix" "0 -1 1 1 0 0 0 0 1"


Others

Disable power saving.

If you want to keep the display turning on all the time, you can disable the power saving function.
Modify file lightdm.conf

sudo nano /etc/lightdm/lightdm.conf

Find the [SeatDefaults] option and uncomment the line"xserver-command", modify it as below:

#xserver-command=X

Modify this code to

xserver-command=X -s 0 -dpms
  • -s # –Disable the display protecting.
  • dpms Disable power saving.

Reboot

sudo reboot

Turn on/off HDMI output

You can use the following commands to disable/enable the displaying.

vcgencmd display_power 0
vcgencmd display_power 1

Adjust brightness by PWM

Update wiringPi if you use Pi4.

wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
# It should be 2.52 version

Change the brightness by the following command

gpio -g mode 18 pwm      #Set the pin for PWM
gpio pwmc 100   
gpio -g pwm 18 0         #Bightest
gpio -g pwm 18 1023      #Dimest
gpio -g mode 18 out      #Clean the GPIO

Interface

The pins labeled "NC" below means that those pins of Raspberry Pi are not occupied by the LCD, and the user can use them for other applications.

PIN NO.SYMBOLDESCRIPTION
1NCPower positive (3.3V power input)
25VPower positive (5V power input)
3VSYNCVertical sync
45VPower positive (5V power input)
5HSYNCHorizontal sync
6GNDGround
7B0RGB signal cable
8G2RGB signal cable
9GNDGround
10G3RGB signal cable
11G5RGB signal cable
12AUDIOAudio output
13TP_INTTouch Panel interrupt
14GNDGround
15R2RGB signal cable
16R3RGB signal cable
17NCPower positive (3.3V power input)
18R4RGB signal cable
19TP_SDAI2C SDA for touch panel
20GNDGround
21B5RGB signal cable
22R5RGB signal cable
23TP_SCLI2C SCL for touch panel
24B4RGB signal cable
25GNDGround
26B3RGB signal cable
27LCD_CLKLCD clock
28DELCD data enable
29B1RGB signal cable
30GNDGround
31B2RGB signal cable
32G0RGB signal cable
33G1RGB signal cable
34GNDGround
35NCGPIO interface
36G4RGB signal cable
37NCGPIO interface
38R0RGB signal cable
39GNDGround
40R1RGB signal cable