7inch DSI LCD (with cam)

From Waveshare Wiki
Jump to: navigation, search
7inch DSI LCD (with cam)
7inch-DSI-LCD-with-cam-1.jpg

7inch capacitive Touch Screen LCD for Raspberry Pi, DSI Interface with 5MP camera
7inch DSI LCD (with cam and case)
7inch-DSI-LCD-with-cam-and-case-1.jpg

7inch capacitive Touch Screen LCD for Raspberry Pi, DSI Interface, with 5MP camera and protection case
{{{name3}}}

{{{name4}}}

{{{name5}}}

{{{name6}}}

Features

  • 7inch capacitive touch display screen, 800 x 480 hardware resolution.
  • Capacitive touch panel, support 5-point touch.
  • Toughened glass capacitive touch panel, hardness up to 6H.
  • OV5647 camera, 5 mega-pixel, 72.9° FOV, and the resolution is 2592×1944.
  • Supports Pi5/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.
  • Drive the camera directly through the Raspberry Pi's CSI interface, support video frame rate 1920×1080p@30, 1280×720p@60, 640×480p@60, 640×480p@90.
  • When working with Raspberry Pi, support Raspberry Pi OS / Ubuntu / Kali and Retropie, driver-free.
  • Support backlight brightness adjustable through software control.

Hardware Connection

Working with Pi 4B/3B+/3A+/3B/2B/B+/A+

1) Connect the DSI interface of the 7-inch DSI LCD to the DSI interface of Raspberry Pi through the 15PIN FPC cable.
2) Connect the CSI interface of the display to the CSI interface of the Raspberry Pi board through the 15PIN FFC cable.
3) Use the 2PIN power cable to connect the power interface of the LCD to the 40PIN GPIO interface of the Raspberry Pi, as below:

7inch-DSI-LCD-With-Cam-Manual01.jpg

4) For convenience, you can fix the Raspberry Pi on the backside of the 7-inch DSI LCD with screws.
The installation effect is shown in the following figure:

7inch-DSI-LCD-With-Cam-Manual02.jpg

Working with Pi 5/CM4/CM3+/CM3

1. Connect the DSI interface of the display to the 22PIN DSI1 interface of the Raspberry Pi with a DSI-Cable-12cm.
2. Connect the CSI interface of the display to the 22PIN CSI0 interface of the Raspberry Pi with a Pi5-Camera-Cable.
3. Connect the power port of the LCD to the 40PIN GPIO headers of the Raspberry Pi with a 2PIN power cable.
4. For convenience, you can fix the Raspberry Pi 5 on the back of the 7inch DSI LCD with screws and assemble the copper column, as shown below:
7inch DSI LCD Pi5.png

Software Setting

Raspberry Pi OS Imager Insallation

For Raspberry Pi OS/Ubuntu/Kali and Retropie system:

  • 1. Connect the TF card to the PC, download and use Raspberry Pi Imager to program the corresponding system imager.
Pan-Tilt Camera WRITEIMAGE01.png
  • 2. After installing the imager, open the "config.txt" file on the TF card root directory, add the following codes at the end of "config.txt", and then save and safely remove the TF card.
Note: as there are two MIPI DSI interfaces on the Pi5/CM4/CM3+/CM3, please pay attention to using the correct DSI interface and commands, and the DSI1 interface is recommended. 
sudo apt-get update
sudo apt-get full-upgrade -y
dtoverlay=vc4-kms-v3d
dtoverlay=ov5647
#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 it up, and wait for a few seconds for the display. Once the system boots up, you should be able to interact with it normally, including touchscreen functionality.

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 "Screens" -> "DSI-1"->"Orientation", and select the rotation direction. Then click on "Apply" to complete the synchronous rotation of display and touch.

DSI-LCD-Bookworm-Rotate-04.png
Note: Only the Bookworm system supports the above-synchronized rotation method, for Bullseye and Butser systems, after the display rotates, 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 "Screens"->"DSI-1"->"Orientation", select the rotation direction, and then click on "Apply" to complete the display rotation.

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

Stretch/Jessie Display Rotation

For some older systems, vc4-kms-v3d or vc4-fkms-v3d driving mode is not available. The supported display rotation methods as shown below:

  • 1. Add the following sentence in config.txt file (located in the root directory ("/boot") of the TF card):
display_rotate=1 #1:90;2: 180; 3: 270
  • 2. Save and reboot the Raspberry Pi:
sudo reboot

lite Version Display Rotation

