Aguscao
Posts: 19
Joined: Fri May 07, 2021 9:18 am

5 inch XPT2046 LCD display touch screen calibration

Sat May 15, 2021 7:48 am

Hello, I am trying to calibrate my 5 inch XPT2046 touch screen LCD display.
Here is my /boot/config.txt setting:

Code: Select all

# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
max_framebuffers=2

[all]
#dtoverlay=vc4-fkms-v3d

max_usb_current=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0
hdmi_drive=1

#dtparam=i2c_arm=on
#dtparam=spi=on
dtoverlay=ads7846,penirq=25,speed=10000,penirq_pull=2,xohms=150
With these settings, the touch screen works, but only for a certain part of the screen, it works for the middle part but not working for the edges and corners.
Image

I have tried various calibrations and settings I can find on the internet and this forum too to no avail, including adding /etc/X11/xorg.conf.d/99-calibration.conf (got this from viewtopic.php?t=143581, and this doesn't work also):

Code: Select all

Section "InputClass"
        Identifier "calibration"
        MatchProduct "ADS7846 Touchscreen"
        Option "Calibration" "3853 170 288 3796"
        Option "SwapAxes" "1"
EndSection
Please help me calibrate my touch screen. Thank you.

User avatar
DougieLawson
Posts: 41424
Joined: Sun Jun 16, 2013 11:19 pm
Location: A small cave in deepest darkest Basingstoke, UK
Contact: Website Twitter

Re: 5 inch XPT2046 LCD display touch screen calibration

Sat May 15, 2021 8:03 am

Your "match product" line is wrong.

Use xinput_calibrator to generate your calibration.conf file.

viewtopic.php?f=108&t=121602
Any language using left-hand whitespace for syntax is ridiculous

Any DMs sent on Twitter will be answered next month.
Fake doctors - are all on my foes list.

Any requirement to use a crystal ball or mind reading will result in me ignoring your question.

Aguscao
Posts: 19
Joined: Fri May 07, 2021 9:18 am

Re: 5 inch XPT2046 LCD display touch screen calibration

Sat May 15, 2021 12:30 pm

DougieLawson wrote:
Sat May 15, 2021 8:03 am
Your "match product" line is wrong.

Use xinput_calibrator to generate your calibration.conf file.

viewtopic.php?f=108&t=121602
OK, I have calibrated my LCD using xinput_calibrator and now it goes weird.

Yes, the screen can now detect the stylus at the edges and the corners of the screen, but the mouse pointer is off the stylus' touch-point. At the center of the screen, the pointer matches the touch-point. The more off-center the stylus touches (in any direction), the more the pointer is off the stylus' touch-point. I hope these photograps can clearly show what's going on.

Image
Image
Image
Image
Image
Image
Image

This is the /etc/X11/xorg.conf.d/99-calibration.conf generated by xinput_calibrator:

Code: Select all

Section "InputClass"
	Identifier	"calibration"
	MatchProduct	"ADS7846 Touchscreen"
	Option	"MinX"	"2465"
	Option	"MaxX"	"63028"
	Option	"MinY"	"5461"
	Option	"MaxY"	"63350"
EndSection
What should I do?

Return to “Graphics, sound and multimedia”