Difference between revisions of "3.5inch HDMI LCD"

From Waveshare Wiki
Jump to: navigation, search
m (Text replace - "Service02" to "service00")
Line 88: Line 88:
 
<div class="tabbertab" title="Support">
 
<div class="tabbertab" title="Support">
 
=='''Support'''==
 
=='''Support'''==
{{Service02}}
+
{{service00}}
  
 
[[Category:OLEDs / LCDs|OLEDs / LCDs]] [[Category:LCD|LCD]] [[Category:Raspberry Pi|Raspberry Pi]] [[Category:Raspberry Pi LCD|Raspberry Pi LCD]]
 
[[Category:OLEDs / LCDs|OLEDs / LCDs]] [[Category:LCD|LCD]] [[Category:Raspberry Pi|Raspberry Pi]] [[Category:Raspberry Pi LCD|Raspberry Pi LCD]]

Revision as of 07:49, 17 April 2022

3.5inch HDMI LCD
3.5inch HDMI LCD, 480x320, IPS
3.5inch-HDMI-LCD-1.jpg

480x320, 3.5inch Resistive Touch Screen LCD, HDMI interface, IPS Screen, Designed for Raspberry Pi
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

Introduction

480x320, 3.5inch Resistive Touch Screen LCD, HDMI interface, IPS Screen, Designed for Raspberry Pi

More

Features

  • 480x320 hardware resolution, configurable by software. (up to 1920x1080)
  • Resistive touch control
  • Compatible and Direct-connect with any revision of Raspberry Pi (If you are using a Raspberry Pi Zero / Zero 2 W, an additional HDMI cable is required)
  • Supports Raspberry Pi OS / Ubuntu / Kali and Retropie systems.
  • Also works as a computer monitor, in this case, the touch panel is unavailable and HDMI cable is required
  • When only used for display, does not occupy any I/O resources (using touch function will occupy I/O resources).
  • Multi-languages OSD menu, for power management, brightness/contrast adjustment, etc.
  • Supports HDMI audio output

Video

Getting Started

Hardware Connection

1. Connect the GPIO interface

Raspberry Pi leads out 40 GPIO pins, while the screen leads out 26 pins. When connecting, pay attention to the corresponding pins and Raspberry Pi pins.

2. Connect the HDMI connector to the HDMI port of the screen and the Pi.

3. Turn the Backlight on the back of the LCD to "ON".

Note: Raspberry Pi Zero / Zero 2 W needs an additional HDMI cable for connection.

The hardware connection is as shown below (Pi 4 and Pi 3B+):

3.5inch-HDMI-LCD-Manual-PI4B.jpg
3.5inch-HDMILCD-Manual-PI3B+.jpg

Software Setting

This LCD can support Raspberry Pi OS / Ubuntu / Kali / Retropie systems.

Please download the latest version of the image on the Raspberry Pi official website.

1) Download the compressed file to the PC, and unzip it to get the .img file.

2) Connect the TF card to the PC, use SDFormatter software to format the TF card.

3) Open the Win32DiskImager software, select the system image downloaded in step 1, and click ‘Write’ to write the system image.

4) After the image has finished writing, open the config.txt file in the root directory of the TF card, add the following code at the end of config.txt, then save and quit the TF card safely.

hdmi_group=2
hdmi_mode=87
#Display with 800*480 resolution
hdmi_cvt 800 480 60 6 0 0 0
#Use 480*320 resolution display, you need to add the following 3 lines of code
#hdmi_pixel_freq_limit=20000000
#hdmi_cvt 480 320 60 6 0 0 0
#hdmi_drive=1
dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax= 3900

5) Insert the TF card into the Raspberry Pi, power on the Raspberry Pi, and wait for more than 10 seconds to display normally. But the touch is abnormal at that time, and the touch needs to be calibrated as the following steps.

Note: Raspberry Pi OS Bullseye branch system, since dtoverlay=vc4-kms-v3d is loaded by default, it is invalid to modify the resolution in /boot/config.txt. If you need to modify the resolution, you need to change it to dtoverlay=vc4-fkms -v3d.

Touch calibration

The display can be calibrated via xinput-calibrator.

1. Execute the following command to install the relevant software:

sudo apt-get install xserver-xorg-input-evdev xinput-calibrator

If the execution fails, you can check here#Some possible problems

2. Execute the following commands:

sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf
sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf

Add the following code to 99-calibration.conf:

Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "ADS7846 Touchscreen"
        Option  "Calibration"   "190 3991 243 3895"
        Option  "SwapAxes"      "0"
        Option "EmulateThirdButton" "1"
        Option "EmulateThirdButtonTimeout" "1000"
        Option "EmulateThirdButtonMoveThreshold" "300"
EndSection

3. After reboot, touch will work normally under normal circumstances. But for different resistance screens, the accuracy of using the default calibration parameters may not be very suitable.

You can perform touch calibration by clicking the Raspberry Pi icon on the taskbar, selecting Preferences -> Calibrate Touchscreen, and following the displayed prompts.

4. After calibration, the following data will be displayed. If you want to save these touch values, you can replace the data in the red circle with the data in the corresponding position in 99-calibration.conf. 5inch-HDMI-LCD-Manual-02-01.jpg

Screen orientation settings

Update software version

Raspberry Pi OS Bullseye branch needs to update the software version, and this step can be omitted for other systems.

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

Raspberry Pi OS and Kali display rotation

First check whether the KMS or FKMS driver is loaded on the system you are using.

Check method: In /boot/config.txt, check whether the line dtoverlay=vc4-kms-v3d or dtoverlay=vc4-fkms-v3d is turned on.

With KMS or FKMS driver loaded

Use the following command for display rotation:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
#Enter the command corresponding to the display rotation angle at the end of the autostart file, and it will take effect after rebooting the system.
#0: rotate 0 degrees; 1: rotate 270 degrees; 2: rotate 180 degrees; 3: rotate 90 degrees
xrandr -o 1
No KMS or FKMS driver loaded

Use the following command for display rotation:

sudo nano /boot/config.txt
#Enter the command corresponding to the display rotation angle at the end of the config.txt file, and it will take effect after rebooting the system.
#0: rotate 0 degrees; 1: rotate 90 degrees; 2: rotate 180 degrees; 3: rotate 270 degrees
display_rotate=3

Ubuntu display rotation

First check whether the KMS or FKMS driver is loaded on the system you are using.

Check method: In /boot/firmware/config.txt, check whether the line dtoverlay=vc4-kms-v3d or dtoverlay=vc4-fkms-v3d is turned on.

With KMS or FKMS driver loaded

Use the following methods for display rotation.

Note: For different versions of Ubuntu systems, the interface may be different. Generally, you can find the Displays application and rotate it.

GPIO-HDMI-Manual-01.png

GPIO-HDMI-Manual-02.png

GPIO-HDMI-Manual-03.png

Execute the command to rotate the Ubuntu login interface. If the Ubuntu login interface is not opened, this step can be omitted:

#For 32-bit systems, execute the following command, replace your_user with the currently logged in user name
sudo cp /home/<your_user>/.config/monitors.xml /var/lib/lightdm/.config
#For 64-bit systems, execute the following command, replace your_user with the currently logged in user name
sudo cp /home/<your_user>/.config/monitors.xml /var/lib/gdm3/.config
sudo chown gdm:gdm /var/lib/gdm3/.config/monitors.xml

Execute the following command to rotate the command line display during startup:

sudo nano /boot/firmware/cmdline.txt
#Add the following code at the end to rotate the command line
#rotate 0 degrees
fbcon=rotate:0 video=HDMI-A-1:[email protected],rotate=0
#Rotate 90 degrees
fbcon=rotate:3 video=HDMI-A-1:[email protected],rotate=90
#rotate 180 degrees
fbcon=rotate:2 video=HDMI-A-1:[email protected],rotate=0
#rotate 270 degrees
fbcon=rotate:1 video=HDMI-A-1:[email protected],rotate=270
No KMS or FKMS driver loaded

Rotation is relatively simple, just use the following command to display rotation:

sudo nano /boot/firmware/config.txt
#Enter the command corresponding to the display rotation angle at the end of the config.txt file, and it will take effect after rebooting the system.
#0: rotate 0 degrees; 1: rotate 90 degrees; 2: rotate 180 degrees; 3: rotate 270 degrees
display_rotate=3