sudo nano /boot/cmdline.txt
#For the latest system: sudo nano /boot/firmware/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:800x480M@60,rotate=90
#Display rotates 180°
video=DSI-1:800x480M@60,rotate=180
#Display rotates 270°
video=DSI-1:800x480M@60,rotate=270

Touch Rotation

For some systems, as the touch direction is different after display rotation, you need to rotate the touch as shown below:
1. Install libinput

sudo apt-get install xserver-xorg-input-libinput
  • If the system you want to install is Ubuntu or Jetson Nano, the installation command is:
sudo apt install xserver-xorg-input-synaptics

2. Create xorg.conf.d directory in /etc/X11/. (If the directory exists, you can directly skip to Step 3.)

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

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

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

4. Edit the file.

sudo nano /etc/X11/xorg.conf.d/40-libinput.conf 
#Find touchscreen part, add the corresponding rotation angle commands and save
#90°Right 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 Rotation:
#Option "CalibrationMatrix" "0 -1 1 1 0 0 0 0 1"

As shown below:
Touch roate.jpg
5. Reboot the Raspberry Pi.

sudo reboot

After finishing the above steps, the touch can be rotated.

Sleep

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

xset dpms force off

Disable Touching

If you want to disable the touch function, you can modify the config.txt file (located in the root directory of the TF card and can also be accessed by the command: sudo nano /boot/config.txt), add the following line to the file, and reboot.

disable_touchscreen=1

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

Using Camera

If you don't know the difference between the two branches of Raspberry Pi OS, you can check the following introduction to the Raspberry Pi OS fork.

Raspberry Pi OS Bookworm and Bullseye Fork

In this branch, the libcamera camera subsystem interface is used by default. And the camera interface is on by default. To test the camera, you can use the following commands:

#libcamera-hello A simple "hello world" application that starts a camera preview function and displays it on the screen.

libcamera-hello //will display a preview window for about 5 seconds.
libcamera-hello -t 0 //run the preview indefinitely, you can use Ctrl-C in the terminal to exit.

#libcamera-jpeg is a simple still image capture application for running the preview window and then capturing high resolution still images
libcamera-jpeg -o test.jpg // display a preview for about 5 seconds, and then capture a full resolution JPEG image and save it to the file test.jpg

#libcamera-still is a more sophisticated still image capture application, mainly to simulate raspistill
libcamera-still -o test.jpg //display a preview for about 5 seconds, and then capture a image and save it to the file test.jpg

#libcamera-vid  is the video capture application. By default it uses the Raspberry Pi’s hardware H.264 encoder.
libcamera-vid -t 10000 -o test.h264 //Save a 10 seconds video to test.h264
vlc test.h264 //The resulting file can be played with vlc

#libcamera-raw  is like a video recording application except that it records raw Bayer frames directly from the sensor, without showing a preview window.
libcamera-raw -t 2000 -o test.raw //Save the 2s raw clip to file test.raw

For more information about the libcamera, pleaes refer to: libcamera and libcamera-apps

Note: If libcamera cannot work with some of Raspberry Pi boards, please configure as below for a try:

sudo raspi-config -> Advanced Options -> Glamor -> Yes(Enabled) -> Ok -> Finish -> Yes (Reboot)

Raspberry Pi OS buster Fork and Ubuntu

The raspicam camera subsystem interface is used by default on these systems. The camera interface is enabled by default in Ubuntu. In the Raspberry Pi OS buster fork, you need to configure as below to open the camera interface:

sudo raspi-config -> Interface Options -> Camera -> Yes -> OK -> Finish -> Yes (Reboot)

The camera can be controlled with the following commands:

#raspistill is an application that runs a preview window and then acquires a high-resolution still image.
raspistill -o cam.jpg //A preview window is displayed for about 5 seconds, then the image is saved to cam.jpg
raspistill -vf -hf -o cam2.jpg //Flip Vertical and Flip Horizontal

#raspivid is a video shooting application.
raspivid -o vid.h264 //Save the 5 seconds video to test.h264
raspivid -o video.h264 -t 10000 //Record 10 seconds video
raspivid -vf -hf -o video.h264 -t 10000 //Flip Vertical and Flip Horizontal

More detailed information can be found at: Raspicam command

FAQ


 Answer:

Check the system version using "uname --all". If it's kernel version 6.6.20, run "sudo rpi-update pulls/6050" to fix it.
Note: Take care to back up any important data in your image before updating in case there is a regression.

{{{5}}}


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)