4inch DSI LCD (C)

From Waveshare Wiki
Jump to: navigation, search

Features

  • 4-inch DSI screen, 10-point capacitive touch control.
  • IPS display panel, 720 x 720 hardware resolution.
  • Adopts optical bonding technology, clearer image.
  • Toughened glass panel, support up to 6H hardness.
  • Support Pi5/4B/CM4/3B+/3A+/3B/CM3+/CM3.
  • Drive the LCD directly via the DSI interface of the Raspberry Pi, up to 60Hz refresh rate.
  • When working with Raspberry Pi, it supports Bookworm/Bullseye/Buster.
  • Supports software control of backlight brightness.

Hardware Connection

Working with Pi4B/3B+/3B/3A+

  1. Connect the DSI interface of the display to the DSI interface of the Raspberry Pi board with a 15PIN FPC cable.
  2. Mount the Raspberry Pi board backside down to the carrier board of the LCD, and connect to the 5V power and I2C communication via the 4PIN connector.
The final connection is shown below:
3.4inch DSI LCD (C)01.png

Working with Pi5/CM4/CM3+/CM3

  1. Use the "DSI-Cable-12cm" cable to connect the display screen's DSI interface to the 22-pin DSI1 interface on the Raspberry Pi board.
  2. Mount the Raspberry Pi with its back facing downward onto the bottom board of the display screen and establish 5V power supply and I2C communication by connecting through the 4-pin header.
The final connection is shown below:
3.4inch DSI LCD (C) pi5.jpg

Software Setting

For Bookworm System

  • 1. Insert the TF card into the PC, download it, and use Raspberry Pi Imager to program the corresponding image.

Pan-Tilt Camera WRITEIMAGE01.png

  • 2. After programming the image, open the "config.txt" file located in the root directory of the TF card. Add the following code at the end of config.txt, save the file, and safely eject the TF card.
dtoverlay=vc4-kms-dsi-waveshare-panel,4_0_inchC
dtoverlay=vc4-kms-dsi-waveshare-panel,4_0_inchC,dsi0
  • 3. Insert the TF card into the Raspberry Pi, power on the Raspberry Pi, and log in. (You can connect the Raspberry Pi to an HDMI monitor or log in remotely with ssh.)
#Update the system
sudo apt-get update
sudo apt-get full-upgrade -y
#Reboot it
sudo reboot
  • 4. Wait for the system to reboot and will be able to display and touch normally.

For Bullseye & Buster System

Method 1: Install Manually

  1. Download the image of the newest version Raspberry Pi, download the compressed file to the PC and extract the .img file.
  2. Connect TF card to PC, use SDFormatter to format TF card.
  3. Open Win32DiskImager software, select the system image prepared in step 1 and click write to burn the system image.
  4. After the programming is completed, connect the TF card to the Raspberry Pi, start the Raspberry Pi, and log in to the terminal of the Raspberry Pi (you can connect the Raspberry Pi to an HDMI display or log in remotely with ssh).
#Step 1: Download and enter the Waveshare-DSI-LCD driver folder
git clone https://github.com/waveshare/Waveshare-DSI-LCD
cd Waveshare-DSI-LCD
 
#Step 2: Enter uname --all in the terminal to view the kernel version and cd to the corresponding file directory
#6.1.21 then run the following command
cd 6.1.21
 
#Step 3: Please check the bits of your system, enter the 32 directory for 32-bit systems, and enter the 64 directory for 64-bit systems
cd 32
#cd 64
 
#Step 4: Enter your corresponding model command to install the driver, pay attention to the selection of the I2C DIP switch
#4inch DSI LCD (C) 720×720 driver:
sudo bash ./WS_xinchDSI_MAIN.sh 40C I2C0
 
#Step 5: Wait for a few seconds, when the driver installation is complete and no error is prompted, restart and load the DSI driver and it can be used normally
sudo reboot

Note: The above steps need to ensure that the Raspberry Pi can be connected to the Internet normally.
5. Wait for the system to restart, it will be able to display and touch normally.

Method 2: Program Pre-installed Image

1. Select your corresponding Raspberry Pi version image, download it, and decompress it as a ".img" file.
For Raspberry Pi 4B/CM4 version, download: Waveshare DSI LCD - Pi4 pre-install image.
For Raspberry Pi 3B/3B+/CM3 version, download: Waveshare DSI LCD - Pi3 pre-install image.
2. Connect the TF card to the PC and use SDFormatter to format the TF card.
3. Open Win32DiskImager software, choose the system image prepared in the first step, and then click "write" to write the system image.
4. After the programming is finished, open the config.txt file in the root directory of the TF card, add the following code under [all], save and eject the TF card safely.

