Difference between revisions of "3.5inch RPi LCD (A)"

From Waveshare Wiki
Jump to: navigation, search
 
(12 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
{{Infobox item
 
{{Infobox item
 
|name=[[3.5inch RPi LCD (A)]]
 
|name=[[3.5inch RPi LCD (A)]]
|img=[[File:3.5inch-RPi-LCD-A_l.jpg|300px |alt=3.5inch-RPi-LCD-A|{{Amazon_nolink|default={{#urlget:amazon|0}}|{#urlget:Amazon|0}}|default|}}|ur1=linkhttp://www.waveshare.com/product/3.5inch-RPi-LCD-A.htm?amazon}} | 3.5inch RPi LCD (A)]]
+
|img=[[File:3.5inch-RPi-LCD-A_l.jpg|300px|{{Amazon_nolink|default={{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}|url=link=http://www.waveshare.com/product/3.5inch-RPi-LCD-A.htm?amazon}} | 3.5inch RPi LCD (A)]]
 
|caption=3.5 inch Touch Screen TFT LCD Designed for Raspberry Pi
 
|caption=3.5 inch Touch Screen TFT LCD Designed for Raspberry Pi
 
|platform=Raspberry Pi
 
|platform=Raspberry Pi
Line 24: Line 24:
  
 
== '''Features''' ==
 
== '''Features''' ==
* 480×320 hardware resolution
+
* 480 × 320 hardware resolution.
* Resistive touch control
+
* Resistive touch control.
* It is compatible and can be directly inserted in any version of Raspberry Pi.
+
* It is compatible and can be directly inserted into any version of Raspberry Pi.
* Drivers provided (works with your own Raspbian/Ubuntu/Kali and Retropie system directly)
+
* Provides drivers (works with your own Raspbian/Ubuntu/Kali and Retropie system directly).
* Support FBCP software driver, can set the software resolution and dual screen display.
+
* Support FBCP software driver, which can set the software resolution and dual-screen display.
* As big as your raspberry pi
+
* As big as your Raspberry pi.
 
* Gold sinking process, fine carving.
 
* Gold sinking process, fine carving.
{{RPi LCD User Manual}}
+
 
 +
== '''Getting Started''' ==
 +
=== Hardware Connection ===
 +
* There are 40 pins on Raspberry Pi, but there are 26 pins on the LCD, so you should pay attention to connecting the pins to your Pi accordingly.
 +
 
 +
===Install the touch driver===
 +
The RPi LCD can be driven in two ways: Method 1. install driver to your Raspbian OS. Method 2. use the Ready-to-use image file of which LCD driver was pre-installed.
 +
 
 +
''' Method 1. Driver installation'''
 +
 
 +
Please download the latest version of the image on the [https://www.raspberrypi.org/downloads/ Raspberry Pi official website.] (Raspbian/Ubuntu Mate/Kali or Retropie)
 +
 
 +
1) Download the compressed image file to the PC, and unzip it to get the .img file.
 +
 
 +
2) Connect the TF card to the PC, open the [[:File:Win32DiskImager.zip|Win32DiskImager]] software, select the system image downloaded in step 1 and click‘Write’ to write the system image. ( How to write an image to a micro SD card for your Pi? See [[RPi-Image-Installation-Guides|RPi Image Installation Guides]] for more details)
 +
 
 +
3) Connect the TF card to the Raspberry Pi, start the Raspberry Pi. The LCD will display after booting up, and then log in to the Raspberry Pi terminal,(You may need to connect a keyboard and HDMI LCD to Pi for driver installing, or log in remotely with SSH)
 +
 
 +
4) Then open the terminal of Raspberry Pi to install the touch driver.
 +
<pre>
 +
git clone https://github.com/waveshare/LCD-show.git
 +
cd LCD-show/
 +
</pre>
 +
'''Note: The Raspberry Pi must be connected to the network, or else the touch driver won't be successfully installed.'''
 +
 
 +
{{#switch: {{FULLPAGENAME}}
 +
| 2.8inch RPi LCD (A) =
 +
<pre>
 +
chmod +x LCD28-show
 +
If it is an old version, execute the following code:
 +
sudo ./LCD28-show
 +
If it is a new version, execute the following code:
 +
sudo ./LCD28-show-V2
 +
</pre>
 +
| 3.2inch RPi LCD (B) =
 +
<pre>
 +
chmod +x LCD32-show
 +
./LCD32-show
 +
</pre>
 +
| 3.2inch RPi LCD (C) =
 +
<pre>
 +
chmod +x LCD32C-show
 +
./LCD32C-show
 +
</pre>
 +
| 3.5inch RPi LCD (A) =
 +
<pre>
 +
chmod +x LCD35-show
 +
./LCD35-show
 +
</pre>
 +
| 3.5inch RPi LCD (B) =
 +
<pre>
 +
#if old version, use this command:
 +
chmod +x LCD35B-show
 +
./LCD35B-show
 +
</pre>
 +
 
 +
<pre>
 +
#if new version, use this command:
 +
chmod +x LCD35B-show-V2
 +
./LCD35B-show-V2
 +
</pre>
 +
| 3.5inch RPi LCD (C) =
 +
<pre>
 +
chmod +x LCD35C-show
 +
./LCD35C-show
 +
</pre>
 +
| 4inch RPi LCD (A) =
 +
<pre>
 +
chmod +x LCD4-show
 +
./LCD4-show
 +
</pre>
 +
| 4inch RPi LCD (C) =
 +
<pre>
 +
chmod +x LCD4C-show
 +
./LCD4C-show
 +
</pre>
 +
| #default =
 +
* For 2.8inch RPi LCD (A):
 +
./LCD28-show
 +
* For 3.2inch RPi LCD (B):
 +
./LCD32-show
 +
* For 3.2inch RPi LCD (C):
 +
./LCD32C-show
 +
* For 3.5inch RPi LCD (A):
 +
./LCD35-show
 +
* For 3.5inch RPi LCD (B):
 +
./LCD35B-show
 +
* For 3.5inch RPi LCD (C):
 +
./LCD35C-show
 +
* For 4inch RPi LCD (A):
 +
./LCD4-show
 +
* For 4inch RPi LCD (C):
 +
./LCD4C-show
 +
}}
 +
 
 +
The touch function will work after restart. For ease of use, you can set the screen orientation, see: [[#Screen orientation settings]].
 +
 
 +
'''Notes:'''
 +
*1. Executing apt-get upgrade will cause the LCD to fail to work properly. In this case, you need to edit the config.txt file in the SD card and delete this sentence: dtoverlay=ads7846.
 +
*2. Using with Raspbian-lite, the command of the touch driver installation should be:
 +
{{#switch: {{FULLPAGENAME}}
 +
| 2.8inch RPi LCD (A) =
 +
<pre>
 +
./LCD28-show lite
 +
</pre>
 +
| 3.2inch RPi LCD (B) =
 +
<pre>
 +
./LCD32-show lite
 +
</pre>
 +
| 3.2inch RPi LCD (C) =
 +
<pre>
 +
./LCD32C-show lite
 +
</pre>
 +
| 3.5inch RPi LCD (A) =
 +
<pre>
 +
./LCD35-show lite
 +
</pre>
 +
| 3.5inch RPi LCD (B) =
 +
<pre>
 +
#if old version, use this command:
 +
./LCD35B-show lite
 +
</pre>
 +
 
 +
<pre>
 +
#if new version, use this command:
 +
./LCD35B-show-V2 lite
 +
</pre>
 +
| 3.5inch RPi LCD (C) =
 +
<pre>
 +
./LCD35C-show lite
 +
</pre>
 +
| 4inch RPi LCD (A) =
 +
<pre>
 +
./LCD4-show lite
 +
</pre>
 +
| 4inch RPi LCD (C) =
 +
<pre>
 +
./LCD4C-show lite
 +
</pre>
 +
| #default =
 +
* For 2.8inch RPi LCD (A):
 +
./LCD28-show lite
 +
* For 3.2inch RPi LCD (B):
 +
./LCD32-show lite
 +
* For 3.2inch RPi LCD (C):
 +
./LCD32C-show lite
 +
* For 3.5inch RPi LCD (A):
 +
./LCD35-show lite
 +
* For 3.5inch RPi LCD (B):
 +
./LCD35B-show lite
 +
* For 3.5inch RPi LCD (C):
 +
./LCD35C-show lite
 +
* For 4inch RPi LCD (A):
 +
./LCD4-show lite
 +
* For 4inch RPi LCD (C):
 +
./LCD4C-show lite
 +
}}
 +
'''Method 2. Using Ready-to-use image'''
 +
 
 +
The image file with pre-installed driver is located in the IMAGE directory of the CD, or you can download it from [[#Image]]. Extract the .7z file and you will get an .img file. Write the image to your micro SD card (How to write an image to a micro SD card for your Pi? See [[RPi-Image-Installation-Guides|RPi Image Installation Guides]] for more details). Then insert the card to your Pi, power up and enjoy it.
 +
 
 +
<!-- 
 +
== '''Toggle between LCD and HDMI display''' ==
 +
Once this LCD is enabled, meanwhile the default settings for HDMI are changed. If you want to use another HDMI monitor, please run the following command:
 +
cd LCD-show/
 +
  ./LCD-hdmi
 +
This toggles the mode to LCD display:
 +
{{#switch: {{FULLPAGENAME}}
 +
| 2.8inch RPi LCD (A) =
 +
<pre>
 +
./LCD28-show
 +
</pre>
 +
| 3.2inch RPi LCD (B) =
 +
<pre>
 +
./LCD32-show
 +
</pre>
 +
| 3.2inch RPi LCD (C) =
 +
<pre>
 +
./LCD32C-show
 +
</pre>
 +
| 3.5inch RPi LCD (A) =
 +
<pre>
 +
./LCD35-show
 +
</pre>
 +
| 3.5inch RPi LCD (B) =
 +
<pre>
 +
#if old version, use this command:
 +
./LCD35B-show
 +
</pre>
 +
<!-- 
 +
<pre>
 +
#if new version, use this command:
 +
./LCD35B-show-V2
 +
</pre>
 +
| 3.5inch RPi LCD (C) =
 +
<pre>
 +
./LCD35C-show
 +
</pre>
 +
| 4inch RPi LCD (A) =
 +
<pre>
 +
./LCD4-show
 +
</pre>
 +
| 4inch RPi LCD (C) =
 +
<pre>
 +
./LCD4C-show
 +
</pre>
 +
| #default =
 +
* For 2.8inch RPi LCD (A):
 +
./LCD28-show
 +
* For 3.2inch RPi LCD (B):
 +
./LCD32-show
 +
* For 3.2inch RPi LCD (C):
 +
./LCD32C-show
 +
* For 3.5inch RPi LCD (A):
 +
./LCD35-show
 +
* For 3.5inch RPi LCD (B):
 +
./LCD35B-show
 +
* For 3.5inch RPi LCD (C):
 +
./LCD35C-show
 +
* For 4inch RPi LCD (A):
 +
./LCD4-show
 +
* For 4inch RPi LCD (C):
 +
./LCD4C-show
 +
}}
 +
-->
 +
 
 +
== '''Screen orientation settings''' ==
 +
 +
After installing the touch driver, you can modify the screen rotation direction by running the following commands.
 +
 
 +
<syntaxhighlight lang="c">
 +
cd LCD-show/
 +
#X can be 0, 90, 180 and 270. Indicates that the LCD rotates 0 degrees, 90 degrees, 180 degrees and 270 degrees, respectively.
 +
#If it is an old version, execute the following code:
 +
sudo ./LCD28-show X
 +
#If it is a new version, execute the following code:
 +
sudo ./LCD28-show-V2 X
 +
</syntaxhighlight>
 +
 
 +
The rotation command under Raspbian-lite is as follows:
 +
<syntaxhighlight lang="c">
 +
cd LCD-show/
 +
#X can be 0, 90, 180 and 270. Indicates that the LCD rotates 0 degrees, 90 degrees, 180 degrees and 270 degrees, respectively.
 +
#If it is an old version, execute the following code:
 +
sudo ./LCD28-show lite X
 +
#If it is a new version, execute the following code:
 +
sudo ./LCD28-show-V2 lite X
 +
</syntaxhighlight>
 +
 
 +
== '''Touch screen calibration''' ==
 +
This LCD can be calibrated through the xinput-calibrator program. '''Note: The Raspberry Pi must be connected to the network, or else the program won't be successfully installed.'''
 +
 
 +
*Run the following command to install:
 +
sudo apt-get install xinput-calibrator
 +
* Click the "Menu" button on the taskbar, choose "Preference" -> "Calibrate Touchscreen".
 +
* Finish the touch calibration following the prompts. Maybe rebooting is required to make calibration active.
 +
* You can create a 99-calibration.conf file to save the touch parameters (not necessary if file exists).
 +
sudo nano /etc/X11/xorg.conf.d/99-calibration.conf
 +
* Save the touch parameters (may differ depending on LCD) to 99-calibration.conf, as shown in the picture:
 +
[[File:5inch_HDMI_LCD_FAQ1.jpg]]
 +
<!--
 +
==Control Backlight Brightness with GPIO==
 +
Use a 0R resistor or solder to connect this pad.<br/>
 +
[[File:Virtual Keyboard Install01.png]]<br/>
 +
Execute the following command on the Raspberry Pi terminal to control the backlight brightness:<br/>
 +
<syntaxhighlight lang="c">
 +
gpio -g pwm 18 1024
 +
gpio -g mode 18 pwm (the occupied pins are PWM pins)
 +
gpio pwmc 1000
 +
gpio -g pwm 18 X (control brightness, X value is between 0~1024)
 +
</syntaxhighlight>
 +
-->
 +
<!--
 +
== '''2.8inch RPi LCD (A) - Rev2.1 PWM backlight adjustment function''' ==
 +
For Pi4, you need to update the wiringPi version first. The operation method is as follows (for 3B+ and earlier versions, there is no need to update):
 +
<pre>
 +
wget https://project-downloads.drogon.net/wiringpi-latest.deb
 +
sudo dpkg -i wiringpi-latest.deb
 +
gpio -v
 +
# Run gpio -v and version 2.52 will appear. If it does not appear, the installation is wrong
 +
</pre>
 +
After the wiringPi is updated successfully, the backlight brightness can be controlled by the following commands.
 +
<pre>
 +
gpio -g mode 18 pwm #Occupied pins are PWM pins
 +
gpio pwmc 100
 +
gpio -g pwm 18 0 #the darkest
 +
gpio -g pwm 18 1023 #brightest
 +
gpio -g mode 18 out #Release as output
 +
</pre>
 +
-->
 +
 
 +
== '''Install Virtual Keyboard''' ==
 +
1.  Install matchbox-keyboard <br />
 +
<pre>
 +
sudo apt-get install update
 +
sudo apt-get install matchbox-keyboard
 +
sudo nano /usr/bin/toggle-matchbox-keyboard.sh
 +
</pre>
 +
 
 +
2. Copy the statements below to toggle-matchbox-keyboard.sh and save.
 +
<pre>
 +
#!/bin/bash
 +
#This script toggle the virtual keyboard
 +
PID=`pidof matchbox-keyboard`
 +
if [ ! -e $PID ]; then
 +
killall matchbox-keyboard
 +
else
 +
matchbox-keyboard -s 50 extended&
 +
fi
 +
</pre>
 +
3. Execute the commands:
 +
<pre>
 +
sudo chmod +x /usr/bin/toggle-matchbox-keyboard.sh
 +
sudo mkdir /usr/local/share/applications
 +
sudo nano /usr/local/share/applications/toggle-matchbox-keyboard.desktop
 +
</pre>
 +
4. Copy the statements to toggle-matchbox-keyboard.desktop and save.
 +
<pre>
 +
[Desktop Entry]
 +
Name=Toggle Matchbox Keyboard
 +
Comment=Toggle Matchbox Keyboard`
 +
Exec=toggle-matchbox-keyboard.sh
 +
Type=Application
 +
Icon=matchbox-keyboard.png
 +
Categories=Panel;Utility;MB
 +
X-MB-INPUT-MECHANSIM=True
 +
</pre>
 +
5. Execute commands as below. '''Note that you need to use "Pi " user permission instead of root to execute this command.'''
 +
<pre>
 +
sudo nano /etc/xdg/lxpanel/LXDE-pi/panels/panel
 +
</pre>
 +
6. Find the statement which is similar to below: (It maybe different in different version)
 +
<pre>
 +
Plugin {
 +
type = launchbar
 +
Config {
 +
Button {
 +
id=lxde-screenlock.desktop
 +
}
 +
Button {
 +
id=lxde-logout.desktop
 +
}
 +
}
 +
</pre>
 +
7. Append these statements to add an button option:
 +
<pre>
 +
Button {
 +
id=/usr/local/share/applications/toggle-matchbox-keyboard.desktop
 +
}
 +
</pre>
 +
[[File:RPILCD-INSTALL-KEYBOARD01.png|400px]] <br />
 +
 
 +
8. Reboot your Raspberry Pi. If the virtual keyboard is installed correctly, you can find that there is a keyboard icon on the left of the bar
 +
sudo reboot
 +
<br />
 +
 
 +
<!-- 
 +
== '''How to work with a camera''' ==
 +
 
 +
<!--
 +
RPi LCD can also work with an external camera to take photos. In this operation, a Raspberry Pi camera is required, which should be purchased separately.
 +
 
 +
If you use the image provided from us, after camera attached, you can open the camera by command lines.
 +
cd /home/pi/camera/
 +
Camera
 +
 
 +
Then, waiting several seconds, the camera application will be started automatically. Now, you can capture pictures by double clicking the screen.
 +
 
 +
If you use the image with clean installation, you can setup the camera driver with:
 +
-->
 +
<!-- 
 +
1. Select "Enable Camera" -> "<YES>"
 +
sudo raspi-config
 +
 
 +
2. Copy the [[:File:RPi-Camera-Driver-for-GPIO-LCD.zip|Camera driver]] to the OS of Pi then:
 +
unzip camera.zip
 +
cd camera
 +
sudo chmod 777 Camera
 +
sudo cp update\ camera/95-stmpe.rules /etc/udev/rules.d/
 +
 
 +
3. Create a file called wheezy.list.
 +
sudo nano /etc/apt/sources.list.d/wheezy.list
 +
Append:
 +
deb http<nowiki></nowiki>://archive.raspbian.org/raspbian wheezy main
 +
Exit with save.
 +
 
 +
4. Create a file called 10defaultRelease.
 +
sudo nano /etc/apt/apt.conf.d/10defaultRelease
 +
Append:
 +
APT::Default-release \"stable";
 +
Exit with save.
 +
 
 +
5. Create a file called libsdl.
 +
sudo nano /etc/apt/preferences.d/libsdl
 +
Append:
 +
Package: libsdl1.2debian
 +
Pin: release n=jessie
 +
Pin-Priority: -10
 +
Package: libsdl1.2debian
 +
Pin: release n=wheezy
 +
Pin-Priority: 900
 +
Exit with save.
 +
 
 +
6. Last, execute the commands:
 +
sudo apt-get update
 +
sudo apt-get -y --force-yes install libsdl1.2debian/wheezy
 +
sudo apt-get install evtest tslib libts-bin xinput
 +
sudo apt-get install python-pip
 +
sudo apt-get install python2.7-dev
 +
sudo pip install picamera==1.10
 +
sudo reboot
 +
sudo TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/touchscreen ts_calibrate
 +
Camera will be enabled by the steps above.
 +
-->
  
 
== '''Interface definition''' ==
 
== '''Interface definition''' ==
Line 96: Line 509:
 
<div class="tabbertab" title="Resources">
 
<div class="tabbertab" title="Resources">
  
== Resource ==
+
= Resource =
===User Manual===
+
==User Manual==
 
*[https://www.waveshare.com/w/upload/1/1e/RPi_LCD_User_Manual_EN.pdf RPi LCD User Manual]
 
*[https://www.waveshare.com/w/upload/1/1e/RPi_LCD_User_Manual_EN.pdf RPi LCD User Manual]
 
<!-- *[[:File:3.5inch-RPi-LCD-A-Schematic.pdf|Schematic]] -->
 
<!-- *[[:File:3.5inch-RPi-LCD-A-Schematic.pdf|Schematic]] -->
=== Image ===
+
== Image ==
 
Description: if you felt hard to install driver, try the image with driver pre-installed.
 
Description: if you felt hard to install driver, try the image with driver pre-installed.
 
*[https://1drv.ms/u/s!At1XVmt1PVrlgQMnNL_rKl_jr41j?e=g3uasY 3.5inch RPi LCD(A) -2020-08-20-raspios-buster-armhf-full]
 
*[https://1drv.ms/u/s!At1XVmt1PVrlgQMnNL_rKl_jr41j?e=g3uasY 3.5inch RPi LCD(A) -2020-08-20-raspios-buster-armhf-full]
Line 107: Line 520:
 
{{3.5inch_RPI_IMAGE}}-->
 
{{3.5inch_RPI_IMAGE}}-->
  
=== Driver ===
+
== Driver ==
 
{{RPI LCD DRIVER}}
 
{{RPI LCD DRIVER}}
=== Software ===
+
== Software ==
 
* [http://www.waveshare.com/w/upload/d/d7/Panasonic_SDFormatter.zip Panasonic SDFormatter]
 
* [http://www.waveshare.com/w/upload/d/d7/Panasonic_SDFormatter.zip Panasonic SDFormatter]
 
* [http://www.waveshare.com/w/upload/7/76/Win32DiskImager.zip Win32DiskImager]
 
* [http://www.waveshare.com/w/upload/7/76/Win32DiskImager.zip Win32DiskImager]
 
* [http://www.waveshare.com/w/upload/5/56/Putty.zip PuTTY]
 
* [http://www.waveshare.com/w/upload/5/56/Putty.zip PuTTY]
=== LCD Panel Dimension ===
+
== LCD Panel Dimension ==
 
* [http://www.waveshare.com/w/upload/0/0c/3.5inch-rpi-lcd-a-panel-dimension.pdf 3.5inch RPi LCD (A) panel dimension]
 
* [http://www.waveshare.com/w/upload/0/0c/3.5inch-rpi-lcd-a-panel-dimension.pdf 3.5inch RPi LCD (A) panel dimension]
 
<!--
 
<!--
===Certification===
+
==Certification==
 
*[https://www.waveshare.com/w/upload/b/bd/3.5inch_RPi_LCD_%28A%29_Certification.rar CE RoHS]
 
*[https://www.waveshare.com/w/upload/b/bd/3.5inch_RPi_LCD_%28A%29_Certification.rar CE RoHS]
 
-->
 
-->
 
</div>
 
</div>
 
<div class="tabbertab" title="FAQ">
 
<div class="tabbertab" title="FAQ">
== FAQ ==
+
 
 +
= FAQ =
 
{{RPI HDMI GPIO LCD FAQ}}
 
{{RPI HDMI GPIO LCD FAQ}}
{{FAQ|What are the power requirements?
+
<!-- 
|When working with 5V input, the current is about 150mA.}}
 
 
 
 
== '''Anti-Piracy''' ==
 
== '''Anti-Piracy''' ==
 
{{RPi LCD Anti-Piracy}}
 
{{RPi LCD Anti-Piracy}}
Line 132: Line 544:
 
</div>
 
</div>
 
<div class="tabbertab" title="Support">
 
<div class="tabbertab" title="Support">
 
+
-->
 
{{service00}}
 
{{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]]
 
</div>
 
</div>

Latest revision as of 06:27, 10 August 2022

3.5inch RPi LCD (A)
3.5inch RPi LCD (A)

3.5 inch Touch Screen TFT LCD Designed for Raspberry Pi
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

Overview

Introduction

3.5 inch Touch Screen TFT LCD is designed for Raspberry Pi.

More

Features

  • 480 × 320 hardware resolution.
  • Resistive touch control.
  • It is compatible and can be directly inserted into any version of Raspberry Pi.
  • Provides drivers (works with your own Raspbian/Ubuntu/Kali and Retropie system directly).
  • Support FBCP software driver, which can set the software resolution and dual-screen display.
  • As big as your Raspberry pi.
  • Gold sinking process, fine carving.

Getting Started

Hardware Connection

  • There are 40 pins on Raspberry Pi, but there are 26 pins on the LCD, so you should pay attention to connecting the pins to your Pi accordingly.

Install the touch driver

The RPi LCD can be driven in two ways: Method 1. install driver to your Raspbian OS. Method 2. use the Ready-to-use image file of which LCD driver was pre-installed.

Method 1. Driver installation

Please download the latest version of the image on the Raspberry Pi official website. (Raspbian/Ubuntu Mate/Kali or Retropie)

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

2) Connect the TF card to the PC, open the Win32DiskImager software, select the system image downloaded in step 1 and click‘Write’ to write the system image. ( How to write an image to a micro SD card for your Pi? See RPi Image Installation Guides for more details)

3) Connect the TF card to the Raspberry Pi, start the Raspberry Pi. The LCD will display after booting up, and then log in to the Raspberry Pi terminal,(You may need to connect a keyboard and HDMI LCD to Pi for driver installing, or log in remotely with SSH)

4) Then open the terminal of Raspberry Pi to install the touch driver.

git clone https://github.com/waveshare/LCD-show.git
cd LCD-show/

Note: The Raspberry Pi must be connected to the network, or else the touch driver won't be successfully installed.

chmod +x LCD35-show
 ./LCD35-show

The touch function will work after restart. For ease of use, you can set the screen orientation, see: #Screen orientation settings.

Notes:

  • 1. Executing apt-get upgrade will cause the LCD to fail to work properly. In this case, you need to edit the config.txt file in the SD card and delete this sentence: dtoverlay=ads7846.
  • 2. Using with Raspbian-lite, the command of the touch driver installation should be:
 ./LCD35-show lite

Method 2. Using Ready-to-use image

The image file with pre-installed driver is located in the IMAGE directory of the CD, or you can download it from #Image. Extract the .7z file and you will get an .img file. Write the image to your micro SD card (How to write an image to a micro SD card for your Pi? See RPi Image Installation Guides for more details). Then insert the card to your Pi, power up and enjoy it.


Screen orientation settings

After installing the touch driver, you can modify the screen rotation direction by running the following commands.

cd LCD-show/
#X can be 0, 90, 180 and 270. Indicates that the LCD rotates 0 degrees, 90 degrees, 180 degrees and 270 degrees, respectively.
#If it is an old version, execute the following code:
sudo ./LCD28-show X
#If it is a new version, execute the following code:
sudo ./LCD28-show-V2 X

The rotation command under Raspbian-lite is as follows:

cd LCD-show/
#X can be 0, 90, 180 and 270. Indicates that the LCD rotates 0 degrees, 90 degrees, 180 degrees and 270 degrees, respectively.
#If it is an old version, execute the following code:
sudo ./LCD28-show lite X
#If it is a new version, execute the following code:
sudo ./LCD28-show-V2 lite X

Touch screen calibration

This LCD can be calibrated through the xinput-calibrator program. Note: The Raspberry Pi must be connected to the network, or else the program won't be successfully installed.

  • Run the following command to install:
sudo apt-get install xinput-calibrator 
  • Click the "Menu" button on the taskbar, choose "Preference" -> "Calibrate Touchscreen".
  • Finish the touch calibration following the prompts. Maybe rebooting is required to make calibration active.
  • You can create a 99-calibration.conf file to save the touch parameters (not necessary if file exists).
sudo nano /etc/X11/xorg.conf.d/99-calibration.conf
  • Save the touch parameters (may differ depending on LCD) to 99-calibration.conf, as shown in the picture:

5inch HDMI LCD FAQ1.jpg

Install Virtual Keyboard

1. Install matchbox-keyboard

sudo apt-get install update
sudo apt-get install matchbox-keyboard
sudo nano /usr/bin/toggle-matchbox-keyboard.sh

2. Copy the statements below to toggle-matchbox-keyboard.sh and save.

#!/bin/bash
#This script toggle the virtual keyboard
PID=`pidof matchbox-keyboard`
if [ ! -e $PID ]; then
killall matchbox-keyboard
else
matchbox-keyboard -s 50 extended&
fi

3. Execute the commands:

sudo chmod +x /usr/bin/toggle-matchbox-keyboard.sh
sudo mkdir /usr/local/share/applications
sudo nano /usr/local/share/applications/toggle-matchbox-keyboard.desktop

4. Copy the statements to toggle-matchbox-keyboard.desktop and save.

[Desktop Entry]
Name=Toggle Matchbox Keyboard
Comment=Toggle Matchbox Keyboard`
Exec=toggle-matchbox-keyboard.sh
Type=Application
Icon=matchbox-keyboard.png
Categories=Panel;Utility;MB
X-MB-INPUT-MECHANSIM=True

5. Execute commands as below. Note that you need to use "Pi " user permission instead of root to execute this command.

sudo nano /etc/xdg/lxpanel/LXDE-pi/panels/panel

6. Find the statement which is similar to below: (It maybe different in different version)

Plugin {
type = launchbar
Config {
Button {
id=lxde-screenlock.desktop
}
Button {
id=lxde-logout.desktop
}
}

7. Append these statements to add an button option:

Button {
id=/usr/local/share/applications/toggle-matchbox-keyboard.desktop
}

RPILCD-INSTALL-KEYBOARD01.png

8. Reboot your Raspberry Pi. If the virtual keyboard is installed correctly, you can find that there is a keyboard icon on the left of the bar

sudo reboot



Interface definition

The pins marked as "NC" below indicate that the pins are not occupied by the LCD and can be used by the user 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 TP_IRQ The touch panel is interrupted, and it is low when it is detected that the touch panel is pressed
12 NC NC
13 NC NC
14 GND Ground
15 NC NC
16 NC NC
17 3.3V Power (3.3V input)
18 LCD_RS Command/Data Register Select
19 LCD_SI / TP_SI LCD display / SPI data input of touch panel
20 GND Ground
21 TP_SO SPI data output of touch panel
22 RST Reset
23 LCD_SCK / TP_SCK SPI clock signal for LCD display / touch panel
24 LCD_CS LCD chip select signal, low level selects LCD
25 GND Ground
26 TP_CS Touch panel chip select signal, low level selects touch panel

Resource

User Manual

Image

Description: if you felt hard to install driver, try the image with driver pre-installed.

Driver

The driver can be downloaded from github

git clone https://github.com/waveshare/LCD-show.git

Software

LCD Panel Dimension

FAQ

 Answer:
The LCD must have a driver installed for normal use. For details, please refer to the relevant introduction in the user manual.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
Since the Raspberry Pi image and version are frequently updated, if you encounter a situation where the LCD cannot be used normally, please download the latest version of the image provided by us or from the official website of Raspberry Pi and install the latest driver provided by us.
  • Make sure the hardware connection is correct and the contact is good.
  • Make sure that TF card programming is normal.
  • When the Raspberry Pi starts normally, the PWR light is always on, and the ACT light is flashing. If it is found that both lights are always on, it may be that the TF card is not successfully programmed to the image or the TF card is in poor contact with the Raspberry Pi.
  • It is recommended to use a 5V 2.5A power adapter for the Raspberry Pi. If the Raspberry Pi is powered by the USB port of the PC, the Raspberry Pi may not be able to start normally due to an insufficient power supply.
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
Commercial grade (0~70 degrees Celsius).
{{{3}}}
{{{4}}}

{{{5}}}


 Answer:
When working with 5V input, the current is about 200mA.
{{{3}}}
{{{4}}}

{{{5}}}



Support

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