4inch DSI LCD (C)
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.
Video Tutorial
Interface Definition
| PIN | Label |
|---|---|
| 1 | GND |
| 2 | DSI1_DN1 |
| 3 | DSI1_DP1 |
| 4 | GND |
| 5 | DSI1_CN |
| 6 | DSI1_CP |
| 7 | GND |
| 8 | DSI1_DN0 |
| 9 | DSI1_DP0 |
| 10 | GND |
| 11 | SCL0 |
| 12 | SDA0 |
| 13 | GND |
| 14 | 3V3 |
| 15 | 3V3 |
Hardware Connection
Working with Pi4B/3B+/3B/3A+
- Connect the DSI interface of the display to the DSI interface of the Raspberry Pi board with a 15PIN FPC cable.
- 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.
Working with Pi5/CM4/CM3+/CM3
- 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.
- 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.
Software Settings
⚠️ Confirm the Model before Configuration
Incorrect configuration may cause issues such as the screen not lighting up, black screen, or backlight on but no image. Please be sure to confirm your specific product model before configuration.
- Applicable model: 4inch DSI LCD (C)
- Not applicable to: 4-DSI-TOUCH-C or other 4inch DSI models
Working with Trixie and Bookworm
Method 1: Use Raspberry Pi Imager to Flash Latest Official Image
- 1. Connect the TF card to the PC, download and use Raspberry Pi Imager to flash the corresponding system image.
- 2. After the image flashing is completed, open the config.txt file in the root directory of the TF card, add the following code to the end of the config.txt file, save and safely eject the TF card.
Note: Since Pi5/CM4/CM3+/CM3 has two mipi DSI interfaces, please note that the correct DSI interfaces and commands are used, DSI1 is recommended by default.
dtoverlay=vc4-kms-v3d #DSI1 Use dtoverlay=vc4-kms-dsi-waveshare-panel,4_0_inchC #DSI0 Use #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 wait for a few seconds normally to enter the display. After the system starts, the touch function can be used normally.
Method 2: Use the Pre-installed Image
1. Select the corresponding Raspberry Pi version image, download and unzip it as .img file.
Raspberry 3/4B/CM4/5 version download: Waveshare DSI LCD - Pi3/4B/CM4/5 pre-installed image
2. Connect the TF card to the PC, format the TF card with SDFormatter.
3. Open Win32DiskImager, select the prepared system image, and click "Write" to start flashing.
4. After the flashing is completed, open the config.txt file in the root directory of the TF card, find the line "[all]", according to your display model, uncomment the relevant lines to enable the DSI display, and then save and safely eject the TF card.
Note: For Pi5/CM4/CM3+/CM3, since there are two MIPI DSI display interfaces, please make sure to use the correct display interface and commands, the DSI1 display interface is recommended by default.
Let's take the 8.8inch DSI LCD as an example:
Use DSI1 interface:
#8.8inch DSI LCD dtoverlay=vc4-kms-dsi-waveshare-panel,8_8_inch
Use DSI0 interface:
#8.8inch DSI LCD dtoverlay=vc4-kms-dsi-waveshare-panel,8_8_inch,dsi0
5. Insert the TF card into the Raspberry Pi, power on and start, wait for a few seconds to enter the system display, and the touch function can also work normally.
For Bullseye and Buster Systems
Method 1: Install Driver Manually
1. Download the latest version of the image from the Raspberry Pi official website, download the compressed file to your PC, and extract it as .img file.
2. Connect the TF card to the PC, format the TF card with SDFormatter software.
3. Open the Win32DiskImager software, select the system image prepared in step 1, and click Write to flash the system image.
4. After the flashing 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 the HDMI display or use ssh to log in remotely).
#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 -a on the terminal to view the kernel version, and cd it to the corresponding file directory #If the kernel version is 6.1.21, run the following command: cd 6.1.21
#Step 3: Please determine the bits of the current system you are using. For a 32-bit system, proceed to the 32 directory, and for a 64-bit system, proceed to the 64 directory cd 32 #cd 64
#Step 4: Enter your corresponding model command to install the driver, pay attention to the selection of the I2C dip switches #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 displayed, restart and load the DSI driver to use it normally sudo reboot #Note: The steps above require that the Raspberry Pi can connect to the Internet normally
5. Wait for the system to restart, and it will be able to display and touch normally.
Method 2: Flash Pre-installed Image
1. Select your corresponding Raspberry Pi version image, download and unzip it as .img file.
Raspberry Pi 4B/CM4 version download: Waveshare DSI LCD - Pi4 pre-installed image
Raspberry 3B/3B+/CM3 Version Download: Waveshare DSI LCD - Pi3 pre-installed image
2. Connect the TF card to the PC, format the TF card with SDFormatter software.
3. Open the Win32DiskImager software, select the system image prepared in step 1, and click Write to flash the system image.
4. After the flashing is completed, open the config.txt file in the root directory of the TF card, add the following code under [all], save and safely eject the TF card.
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, start the Raspberry Pi, and wait for about 30 seconds before it can be displayed and the touch function can be used normally.
Bullseye and Buster System Notes
1. Update the system to execute the following commands
sudo apt-get update sudo apt-get full-upgrade
After updating the system, some files of the originally installed driver may be overwritten, and you need to reinstall the driver to display it normally.
2. Replace the motherboard
If the driver originally installed on the Raspberry Pi 4 Model B, if the user changes the motherboard, such as changing it to the Raspberry Pi 3 Model B+, the display will not display properly.
Because Pi4 and Pi3 need to load different driver files, you need to reinstall the driver according to Method 1: Install Driver Manually on the new motherboard for it to display normally.
Adjust Backlight Brightness
Graphical Interface Backlight Adjustment
The following steps are based on the Trixie system:
- 1. Click the menu in the upper left corner, then go to "Preferences" → "Control Center", and select "Screens";
- 2. Go to "Screen" -> "DSI-2" -> "Brightness", select and adjust the desired backlight brightness, and finally click "Apply" to save the settings.
You can also use the graphical backlight adjustment tool provided by Waveshare:
wget https://files.waveshare.com/wiki/common/Brightness.zip unzip Brightness.zip cd Brightness sudo chmod +x install.sh ./install.sh
After the installation is completed, you can open the demo in the Start Menu -> Accessories -> Brightness, as shown below:
Adjust Backlight Brightness Using Terminal
echo X | sudo tee /sys/class/backlight/*/brightness
Where X represents any number from 0 to 255. 0 means the darkest backlight, and 255 means the brightest backlight. 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
Trixie/Bookworm Display Rotation
GUI interface rotation
The following steps are based on the Trixie system:
- 1. Click the menu in the upper left corner, then go to "Preferences" -> "Control Center", and select "Screens";
- 2. Go to "Screen" -> "DSI-1" -> "Touchscreen" and check "10-0014 Goodix Capacitive TouchScreen";
- 3. Go to "Screen" -> "DSI-2" -> "Orientation", check the direction you need to rotate, and finally click "Apply" to complete the display and touch synchronous rotation.
- In the Bookworm system, this setting entry is located at "Screen Configuration" -> "Screen".
Bullseye/Buster Display Rotation
- 1. Open the "Screen Configuration" application;
- 2. Go to "Screen" -> "DS-1" -> "Orientation", check the direction you need to rotate, and finally click "Apply" to complete the display rotation.
Bullseye/Buster Touch Rotation
sudo nano /boot/config.txt # The command to modify the touch rotation angle at the end of the config.txt file will take effect after restarting (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 Display Rotation
sudo nano /boot/cmdline.txt #Add a command to display the rotation angle at the beginning of the cmdline.txt file, and save it to take effect after restarting #Display rotation 90 degrees video=DSI-1:720x720e,rotate=90 #Display rotation 180 degrees video=DSI-1:720x720e,rotate=180 #Display rotation 270 degrees video=DSI-1:720x720e,rotate=270
Set Screen Off and On
Run the following command on the Raspberry Pi terminal and the screen will be turned off:
wlr-randr --output DSI-2 --off # DSI-2 needs to be modified to the actual display in use, e.g. "DSI-1" or "HDMI-A-1"
Run the following command on the Raspberry Pi terminal and the screen will be turned on:
wlr-randr --output DSI-2 --on # DSI-2 needs to be modified to the actual display in use, e.g. "DSI-1" or "HDMI-A-1"
Note: This command is only applicable to the Labwc and Wayfire graphical interfaces and not to the X11 graphical interface.
Screen Sleep
Run the following command on the Raspberry Pi terminal and the screen will enter sleep mode:
xset dpms force off
Note: This command is only applicable to the X11 graphical interface and not to the Labwc and Wayfire graphical interfaces.
Disable Touch
At the end of the config.txt file, add the following command corresponding to disabling touch (the config file is located in the root directory of the TF card, which can also be accessed via the command: sudo nano /boot/config.txt):
disable_touchscreen=1
Note: After adding a command, it needs to be restarted to take effect.
FAQ
{{{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)






