Beaglebone Black touchscreen problem

Hello there! I’ve recently acquired a Beaglebone Black(BBB) and I’m currently trying to develop a Graphic User Interface (GUI) using python and guizero. Before start programming the GUI, I installed Linux XFCE Desktop version, and connected the BBB to a XPT2046 5" touchscreen to try it out. The Linux works perfectly, I even installed Chromium and could access internet. The problem is with the touchscreen not working as a touchscreen, and I can’t figure what is the problem. Yes, I’ve done some research, but I’am a bit lost, since most of the projects I’ve encounter with such touchscreen are done with Raspberry Pi and not BBB. I’ll now proceed to list all the commands I’ve entered in the XFCE cmd:

git clone show.git
chmod -R 755 LCD show
cd LCD-show/
sudo ./LCD5-show

then i run

sudo apt-get install xinput-calibrator //it installs correctly


and this is what appears in the screen:

For what I’ve seen, the calibrator driver is installed, but the touchscreen doesn’t appear in the virtual pointer list (for what I’ve read, it should display a slave pointer named like “Microchip Technology Inc. AR-1100 DIGITIZER”).

Any suggestion or answer will help me a lot, so thanks in advance. And I’m very new to the BBB, please don’t be so mad at me :sweat_smile:

Sadly, xinput-calibrator is no longer maintained. There really isn’t a good replacement for it today…

In our device tree’s i’ve been hacking the x and y offsets, this get’s the pointer pretty close…


1 Like

Hello, Robert. I’ve been thinking about it, and I think it may be because I connected the display via HDMI, which allows the display to work as, well, as a display, but doesn’t enable touch function. After expending quite some time reading and watching videos of how the display works with a Rasberry Pi 3B+, I came to the realization that the HDMI is only to send visual data to the screen, but it doesn’t control the touch part, which apparently is controlled via SPI, so I’m currently translating RPi 3B+'s pinout to BBB’s, and as far as I got, I have this:

  • PIN 17 (BBB) = PIN 8 (RPi) (CE0)
  • PIN 18 (BBB) = PIN 19 (RPi) (MOSI)
  • PIN 21(BBB) = PIN PIN 9 (RPi) (MISO)
  • PIN 22 (BBB) = PIN 11 (RPi) (SPI_CLK)
  • VCC (5V) BBB = PIN 5 or PIN 6 (VCC)
  • GND BBB = any of the next PINS [1, 2, 43, 44, 45, 46] (GND)

By the way, I’m having some doubts left to solve, maybe you can give me a hand:

  • T_CS (Screen)-> GPIO 7 (RPi): in the RPi instructions it says “Touchscreen Chip Select (CE1 in RPi). Connect to 3.3V if not used”. So, I’m not really sure what it does, but can I use a GPIO, like GPIO_60 for it?

  • RPi also uses PINs 18 (GPIO 24) and 22 (GPIO 25) for “DC” and “RST” respectively. RST I understand is “Reset”, but “DC” I can’t figure what it is. So, can I use BBB’s GPIOs for “DC” and “RST”? Could you tell me what “DC” means? (I’ve been thinking it may be Direct Current, but I don’t see the point of that instead of giving it a value like 3.3 or 5 V).

Here’s the pinout of the screen and RPi 3B+:

Also, here’s a link explaining how to do it with RPi 3B+ (see the answer):

Well, hope I don’t annoy you, if you can give me some guidance, it would be great.

Thanks for answering!