4.3inch DSI LCD
| ||
Features
- 4.3inch IPS screen, 800 x 480 hardware resolution
- Capacitive touch panel, supports 5-point touch control
- Toughened glass capacitive touch panel, hardness up to 6H
- Supports Pi5/CM5/4B/CM4/3B+/3A+/3B/CM3/CM3+/2B/B+/A+
- Directly drive the LCD by the DSI interface on the Raspberry Pi, with up to 60Hz refreshing rate
- When working with Raspberry Pi, supports Raspberry Pi OS / Ubuntu / Kali / Volumio and Retropie, driver-free.
- When working with VisionFive 2, supports Debian, single-point touch control, and driver-free.
- When working with Tinker Board 2, support Linux/Android, five-point touch control, and driver-free.
- When working with Core3566, support Debian/Ubuntu, five-point touch control, and driver-free.
- Supports software control of backlight brightness
Pin Definition
| PIN | Mark |
|---|---|
| 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 Pi 5/CM5/CM4/CM3+/CM3
- Use a DSI-Cable-12cm cable to connect the 4.3inch DSI LCD to the 22PIN DSI1 interface on the Raspberry Pi board.
- For easy installation, the Raspberry Pi 5 can be attached to the back of a 4.3inch DSI LCD.
When assembling, please place the short copper pillars from the accessory pack between the screen and the motherboard, then secure them with screws as shown in the figure:
Working with Pi 4B/3B+/3A+/3B/2B/B+/A+
- Use an FFC cable to connect the 4.3inch DSI LCD to the 15PIN DSI interface on the Raspberry Pi board.
- For convenience, you can fix the Raspberry Pi on the backside of the 4.3inch DSI LCD with screws and assemble the copper columns.
When assembling, please place the short copper pillars from the accessory pack between the screen and the motherboard, then secure them with screws as shown in the figure:
Software Settings
Working with Trixie and Bookworm
For Raspberry Pi OS/Ubuntu/Kali/Volumio and Retropie systems.
- 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 at the end of the config.txt, save and safely eject the TF card.
dtoverlay=vc4-kms-v3d #DSI1 Use dtoverlay=vc4-kms-dsi-7inch #DSI0 Use #dtoverlay=vc4-kms-dsi-7inch,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.
#Update the system sudo apt-get update sudo apt-get full-upgrade -y #Reboot the system sudo reboot
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
Display Rotation
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.
lite version display rotation
- 1. Need to modify the /boot/cmdline.txt file:
sudo nano /boot/cmdline.txt
- 2. At the beginning of the cmdline.txt file, add the command for displaying the rotation angle: (Please note, this command needs to be on the same line, with each command separated by a space.)
video=DSI-1:800x480M@60,rotate=90
Change the display rotation angle by modifying the rotate value to 90, 180, or 270.
- 3. Save and restart
sudo reboot
Bullseye/Buster Display Rotation
GUI interface rotation
- 1. Open the "Screen Configuration" application;
- 2. Go to "Screen" -> "DSI-1" -> "Orientation", check the direction you need to rotate, and finally click "Apply" to complete the display rotation.
lite version display rotation
- 1. Need to modify the /boot/cmdline.txt file:
sudo nano /boot/cmdline.txt
- 2. At the beginning of the cmdline.txt file, add the command for displaying the rotation angle: (Please note, this command needs to be on the same line, with each command separated by a space.)
video=DSI-1:800x480M@60,rotate=90
Change the display rotation angle by modifying the rotate value to 90, 180, or 270.
- 3. Save and restart
sudo reboot
Stretch/Jessie Display Rotation
For some older systems, they do not use the vc4-kms-v3d or vc4-fkms-v3d driver modes, and the display rotation method is as follows:
- 1. Add a statement to the config.txt file (the config file is located in the root directory of the TF card, i.e., in the /boot folder):
display_rotate=1 #1: 90; 2: 180; 3: 270
- 2. Save the changes and then reboot the Raspberry Pi
sudo reboot
Touch Rotation
Bookworm Touch
If you use the graphical interface for rotation, you can tick "Touchscreen" in the screen layout editor window to synchronize the touch rotation. Please refer to the previous introduction for how to rotate the screen. For the command line rotation method, please refer to the following text:
1. Create a new file named 99-waveshare-touch.rules
sudo nano /etc/udev/rules.d/99-waveshare-touch.rules
2. Add the following lines as needed:
#90°:
ENV{ID_INPUT_TOUCHSCREEN}=="1", ENV{LIBINPUT_CALIBRATION_MATRIX}="0 -1 1 1 0 0"
#180°:
#ENV{ID_INPUT_TOUCHSCREEN}=="1", ENV{LIBINPUT_CALIBRATION_MATRIX}="-1 0 1 0 -1 1"
#270°:
#ENV{ID_INPUT_TOUCHSCREEN}=="1", ENV{LIBINPUT_CALIBRATION_MATRIX}="0 1 0 -1 0 1"
3. Save and reboot
sudo reboot
Bullseye/Buster Touch
After some systems display rotation, the touch direction is inconsistent, and you need to perform the following operations to perform touch rotation:
1. Install libinput
sudo apt-get install xserver-xorg-input-libinput
- If you have Ubuntu or Jetson Nano installed. 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 touchscreen section, add the corresponding rotation angle command in it, and save it #"90° Right touch rotation: Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1" #180° Inverted touch rotation: #Option "CalibrationMatrix" "-1 0 1 0 -1 1 0 0 1" #270° Left touch rotation: #Option "CalibrationMatrix" "0 -1 1 1 0 0 0 0 1" Similar to the position in the following image:
sudo reboot
After completing the above steps, touch will cause a rotation.
Resources
Related Resources
Software
Project Resources
This section features third - party project resources. We merely provide links and bear no responsibility for content updates or maintenance. Thank you for your understanding.
Inkbox - Making A Bare Metal Portable Game Console
FAQ
1. Enter the following command in the Raspberry Pi terminal:
sudo nano /boot/firmware/config.txt
2. Find the following line and comment it out:
#display_atuo_detect=1
3. Add the following two lines after "all" at the bottom:
dtoverlay=vc4-kms-v3d dtoverlay=vc4-kms-dsi-waveshare-800x480
In Wayland environments (such as Raspberry Pi OS Trixie or Bookworm), you can control the display power state using the wlr-randr command.
#Turn off the screen wlr-randr --output DSI-2 --off #Turn on the screen wlr-randr --output DSI-2 --on
It is powered by the Raspberry Pi DSI interface, and the power consumption is about 1.2W.
370cd/m²
14.05mm
The default state allows software adjustment, it is recommended to check Adjusting Backlight Brightness, and you can also use the following method for PWM control of the backlight:
Rev2.1 version:
As shown in the figure, first remove the original soldered resistor, then connect the resistor's pad (left pad) to the Raspberry Pi's P1 pin. This allows the GPIO to control the backlight.
- gpio -g pwm 18 0
- gpio -g mode 18 pwm (The occupied pin is the PWM pin)
- gpio pwmc 1000
- Control brightness:
- gpio -g pwm 18 X (X value is between 0~1024, 0 is the darkest, 1024 is the brightest)
PS: The default factory minimum brightness is visible, if you need to completely turn off the backlight to achieve a black screen effect, you can manually change the 100K resistor in the following figure to a 68K resistor:

Rev2.2 version:
As shown in the figure, first remove the original soldered resistor, then connect the resistor's pad (left pad) to the Raspberry Pi's P1 pin. This allows the GPIO to control the backlight.

PS: The default factory minimum brightness is visible, if you need to completely turn off the backlight to achieve a black screen effect, you can manually change the 100K resistor in the following figure to a 68K resistor:

Depending on the system, if the system is in sleep mode, the screen will also turn off. If it's the official system of Raspberry Pi, it's in sleep mode by default after about ten minutes of inactivity.
I. The hardware connection of DSI LCD and Pi5 is as follows:
1. You need to use Pi5-specific DSI Cable (Raspberry Pi official cable or Pi5-Display-Cable-200mm from Waveshare), pay attention to the gold finger orientation.
2. Prioritize the use of the DSI1 interface of the Pi5
If you use DSI0 interface, you need to add dtoverlay=vc4-kms-dsi-7inch,dsi0 in config.txt file.

II. Check DSI LCD version number
1. The latest DSI LCD version compatible with Pi5 is Rev2.2, which can be used directly;
2. If you have a previously purchased product such as Rev2.1 version (or older), due to the Pi5's power detection mechanism, it recognizes the capacitance on the DSI LCD as a false shorted condition and thus does not start the system. For this case, you can manually remove the large capacitors in the following four locations (as shown in the red circle below):

III. Software settings:
Bookworm system for Raspberry Pi. (Note that Pi5 currently only supports Bookworm, not Bullseye or Buster.)
- 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 at the end of the config.txt, save and safely eject the TF card.
dtoverlay=vc4-kms-v3d #DSI1 Use dtoverlay=vc4-kms-dsi-7inch #DSI0 Use #dtoverlay=vc4-kms-dsi-7inch,dsi0
- 3. 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).
#Update the system sudo apt-get update sudo apt-get full-upgrade -y #Reboot the system sudo reboot
- 4. Wait for the system to reboot, it will be able to display and touch normally.
Note: If you use the DSI0 interface, you need to use the command dtoverlay=vc4-kms-dsi-7inch,dsi0
If you encounter this phenomenon as shown in the figure below, you can try it by following the steps below:
1. Run the following command:
sudo rpi-update pulls/6417
2. Call the config file instead:
dtoverlay=vc4-kms-dsi-waveshare-800x480
You can also refer to the update of this page to see if this solves the problem: https://github.com/raspberrypi/linux/issues/6414
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)








