1

member

Easy Raspberry basics: Project 03a Raspberry PI 3 Model B and Waveshare IPS 7inch HDMI LCD touch screen

of Acoptex.com in Raspberry Pi 3

Raspberry basics: Project 03a

Project name: Raspberry PI 3 Model B board and 7inch HDMI LCD USB capacitive touch screen

Tags: Raspberry, Raspberry PI 3 model B board, 7inch HDMI LCD (C), USB capacitive touch screen, 1024x600 pixel, rev 2.1, waveshare electronics, waveshare

In this project, you need these parts :

1.Raspberry PI 3 model B 1 pc

2. Waveshare IPS 7inch HDMI LCD touch screen with microUSB cable and HDMI cable 1 pc

 

3. Micro SD card with NOOBS and SD card adapter 1 pc

4. Micro USB power supply (2.1 A, max 2.5 A) 1 pc

5. USB keyboard 1 pc

6. USB mouse 1 pc

7. TV or PC monitor 1 pc

General

We will learn how to use the Waveshare IPS 7inch HDMI LCD touch screen with Raspberry PI 3 model B board.

Understanding the Waveshare IPS 7inch HDMI LCD touch screen

7 inch Capacitive Touch Screen LCD (7inch HDMI LCD (C)), HDMI interface, supports various systems.

Features:

  • 1024×600 high resolution
  • Capacitive touch control
  • Supports Raspberry Pi
  • Supports Banana Pi / Banana Pro, comes with Lubuntu, Raspbian images
  • Supports BB Black, comes with Angstrom image
  • For other mini-PCs, driver is required and should be developed by users
  • Not only for mini-PCs, it can work as a computer monitor just like any other general HDMI screen
  • HDMI interface for displaying, USB interface for touch control
  • Backlight can be turned off to lower power consumption

Note: to use the LCD with following mini-PCs, additional cables are required and should be purchased separately:

Raspberry Pi Zero: HDMI cable, USB-type-A-receptacle-to-Micro-B-plug-cable

BB Black: HDMI cable

The only difference between Rev 1.1 and Rev 2.1 is the firmware, but hardware solutions, placement and routing are all the same. (PCB printings might be different due to different production batches.)

For revisions before Rev 2.1:

  • For the Raspberry Pi, comes with Raspbian driver (works with your Raspbian directly), and Ubuntu image
  • When work as a computer monitor, touch function is unavailable

For revision Rev 2.1:

  • Upgrade to IPS screen, wider viewing angle, more clear displaying
  • Standard HID protocol, easy to be integrated into your system
  • For the Raspberry Pi, supports Raspbian, Ubuntu, single touch, and driver free
  • When work as a computer monitor, supports Windows 10/8.1/8/7, five-points touch, and driver free

Supported mini PC:

Note :

Drivers can be added to your current system to support LCD display and touch control.

Images CAN NOT be used with your current system. They're stand-alone systems which support LCD display and touch control already.

To use the LCD with the Raspberry Pi official image, driver should be installed first. However, for the first testing, you can use our provided image directly.

To work with the Waveshare provided image make sure the hardware connection is correct and connects fine. Make sure the image in TF card is burnt correctly. The PWR will keep on and the ACT will keep blinking when the Raspberry Pi starts up successfully, in case both of the two LEDs keep on, it is possible that the image was burnt incorrectly OR the TF card was in bad contact.

It is recommended to use a 5V/2A power adapter for the Raspberry Pi other than USB connection, otherwise the Pi may failed to start up because the PC's USB port might have not enough power.

You can read more about Waveshare IPS 7inch HDMI LCD touch screen here. You can find 3D drawings here. Waveshare IPS 7inch HDMI LCD touch screen pnale dimentions are here.

7inch HDMI LCD Bicolor case assemble instructions are here.

You can find datasheet for Goodix GT811 IC chip here.

You can find datasheet for voltage regulator AMS1117 chip here.

You can find datasheet for ATMLH724 04DM EPPROM (24C16 SMD) IC chip here.

You can find datasheet for ARM Cortex GD32F103 IC chip here.

You can find specification of TEXAS INSTRUMENTS TFP401APZP (71A91RTG4) IC chip here.

7inch HDMI LCD (C) image used for the  Waveshare IPS 7inch HDMI LCD touch screen with firmware Rev2.1:

Latest official Raspbian image |mini PC Raspberry Pi| Raspbian vesion

7inch HDMI LCD (C) Angstrom image |mini PC Angstrom| Beaglebone Black version