Add touch rotation parameter

sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf
#Modify the relevant command line in the 99-calibration.conf file, and it will take effect after rebooting the system. The following are the default calibration parameters. If you need to use specific calibration parameters, please pay attention to the order of the Calibration parameter values.
#touch rotate 0 degrees:
Option "Calibration" "190 3991 243 3895"
Option "SwapAxes" "0"
#touch rotate 90 degrees:
Option "Calibration" "3905 208 288 3910"
Option "SwapAxes" "1"
#touch rotate 180 degrees:
Option "Calibration" "3905 208 3910 288"
Option "SwapAxes" "0"
#touch rotate 270 degrees:
Option "Calibration" "208 3905 3910 288"
Option "SwapAxes" "1"

Interface

The pin marked as "NC" below indicates that the LCD is not occupied by the pin, and the user can use it for other applications.

Pin Number Identification Description
1 3.3V Power (3.3V input)
2 5V Power (5V input)
3 NC NC
4 5V Power (5V input)
5 NC NC
6 GND Ground
7 NC NC
8 NC NC
9 GND Ground
10 NC NC
11 NC NC
12 NC NC
13 NC NC
14 GND Ground
15 NC NC
16 NC NC
17 3.3V Power (3.3V input)
18 NC NC
19 TP_SI SPI data input of touch panel
20 GND Ground
21 TP_SO SPI data output of touch panel
22 TP_IRQ The touch panel is interrupted, and the low level is detected when the touch panel is pressed.
23 TP_SCK SPI clock signal of touch panel
24 NC NC
25 GND Ground
26 TP_CS Touch panel chip select signal, low level selects touch panel

Some possible problems

Touch jitter so obvious, how to solve it?

De-jitter parameters can be set to solve the problem of touch jitter, but at the cost of sacrificing a part of the sensitivity.

Since the ads7846.dtbo provided by Raspberry Pi by default has no de-jitter parameters, you can increase the de-jitter parameters by modifying and replacing ads7846.dtbo

Specifically, the anti-shake function can be added in the following method:

1.Execute the following command:

wget https://www.waveshare.net/w/upload/2/29/Ads7846_waveshare.zip
unzip Ads7846_waveshare.zip
cd ads7846_waveshare
sudo cp ads7846_waveshare.dtbo /boot/overlays/

2.Execute the following command:

sudo nano /boot/config.txt
#Comment out the following line:
#dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax =3900
#Add the following command at the end of the config.txt file, it will take effect after rebooting the system.
dtoverlay=ads7846_waveshare

Related reference documents:ads7846-overlay.dts ads7846.txt

The installation of xserver-xorg-input-evdev and xinput-calibrator in Ubuntu system reports an error, so the touch cannot be used normally. How to solve it?

Note: The Ubuntu system may not be able to access the default source due to network problems in some regions, resulting in an installation error.

Solution 1, update the source:

1. Execute the command to view the current version:

lsb_release -c -s

For example, after execution, the system version may be: groovy

2. Execute the commands:

#backup the original source
sudo mv /etc/apt/syntaxhighlights.list /etc/apt/syntaxhighlights.list.old
sudo nano /etc/apt/syntaxhighlights.list

Add the following code and save:

#If your system version is not groovy, please replace the following groovy with the version name obtained in step 1
deb http://old-releases.ubuntu.com/ubuntu/ groovy universe main
deb http://old-releases.ubuntu.com/ubuntu/ groovy-security main universe
deb http://old-releases.ubuntu.com/ubuntu/ groovy-updates main universe

3. Execute the command to update:

sudo apt-get update

4. After the update is complete, run #Touch calibration again.

If the above source fails, the following methods can be used:

Solution 2, directly find the download address of the two applications, download and install directly

For 32-bit systems, execute the following commands:

wget http://deb.debian.org/debian/pool/main/x/xserver-xorg-input-evdev/xserver-xorg-input-evdev_2.10.6-2_armhf.deb
sudo dpkg -i xserver-xorg-input-evdev_2.10.6-2_armhf.deb
wget wget http://mirrors.ustc.edu.cn/debian/pool/main/x/xinput-calibrator/xinput-calibrator_0.7.5+git20140201-1+b2_armhf.deb  
sudo dpkg -i xinput-calibrator_0.7.5+git20140201-1+b2_armhf.deb

