|
| 1 | +== About |
| 2 | + |
| 3 | +The https://www.raspberrypi.com/products/raspberry-pi-touch-display-2/[Raspberry Pi Touch Display 2] is a portrait orientation touchscreen LCD display designed for interactive projects like tablets, entertainment systems, and information dashboards. |
| 4 | + |
| 5 | +.The Raspberry Pi Touch Display 2 |
| 6 | +image::images/touch-display-2-hero.jpg[width="80%"] |
| 7 | + |
| 8 | +The Touch Display 2 connects to a Raspberry Pi using a DSI connector and GPIO connector. Raspberry Pi OS provides touchscreen drivers with support for five-finger multitouch and an on-screen keyboard, providing full functionality without the need to connect a keyboard or mouse. |
| 9 | + |
| 10 | +== Specifications |
| 11 | + |
| 12 | +* 1280×720px resolution, 24-bit RGB display |
| 13 | +* 155×88mm active area |
| 14 | +* 7" diagonal |
| 15 | +* powered directly by the host Raspberry Pi, requiring no separate power supply |
| 16 | +* supports up to five points of simultaneous multi-touch |
| 17 | + |
| 18 | +The Touch Display 2 is compatible with all models of Raspberry Pi from Raspberry Pi 1B+ onwards, except Raspberry Pi Zero and Zero 2 W, which lack a DSI connector. |
| 19 | + |
| 20 | +The Touch Display 2 box contains the following parts (in left to right, top to bottom order in the image below): |
| 21 | + |
| 22 | +* Touch Display 2 |
| 23 | +* eight M2.5 screws |
| 24 | +* 15-way to 15-way FFC |
| 25 | +* 22-way to 15-way FFC for Raspberry Pi 5 |
| 26 | +* GPIO connector cable |
| 27 | + |
| 28 | +.Parts included in the Touch Display 2 box |
| 29 | +image::images/touch-display-2-whats-in-the-booooox.jpg["Parts included in the Touch Display 2 box", width="80%"] |
| 30 | + |
| 31 | +== Install |
| 32 | + |
| 33 | +.A Raspberry Pi 5 connected and mounted to the Touch Display 2 |
| 34 | +image::images/touch-display-2-installation-diagram.png["A Raspberry Pi 5 connected and mounted to the Touch Display 2", width="80%"] |
| 35 | + |
| 36 | +To connect a Touch Display 2 to a Raspberry Pi, use a Flat Flexible Cable (FFC) and a GPIO connector. The FFC you'll use depends upon your Raspberry Pi model: |
| 37 | + |
| 38 | +* for Raspberry Pi 5, use the included 22-way to 15-way FFC |
| 39 | +* for any other Raspberry Pi model, use the included 15-way to 15-way FFC |
| 40 | + |
| 41 | +Once you have determined the correct FFC for your Raspberry Pi model, complete the following steps to connect your Touch Display 2 to your Raspberry Pi: |
| 42 | + |
| 43 | +. Disconnect your Raspberry Pi from power. |
| 44 | +. Lift the retaining clips on either side of the FFC connector on the Touch Display 2. |
| 45 | +. Insert one 15-way end of your FFC into the Touch Display 2 FFC connector, with the copper contacts facing upwards, away from the Touch Display 2. |
| 46 | ++ |
| 47 | +TIP: If you use the 22-way to 15-way FFC, the 22-way end is the _smaller_ end of the cable. Insert the _larger_ end of the cable into the Touch Display 2. |
| 48 | +. While holding the FFC firmly in place, simultaneously push both retaining clips down on the FFC connector of the Touch Display 2. |
| 49 | +. Lift the retaining clips on either side of the DSI connector of your Raspberry Pi. This port should be marked with some variation of the term `DISPLAY` or `DISP`. If your Raspberry Pi has multiple DSI connectors, prefer the port labelled `1`. |
| 50 | +. Insert the other end of your FFC into the Raspberry Pi DSI connector, with the copper contacts facing towards the Ethernet and USB-A ports. |
| 51 | +. While holding the FFC firmly in place, simultaneously push both retaining clips down on the DSI connector of the Raspberry Pi. |
| 52 | +. Plug the GPIO connector cable into the port marked `J1` on the Touch Display 2. |
| 53 | +. Connect the other (three-pin) end of the GPIO connector cable to pins 2, 4, and 6 of the xref:../computers/raspberry-pi.adoc#gpio[Raspberry Pi's GPIO]. Connect the red cable (5V power) to pin 2, and the black cable (ground) to pin 6. Viewed from above, with the Ethernet and USB-A ports facing down, these pins are located at the top right of the board, with pin 2 in the top right-most position. |
| 54 | ++ |
| 55 | +.The GPIO connection to the Touch Display 2 |
| 56 | +image::images/touch-display-2-gpio-connection.png[The GPIO connection to the Touch Display 2, width="40%"] |
| 57 | ++ |
| 58 | +TIP: If pin 6 isn't available, you can use any other open `GND` pin to connect the black wire. If pin 2 isn't available, you can use any other 5V pin to connect the red wire, such as pin 4. |
| 59 | +. Optionally, use the included M2.5 screws to mount your Raspberry Pi to the back of the Touch Display 2. |
| 60 | +.. Align the four corner stand-offs of your Raspberry Pi with the four mount points that surround the FFC connector and `J1` port on the back of the Touch Display 2, taking special care not to pinch the FFC. |
| 61 | +.. Insert the screws into the four corner stand-offs and tighten until your Raspberry Pi is secure. |
| 62 | +. Reconnect your Raspberry Pi to power. It may take up to one minute to initialise the Touch Display 2 connection and begin displaying to the screen. |
| 63 | + |
| 64 | +=== Use an on-screen keyboard |
| 65 | + |
| 66 | +Raspberry Pi OS _Bookworm_ and later include the Squeekboard on-screen keyboard by default. When a touch display is attached, the on-screen keyboard should automatically show when it is possible to enter text and automatically hide when it is not possible to enter text. |
| 67 | + |
| 68 | +For applications which do not support text entry detection, use the keyboard icon at the right end of the taskbar to manually show and hide the keyboard. |
| 69 | + |
| 70 | +You can also permanently show or hide the on-screen keyboard in the Display tab of Raspberry Pi Configuration or the `Display` section of `raspi-config`. |
| 71 | + |
| 72 | +TIP: In Raspberry Pi OS releases prior to _Bookworm_, use `matchbox-keyboard` instead. If you use the wayfire desktop compositor, use `wvkbd` instead. |
| 73 | + |
| 74 | +=== Change screen orientation |
| 75 | + |
| 76 | +If you want to physically rotate the display, or mount it in a specific position, select **Screen Configuration** from the **Preferences** menu. Right-click on the touch display rectangle (likely DSI-1) in the layout editor, select **Orientation**, then pick the best option to fit your needs. |
| 77 | + |
| 78 | +==== Rotate screen without a desktop |
| 79 | + |
| 80 | +To set the screen orientation on a device that lacks a desktop environment, edit the `/boot/firmware/cmdline.txt` configuration file to pass an orientation to the system. Add the following line to `cmdline.txt`: |
| 81 | + |
| 82 | +[source,ini] |
| 83 | +---- |
| 84 | +video=DSI-1:1280x720@60,rotate=<rotation-value> |
| 85 | +---- |
| 86 | + |
| 87 | +Replace the `<rotation-value>` placeholder with one of the following values, which correspond to the degree of rotation relative to the default on your display: |
| 88 | + |
| 89 | +* `0` |
| 90 | +* `90` |
| 91 | +* `180` |
| 92 | +* `270` |
| 93 | + |
| 94 | +For example, a rotation value of `90` rotates the display 90 degrees to the right. `180` rotates the display 180 degrees, or upside-down. |
| 95 | + |
| 96 | +NOTE: It is not possible to rotate the DSI display separately from the HDMI display with `cmdline.txt`. When you use DSI and HDMI simultaneously, they share the same rotation value. |
| 97 | + |
| 98 | +==== Touch Display 2 device tree option reference |
| 99 | + |
| 100 | +The `vc4-kms-dsi-ili9881-7inch` overlay supports the following options: |
| 101 | + |
| 102 | +|=== |
| 103 | +| DT parameter | Action |
| 104 | + |
| 105 | +| `sizex` |
| 106 | +| Sets X resolution (default 1280) |
| 107 | + |
| 108 | +| `sizey` |
| 109 | +| Sets Y resolution (default 720) |
| 110 | + |
| 111 | +| `invx` |
| 112 | +| Invert X coordinates |
| 113 | + |
| 114 | +| `invy` |
| 115 | +| Invert Y coordinates |
| 116 | + |
| 117 | +| `swapxy` |
| 118 | +| Swap X and Y coordinates |
| 119 | + |
| 120 | +| `disable_touch` |
| 121 | +| Disables the touch overlay totally |
| 122 | +|=== |
| 123 | + |
| 124 | +To specify these options, add them, separated by commas, to your `dtoverlay` line in `/boot/firmware/config.txt`. Boolean values default to true when present, but you can set them to false using the suffix "=0". Integer values require a value, e.g. `sizey=240`. For instance, to set the X resolution to 400 pixels and invert both X and Y coordinates, use the following line: |
| 125 | + |
| 126 | +[source,ini] |
| 127 | +---- |
| 128 | +dtoverlay=vc4-kms-dsi-ili9881-7inch,sizex=400,invx,invy |
| 129 | +---- |
0 commit comments