7inch HDMI LCD (C) Raspbian image |mini PC Banana Pi / Banana Pro| Raspbian version

7inch HDMI LCD (C) Lubuntu image |mini PC Banana Pi / Banana Pro| Lubuntu version

7inch HDMI LCD (C) image used for the Waveshare IPS 7inch HDMI LCD touch screen with firmware Rev1.1:

RPI3_RPI2_7.0_1024x600_cap_usb_touch_HID_2016-05-27-raspbian-jessie_4.4.13v7_20160620.7z |mini PC Raspberry Pi 3B/2B| Raspbian 2016-05-27 jessie version

7inch HDMI LCD (C) Raspberry B / B+ Raspbian image 2015-11-21 jessie |mini PC Raspberry Pi B/B+| Raspbian 2016-11-21 jessie version

7inch HDMI LCD (C) Raspberry 2 Model B Ubuntu image |Raspberry Pi 2B| Ubuntu version

7inch HDMI LCD (C) Angstrom image |mini PC Beaglebone Black| Angstrom version

7inch HDMI LCD (C) Raspbian image |mini PC Banana Pi / Banana Pro| Raspbian version

7inch HDMI LCD (C) Lubuntu image |mini PC Banana Pi / Banana Pro| Lubuntu version

7inch HDMI LCD (C) (Firmware Rev 1.1) User Manual

Drivers for Raspbian (only support Rev1.1 Waveshare IPS 7inch HDMI LCD touch screen)

Out of date, Not available for any Raspbian OS later than 27-May-2016.

  1. RPI_2B_USB_TOUCH_CAP_RASPBIAN-4.1.13-v7-7.0-1024x600-20151211.tar (For Raspberry Pi 2 Model B)
  2. RPI_B+_USB_TOUCH_CAP_RASPBIAN-4.1.13-7.0-1024x600-20151211.tar (For Raspberry Pi B+/A+/B)
  3. RPI_2B_USB_TOUCH_CAP_RASPBIAN-3.18.16-v7-7.0-1024x600-20150910.tar (For Raspberry Pi 2 Model B)
  4. RPI_B+_USB_TOUCH_CAP_RASPBIAN-3.18.16-7.0-1024x600-20150910.tar (For Raspberry Pi B+/A+/B)

Understanding the Raspberry PI 3 model B

The Raspberry Pi 3 is the third-generation Raspberry Pi. It replaced the Raspberry Pi 2 Model B in February 2016.

Specification:

  • Quad Core 1.2GHz Broadcom BCM2837 64bit CPU
  • 1GB RAM
  • BCM43438 wireless LAN and Bluetooth Low Energy (BLE) on board
  • 40-pin extended GPIO
  • 4 USB 2 ports
  • 4 Pole stereo output and composite video port
  • Full size HDMI
  • CSI camera port for connecting a Raspberry Pi camera
  • DSI display port for connecting a Raspberry Pi touchscreen display
  • Micro SD port for loading your operating system and storing data
  • Upgraded switched Micro USB power source up to 2.5A

Signals and connections of the Raspberry PI 3 model B


Signals and connections of the Waveshare IPS 7inch HDMI LCD touch screen

Step by Step instruction

1. Working with PC.

This Waveshare IPS 7inch HDMI LCD touch screen supports Windows 10/8.1/8/7 OS. For the Windows 10/8.1/8 OS, the touch screen supports multi-touch up to 5 points. For some Window 7 OS, the touch screen supports single touch only.

  1. We will use the PC with MS Windows 10 OS and Raspberry PI 3 board with Rasbian OS installed.
  2. Turn ON the Backlight switch on the back of  Waveshare IPS 7inch HDMI LCD touch screen panel.
  3. Connect the Waveshare IPS 7inch HDMI LCD touch screen to your PC: 2.1 Connect the Touch port (micro USB Port) of Waveshare IPS 7inch HDMI LCD touch screen to your PC USB port (micro USB cable required); 2.2 Connect Display port (HDMI Port) of Waveshare IPS 7inch HDMI LCD touch screen to your PC HDMI Port(HDMI cable required). Please first connect the Touch port and then connect the HDMI Port.

  4. Go to Device manager of your PC. The Waveshare IPS 7inch HDMI LCD touch screen will be recognized automatically as Generic PnP monitor.  The resolution of the touch screen will be automatically identified
  5. Note: When multiple displays are detected by your PC, the Waveshare IPS 7inch HDMI LCD touch screen can only be used to control the cursor on main display. So, it's proposed to set the Waveshare IPS 7inch HDMI LCD touch screen as the main display.