dtoverlay=WS_xinchDSI_Screen,SCREEN_type=10,I2C_bus=10
dtoverlay=WS_xinchDSI_Touch,I2C_bus=10

5. Connect the TF card to the Raspberry Pi, and start the Raspberry Pi, wait for about 30 seconds to display and touch normally.

Buster System Notices

1. Update the system and run the following commands:

sudo apt-get update
sudo apt-get full-upgrade

Note: After updating the system, some diver files installed before may be covered, and you need to install the driver again so that it can display normally.
2. Replace the main board.
If the driver installed was for the Raspberry Pi 4 Model B and the user decides to change the mainboard, for example, to the Raspberry Pi 3 Model B+, it may result in the display screen not showing properly.
This is because the Pi 4 and Pi 3 require loading different driver files. To ensure proper display functionality on the new mainboard, the user needs to reinstall the drivers according to the instructions #For Bullseye & Buster System.

Backlight Control

WaveShare provides the corresponding demo for the application (only supports Bookworm and Bullseye systems). Users can install it by the following commands:

wget https://files.waveshare.com/upload/f/f4/Brightness.zip
unzip Brightness.zip
cd Brightness
sudo chmod +x install.sh
./install.sh

After installation, you can open it: Menu -》Accessories -》Brightness:

43H-800480-IPS07.GIF

In addition, you can also input the following commands to control the backlight brightness in the terminal:

echo X | sudo tee /sys/class/backlight/*/brightness

X indicates any number from 0 to 255. 0 means the backlight is the darkest, and 255 means the backlight is the brightest. For example:

echo 100 | sudo tee /sys/class/backlight/*/brightness
echo 0 | sudo tee /sys/class/backlight/*/brightness
echo 255 | sudo tee /sys/class/backlight/*/brightness

Bookworm Touchscreen Rotation

  • 1. Open "Screen Configuration" application.

DSI-LCD-Bookworm-Rotate-01.png

  • 2. Enter "Screen" -> "DS-1" -> "Touchscreen", and select "10-0014 Goodix Capacitive TouchScreen".

DSI-LCD-Bookworm-Rotatere02.png

  • 3. Click "Apply", and then close the current window. Reboot according to the pop-up prompts to complete the specified touchscreen.

DSI-LCD-Bookworm-Rotate-03.png
DSI-LCD-Bookworm-Rotate-05.png

  • 4. Enter "Screen" -> "DS-1" -> "Orientation", and select the rotation direction. Then click on "Apply".

DSI-LCD-Bookworm-Rotate-04.png
Note: Only the Bookworm system supports the above-synchronized rotation method, for Bullseye and Butser systems, after displaying the rotation, you need to set the touch rotation additionally.

Bullseye/Buster Display Rotation

  • 1. Open "Screen Configuration" application:

DSI-LCD-Bullseye-Rotate-02.png

  • 2. Enter "Screen"->"DS-1"->"Orientation", select the rotation direction, and then click on "Apply".

DSI-LCD-Bullseye-Rotate-03.pngDSI-LCD-Bullseye-Rotate-04.png

Bullseye/Buster Touch Rotation

sudo nano /boot/config.txt
#Change the command for the touch rotation angle at the end of the config.txt file, reboot it to take effect (the command for 0° touch direction exists by default) 
#0°:
dtoverlay=WS_xinchDSI_Touch,invertedx,swappedxy
#90°:
dtoverlay=WS_xinchDSI_Touch,invertedx,invertedy
#180°:
dtoverlay=WS_xinchDSI_Touch,invertedy,swappedxy
#270°:
dtoverlay=WS_xinchDSI_Touch

lite Version Rotation

sudo nano /boot/cmdline.txt
#Add the command to display the rotation angle at the beginning of the cmdline.txt file, save and reboot to take effect
#Display rotates 90°
video=DSI-1:720x720M@60,rotate=90
#Display rotates 180°
video=DSI-1:720x720M@60,rotate=180
#Display rotates 270°
video=DSI-1:720x720M@60,rotate=270

Sleep Mode

Run the following commands on the Raspberry Pi, and the screen can enter the sleep mode:

xset dpms force off

Disable Touching

At the end of the config.txt file, add the following commands corresponding to disabling touch (the config file is located in the root directory of the TF card, and can also be accessed through the command: sudo nano /boot/config.txt):

disable_touchscreen=1

Note: After adding the command, it needs to be restarted to take effect.

FAQ

 Answer:
Replace the custom image with one from this directory: /usr/share/plymouth/themes/pix/splash.png

{{{5}}}


Resource

3D Drawing

Support



Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)