RPi & Touch Screen

Introduction

This adventure is starting out with a Raspberry Pi 3B+ and a 7" touch screen.  

My ultimate goal is to have a touch GUI that is seen as soon as the device boots.  It is not exactly a mobile device; but a home device with a clock, alarm, music player ... not sure what else.  Yeah, I'm describing a Google Home Hub, I know.  But not only is this an exploration in a DIY/maker sense, I also don't want to be stuck in an ecosystem that is just Android/iOS.  

More information on that journey can be found here.

Hardware

I got the official touchscreen along with the case pictured on the side.  The case seems to no longer be available as part of the kit I got on Amazon.  And, yes, the link is to Adafruit.  They have lots of great stuff and you might be able to find a better case from them.  

For boot/storage, I did not need an SD card.  I've been using these USB drives for a while now; I really like the low profile. Along with a Logitech K400 things (so far) have been going smoothly.

Basic Setup

I wanted to dive right in first, and the first part should be easy for folks who've played with RPis already.  See my RPi main page for exact steps, but it's basically the installation of Raspberry Pi OS and updates.  

Second, I enable the SSH server because actual development on the 7" screen is "silly" to me when I have a Chromebook hooked up to 2 x wide screen monitors.  :-)

The next part was hooking up the touchscreen ribbon cable and other cables.  That was easy based on these instructions.  In case the page goes away, both circuit boards are labeled with GRN, 5V, SCL, and SDA.  Use the second 5V from the top on the right.

Screwing all the pieces together was easy.  And a 2.5A power supply seems to be running the touchscreen and the RPi running off the USB drive well enough.  

Now The Touchscreen

So just after booting the RPi with touchscreen I noticed a few things to work out.  Since my final goal is to have a touch screen GUI app of some sort, the obvious issues were:

Luckly, a page from Raspberry Pi Foundation has what I need to flip the screen.  Just added the lcd_rotate=2 option to the /boot/config.txt file.

The on-screen keyboard is rather lacking, but I did find out most people use "matchbox-keyboard".  By default is stays on top, so app don't cover it.  But it doesn't really leave much room on the screen and there is no default icon to open it up.

For the last one it was rather straightforward too.  In the /etc/lightdm/lightdm.conf file, add/modify xserver-command = X -nocursor.  Be sure it is under the [SEAT] section or it will probably be ignored; some distros oddly don't care.

Performance Checks

I don't want to go too deep in one direction, this page is just about the touchscreen.  For the most part, it is responsive and the OS doesn't feel slow compared to running the RPi with just the keyboard/monitor/mouse.  Even with the SSH server running.