Touch Settings

Some users want to connect more than one Display to their PC. Let's check how to set the touch screen to control its display separately.
For example when you connect touch screen to your PC with monitor or laptop. You see that the Windows desktop picture is on both PC monitor and touch screen. If you use the MS Windows 10 OS in Windows settings->System->Dispaly->Multiple displays field you have Duplicate these displays selected by default. It means that both screens diplay the same information.

If you want to swap between PC monitor (main screen -1) and touch screen (secondary screen -2 ) you can do it by selecting Show only on 1 or Show only on 2 in Windows settings->System->Dispaly->Multiple displays field.

2. Working with Raspberry PI 3 model B board

When you working with Raspberry Pi 3 model B board, you need to set the resolution of the Waveshare IPS 7inch HDMI LCD touch screen by yourself otherwise the Waveshare IPS 7inch HDMI LCD touch screen will not work.

  1. We will use the Raspberry PI 3 board with Raspbian OS installed.
  2. Turn ON the Backlight switch on the back of  Waveshare IPS 7inch HDMI LCD touch screen panel.
  3. Connect the Waveshare IPS 7inch HDMI LCD touch screen to your Raspberry PI 3 board: 2.1 Connect the Touch port (micro USB Port) of Waveshare IPS 7inch HDMI LCD touch screen to your Raspberry PI 3 board USB port (micro USB cable required); 2.2 Connect Display port (HDMI Port) of Waveshare IPS 7inch HDMI LCD touch screen to your Raspberry PI 3 board HDMI Port (HDMI cable required). Please first connect the Touch port and then connect the HDMI Port.Make sure that Raspberry PI 3 switched off.
  4. Plug in your USB mouse and USB keyboard to Raspberry PI 3 board USB ports.
  5. If you want to use Waveshare IPS 7inch HDMI LCD touch screen with Raspberry PI 3 board you must modify config.txt file. This file located in Boot folder on your MicroSD card with Raspbian OS.
  6. Insert Micro SD card to SD Card Reader in your PC (use SD card adapter). Check for config.txt file. The Raspberry Pi uses a configuration file instead of the BIOS you would expect to find on a conventional PC. The system configuration parameters, which would traditionally be edited and stored using a BIOS, are stored instead in an optional text file named config.txt. This is read by the GPU before the ARM CPU and Linux are initialised. It must therefore be located on the first (boot) partition of your SD card, alongside bootcode.bin and start.elf. This file is normally accessible as /boot/config.txt from Linux, and must be edited as root. From Windows or OS X it is visible as a file in the only accessible part of the card. 
  7. If you found the config.txt file on your Micro SD card add the following lines:  
    max_usb_current=1
    hdmi_group=2
    hdmi_mode=87
    hdmi_cvt 1024 600 60 6 0 0 0
    hdmi_drive=1
    max_usb_current=1 hdmi_group=2 hdmi_mode=87 hdmi_cvt 1024 600 60 6 0 0 0 hdmi_drive=1 .Make sure that there are no spaces on both sides of the equal sign.
  8. Save the config.txt file and insert the Micro SD card back to your Raspberry PI 3 board.
  9. Connect Micro USB power supply to Raspberry PI 3 board micro USB input.
  10. The Raspberry PI desktop will start up. (When Touch input is working it means that the Waveshare IPS 7inch HDMI LCD touch screen firmware is Rev 2.1. If it doesn't work - the Waveshare IPS 7inch HDMI LCD touch screen firmware is 1.1, see more information here).
  11. If you cannot find the config.txt file on your boot partition, you can create it as a new text file or use leafpad editor.

How to modify config.txt on Raspberry OS (the use of leafpad editor)

  1. We will use the Raspberry PI 3 board with Raspbian OS installed.
  2. Connect the TV or PC monitor Display port (HDMI Port) to your Raspberry PI 3 board HDMI Port (HDMI cable required).
  3. Make sure that your monitor or TV is turned on, and that you have selected the right input (e.g. HDMI 1,  etc).
  4. Plug in your USB mouse and USB keyboard to Raspberry PI 3 board USB ports.
  5. Connect Micro USB power supply to Raspberry PI 3 board micro USB input.
  6. The Raspberry PI desktop will start up.
  7. Press Terminal button.
  8. To use leafpad editor with elevated privileges in order to modify config.txt file you must start leafpad from the command line of Terminal window. Type sudo leafpad.
  9. The leafpad editor will open. Go to File->Open. Find Boot folder, config.txt file will be in Boot folder (/boot/config.txt).
  10. Press Enter button. The file will open and you can add the following lines:  max_usb_current=1 hdmi_group=2 hdmi_mode=87 hdmi_cvt 1024 600 60 6 0 0 0 hdmi_drive=1 .Make sure that there are no spaces on both sides of the equal sign. Setting max_usb_current=1 sets the available current over USB to 1.2A (default is 600mA). This can help if you have a decent power supply (2A, at least) and need to power the external Touch screen display. For supporting HDMI modes that aren’t from the official CEA/DMT list of modes use  hdmi_mode=87 & then define the CVT – Coordinated Video Timings The  hdmi_cvt 800 400 60 6 0 0 0 defines the timings of the component video signal hdmi_cvt= width        width in pixels, height       height in pixels, framerate    framerate in Hz, aspect       aspect ratio 1=4:3, 2=14:9, 3=16:9, 4=5:4, 5=16:10, 6=15:9, margins      0=margins disabled, 1=margins enabled interlace    0=progressive, 1=interlaced.
  11. Go to File->Save or just use Ctrl+S to save the config.txt file.
  12. Reboot your Raspberry PI 3board as any changes will only take effect after you have rebooted it. Go to Raspberry icon->Shutdown..->Shutdown options Shutdown.
  13. Connect the Waveshare IPS 7inch HDMI LCD touch screen to your Raspberry PI 3 board: 2.1 Connect the Touch port (micro USB Port) of Waveshare IPS 7inch HDMI LCD touch screen to your Raspberry PI 3 board USB port (micro USB cable required); 2.2 Connect Display port (HDMI Port) of Waveshare IPS 7inch HDMI LCD touch screen to your Raspberry PI 3 board HDMI Port (HDMI cable required). Please first connect the Touch port and then connect the HDMI Port.Make sure that Raspberry PI 3 switched off.
  14. Reconnect Micro USB power supply to Raspberry PI 3 board micro USB input.
  15. The Raspberry PI desktop will start up. The touch screen will show correct view now. (When Touch input is working it means that the Waveshare IPS 7inch HDMI LCD touch screen firmware is Rev 2.1. If it doesn't work - the Waveshare IPS 7inch HDMI LCD touch screen firmware is 1.1, see more information here).

Notes:

  • Some people may find that if they didn't modify the config.txt file at first time, then when they modify it and reboot their Raspberry PI 3 board, the Waveshare IPS 7inch HDMI LCD touch screen will be flickering. In this case, power off the Waveshare IPS 7inch HDMI LCD touch screen and put it aside for several hours to wait for the flickering disappear, and test it again. Please make sure you have set the corresponding resolution as per our instruction before using it.
  • Resolution of Ubuntu Mate OS or Windows 10 IoT Core OS can be set properly by editing config.txt.
  • For Raspberry Pi Zero / Zero W: if you've used an SD card on a Raspberry Pi 3 board and then attached the card to the Raspberry Pi Zero, the touch screen often doesn't work. In such cases, you have to write a fresh system image to the SD card. The first boot up must be done on the Raspberry Pi Zero but not Raspberry Pi 3, due to initialization for a corresponding device.
  • To rotate the Waveshare IPS 7inch HDMI LCD touch screen display, you can add this linet to the config.txt file: display_rotate=1 #1: 90; 2: 180; 3: 270  Save the file and reboot your Raspberry PI 3 board. The touch will work improperly. You need to rotate the touch same as display.
  • To rotate the Touch you need to: 1. install libinput: sudo apt-get install xserver-xorg-input-libinput ; 2. create an xorg.conf.d folder: sudo mkdir /etc/X11/xorg.conf.d ; 3. copy file 40-libinput-conf to the folder which we created: sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/ ; 4. Append a statement to touchscreen part of the file as below: sudo nano /etc/X11/xorg.conf.d/40-libinput.conf 
  • Save the file and reboot your Raspberry PI 3 board. After completing these steps the Waveshare IPS 7inch HDMI LCD touch screen rotate 90 degrees both display and touch. Note: 90 degree: Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1"; 180 degree: Option "CalibrationMatrix" "-1 0 1 0 -1 1 0 0 1"; 270 degree: Option "CalibrationMatrix" "0 -1 1 1 0 0 0 0 1".

3. Working with BeagleBone

If Waveshare IPS 7inch HDMI LCD touch screen used for display only, you can upload the latest Angstrom image file to the board directly without any change. The BeagleBone will read the display parameters of the 7inch HDMI display and set the resolution to 800*480 automatically.

If Waveshare IPS 7inch HDMI LCD touch screen used as a touch screen, you must to program the image file - 7inch HDMI LCD (C) Angstrom Image

  1. Download the zip file to your PC, unzip it and get an .img file.
  2. Insert Micro SD card to your PC Card reader (use SD card adapter).
  3. Format your Micro SD card with the SD card formatter. The capacity of Micro SD card should be more than 4GB.
  4. Start the Win32DiskImager.exe, and select the system image file copied into your PC.
  5. Press the Write button to upload the image file.
  6. Insert the Micro SD card to your BeagleBone board after uploading the image file.
  7. Connect the Waveshare IPS 7inch HDMI LCD touch screen HDMI port to the HDMI port of BeagleBone board (use HDMI to micro HDMI cable).
  8. Connect the USB Touch interface on the Waveshare IPS 7inch HDMI LCD touch screen to the USB interface on the BeagleBone board (use type-A-to-micro USB cable). (BeagleBone has two USB interfaces, one for host and the other for client. You should connect the Waveshare IPS 7inch HDMI LCD touch screen to the USB host interface).
  9. Press the u BOOT key and hold it till power up. Then, you will enter the system located at the Micro SD card, graphical desktop directly.

4. Working with Lubuntu

Upload the image file 7inch HDMI LCD (C) Lubuntu Image to the Micro SD card. 

  1. Download the zip file to your PC, unzip it and get an .img file.
  2. Insert Micro SD card to your PC Card reader (use SD card adapter).
  3. Format your Micro SD card with the SD card formatter. The capacity of Micro SD card should be more than 4GB.
  4. Start the Win32DiskImager.exe, and select the system image file copied into your PC.
  5. Press the Write button to upload the image file.
  6. Insert the Micro SD card to your Banana Pi Pro or Banana Pi board after uploading the image file.
  7. User name: bananapi Password: bananapi

5. Working with Banana Pi

Before powering up the Banana Pi, you should connect it to a Waveshare IPS 7inch HDMI LCD touch screen properly, since the Banana Pi may read the resolution parameters of the LCD display on startup. And the connection should be remained till the Banana Pi enters the desktop. In this case, even if you disconnect the LCD display and reconnect it again to the Banana Pi, the LCD can still work properly.

Upload the image file 7inch HDMI LCD (C) Raspbian Image to the board. This image file supports the modules BananaPi Pro and BananaPi.

  1. Download the zip file to your PC, unzip it and get an .img file.
  2. Insert Micro SD card to your PC Card reader (use SD card adapter).
  3. Format your Micro SD card with the SD card formatter. The capacity of Micro SD card should be more than 4GB.
  4. Start the Win32DiskImager.exe, and select the system image file copied into your PC.
  5. Press the Write button to upload the image file.
  6. Insert the Micro SD card to your Banana Pi board after uploading the image file.
  7. Connect the Waveshare IPS 7inch HDMI LCD touch screen HDMI port to HDMI port on the Banana Pi board (use HDMI cable).
  8. Connect the USB Touch interface on the Waveshare IPS 7inch HDMI LCD touch screen to the USB interface on the Banana Pi board w(use type-A-to-micro USB cable).
  9. Comparing with the Banana Pi, the BananaPi Pro has additionally an on-board WiFi module. You can use SSH to connect to the BananaPi Pro and execute the following command to load the WiFi driver: sudo modprobe ap6210

Summary

We have learnt how to use the Waveshare IPS 7inch HDMI LCD touch screen with Raspberry PI 3 model B board.

Library

  • No libraries needed in this project

Sketch

  • No sketches needed in this project


Other projects of Acoptex.com
Medium Basics: Project 083w Sipeed Maixduino board - Using PlatformIO IDE of Acoptex.com in Sipeed Maixduino 08-08-2019
Medium Basics: Project 083e Sipeed Maixduino board - Uploading MaixPy of Acoptex.com in Sipeed Maixduino 04-08-2019
Medium Basics: Project 083f Sipeed Maixduino board - Using MycroPython of Acoptex.com in Sipeed Maixduino 04-08-2019

Published at 29-03-2018
Viewed: 4800 times