4.3inch DSI LCD

From Waveshare Wiki
Jump to: navigation, search
4.3inch DSI LCD
4.3inch-DSI-LCD-0.jpg

Capacitive Touch Screen LCD for RPi, DSI Interface
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

{{{name6}}}

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:
600px-DSC 0326.jpg

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:

4.3inch-DSI-LCD-2.jpg

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.

800x480-DSI-LCD-0.png

  • 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";

8inch dsi lcd -1.png

  • 2. Go to "Screen" -> "DSI-2" -> "Brightness", select and adjust the desired backlight brightness, and finally click "Apply" to save the settings.

8inch dsi lcd -2.png

In the Bookworm system, this setting entry is located at "Screen Configuration" → "Screen".

Use Waveshare Backlight Adjustment Application

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:

43H-800480-IPS-CT-details-13.gif

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;

800px-8inch dsi lcd -5.png

  • 2. Go to Screen -> DSI-1 -> Touchscreen and check "10-0014 Goodix Capacitive TouchScreen";

800px-8inch dsi lcd -6.png

  • 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.

800px-8inch dsi lcd -7.png

  • In the Bookworm system, this setting entry is located at Screen Configuration -> Screen.
Note: Only Trixie/Bookworm systems support the above synchronous rotation methods. For Bullseye/Buster systems, after displaying rotation, touch rotation needs to be manually set separately.

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;

DSI-LCD-Bullseye-Rotate-02.png

  • 2. Go to "Screen" -> "DSI-1" -> "Orientation", check the direction you need to rotate, and finally click "Apply" to complete the display rotation.

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


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:

Touch roate.jpg
5. Reboot Raspberry Pi

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

 Answer:

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


 Answer:

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


 Answer:

It is powered by the Raspberry Pi DSI interface, and the power consumption is about 1.2W.




 Answer:

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.
600px-4.3DSI-brightness-1.png

  • 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:
4.3DSI-brightness-2.png
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.
600px-4.3DSI-brightness-3.png
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:
600px-4.3DSI-brightness-4.png


 Answer:

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.


 Answer:

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.

800px-DSI FAQ 1.png
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):
500px-DSI FAQ 2.png
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.

800x480-DSI-LCD-0.png

  • 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


 Answer:

If you encounter this phenomenon as shown in the figure below, you can try it by following the steps below:
4.3inch DSI LCD flickering.png
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)