For 64-bit systems, execute the following commands:

wget http://deb.debian.org/debian/pool/main/x/xserver-xorg-input-evdev/xserver-xorg-input-evdev_2.10.6-2_arm64.deb
sudo dpkg -i  xserver-xorg-input-evdev_2.10.6-2_arm64.deb
wget http://mirrors.ustc.edu.cn/debian/pool/main/x/xinput-calibrator/xinput-calibrator_0.7.5+git20140201-1+b2_arm64.deb
sudo dpkg -i xinput-calibrator_0.7.5+git20140201-1+b2_arm64.deb

The installation of xserver-xorg-input-evdev and xinput-calibrator in Kali system reports an error, so the touch cannot be used normally. How to solve it?

Note: The Kali system may not be able to access the default source due to network problems in some regions, resulting in an installation error.

Solution 1, update the source:

1. Execute sudo su to obtain administrator privileges. The default password is kali.

2. Execute the command:

wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add

3. Execute the command to modify the source:

nano /etc/apt/syntaxhighlights.list

Comment out the original source and modify it to:

deb http://mirrors.ustc.edu.cn/kali kali-rolling main contrib non-free

Save and exit.

4. Execute the command to update:

apt-get update --fix-missing

5. After the update is complete, run #Touch calibration again.

If the above source fails, the following methods can be used:

Solution 2, directly find the download address of the two applications, download and install directly

For 32-bit systems, execute the following commands:

wget http://deb.debian.org/debian/pool/main/x/xserver-xorg-input-evdev/xserver-xorg-input-evdev_2.10.6-2_armhf.deb
sudo dpkg -i xserver-xorg-input-evdev_2.10.6-2_armhf.deb
wget wget http://mirrors.ustc.edu.cn/debian/pool/main/x/xinput-calibrator/xinput-calibrator_0.7.5+git20140201-1+b2_armhf.deb  
sudo dpkg -i xinput-calibrator_0.7.5+git20140201-1+b2_armhf.deb

For 64-bit systems, execute the following commands:

wget http://deb.debian.org/debian/pool/main/x/xserver-xorg-input-evdev/xserver-xorg-input-evdev_2.10.6-2_arm64.deb
sudo dpkg -i  xserver-xorg-input-evdev_2.10.6-2_arm64.deb
wget http://mirrors.ustc.edu.cn/debian/pool/main/x/xinput-calibrator/xinput-calibrator_0.7.5+git20140201-1+b2_arm64.deb
sudo dpkg -i xinput-calibrator_0.7.5+git20140201-1+b2_arm64.deb

FAQ

 Answer:
Please add the following command to /boot/config.txt
dusable_splash=1
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
You can repalce the splash.png from the path /usr/share/plymouth/themes/pix/splash.png to yours.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
You can enter the following commands in the system terminal:
sudo -E rpi-eeprom-config --edit

As shown in the figure below, change the 0 in the original DISABLE_HDMI to 1. If there is no such sentence, please add it directly, save the file and then restart.

7inchC modification.png

{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
sudo nano /boot/config.txt #Edit the config.txt file in the boot directory
Change hdmi_drive=1 to hdmi_drive=2
ctrl+x-->Y #Save and exit
reboot #reboot the system
apt-get install mplayer #install mplayer
mplayer music.mp3 #Play music
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
5V power supply, the working current is about 0.5A
{{{3}}}
{{{4}}}

{{{5}}}


Anti-Piracy

Since the first-generation Raspberry Pi released, Waveshare has been working on designing, developing, and producing various fantastic touch LCDs for the Pi. Unfortunately, there are quite a few pirated/knock-off products in the market. They're usually some poor copies of our early hardware revisions, and comes with none support service.

To avoid becoming a victim of pirated products, please pay attention to the following features when purchasing:

RPi-LCD-Anti-Piracy.jpg

(Click to enlarge)

Beware of knock-offs

Please note that we've found some poor copies of this item in the market. They are usually made of inferior materials and shipped without any testing.

You might be wondering if the one you're watching or you've purchased in other non-official stores is original, feel free to contact us.

Support

Support

If you require technical support, please go to the Support page and open a ticket.