calibrate lcd touch screen supplier
One of the most common questions our Tech Support group receives is how to calibrate the touch screen, usually during the initial installation. To help users through the process, we’ve created this step-by-step guide for Microsoft Windows users.
These instructions apply to Windows versions 7, 8, and 10 when using the USB touch screen interface – there may be small differences depending on your version.
Before calibrating your touch screen, the Elo Touch Screen driver must be installed using the steps in the Installing the Elo Driver section below, unless the drivers were previously installed. If you are unsure whether the driver has been installed, see the Checking for the Elo Driver section.
A driver that was not properly installed could result in a screen that will not calibrate. If there is any doubt, remove the driver using steps in the Removing the Elo Driver section below, then reinstall using the Installing the Elo Driver instructions below.
When installing the Elo Driver for USB touch screens, it is very important that the USB cable is left unplugged until the driver has been successfully installed. The driver may not properly install if the touch screen USB cable is plugged in before the driver is installed.
Downloading the most recent Elo Touchscreen Windows driver from our drivers page is preferred, but the driver can also be found on the CD-ROM that ships with the industrial display. In either case, copy the driver to any location on the machine’s drive.
Note: all Hope Industrial touch screens support both Serial and USB connections, but installation of the Serial connections is not covered by these instructions. Please contact support if any help is needed with the Serial driver installation.
Connect the USB cable from the touch screen monitor to the computer. Windows will detect the device and associate the driver. When this is complete, go to the Calibrating/Aligning the Touch Screen section below for calibration instructions.
Once the driver is properly installed, the screen can be calibrated.Open the Windows Control Panel. For help opening the Control Panel for your version of Windows here is a guide. Once the control panel is open, select View By > Small icons in the top-right of the window.
The calibration routine will begin, and will present you with a series of targets to press in turn followed by a confirmation screen – just follow the onscreen instructions to complete the calibration.
If the “Elo Touchscreen” icon is in the list of icons, the touch screen driver has already been installed. Proceed to the Calibrating/Aligning the Touch Screen section of this page.
Note that to properly remove the Elo Driver before reinstallation, it is very important to unplug the touch screen USB connection before proceeding. Failure to do so can cause future driver reinstallation to fail.
When re-installing the driver, the USB cable should not be reconnected until the driver installation is successfully completed.Confirm that the touch screen USB cable has been disconnected.
This application note is part 2 of our 2 part TFT LCD screen series. Part 1 discusses configuring the screen resolution of a TFT with a Raspberry Pi. Part 2 discusses calibrating the touch screen of a TFT. Click here to read part 1.
After the display is setup with the Raspberry Pi you may want to calibrate the touch feature for accuracy. The display used in this example is a 7” TFT with capacitive touch (E70RA-HW520-C). This is a continuation of a previous application with the same display. The touch feature is auto enabled upon download of the Raspbian software; however, it may be inconsistent with actual motion. Calibrating the touch feature of a display can be done in just a few simple steps.
Next, we find the program that calibrates the display. There are a few options of programs that calibrate the touch setting, the one I will be using is called ts_lib. We can install this through the Terminal. Root privileges will need to be enabled to install the program that is used. Enable super user mode by entering:
Now we will download the program that calibrates the display. This program runs a quick test that verifies user input. Make sure the Raspberry Pi is connected to the internet for this step. To download this file, enter the following in the Terminal:
This will install a configuration file for the touch screen. Before the test we need to specify which device we’re using and where it is located. The display is located at “event0” as verified in the previous step. This could be a different value for you depending on the setup so be sure to refer to the results of step one. Enter the following commands to define the display variables.
Now we can run the calibration test. To do this enter the ts_calibrate command in the Terminal. You will need to be in super user mode for the calibration test to run. A screen will pop up asking you to touch five different points on the screen, try to touch them as accurately as possible. After the test is finished a list of the results will be displayed in the Terminal.
You can now test the calibration by running the ts_test command in the Terminal. This will run a short program to verify the calibration results by dragging a pointer or drawing an image. When you are finished testing, press quit, and the test information will be displayed in the Terminal. If you are unsatisfied with the accuracy of the test you can run through the ts_calibrate program again.
The touch screen should now be configured to a precise setting. This is just a brief overview of how to calibrate the capacitive touch feature of a display. For further calibration settings you can visit the “ts.config” file. You can open this file from Terminal by entering:
Buyers and others who are developing systems that incorporate FocusLCDs products (collectively, “Designers”) understand and agree that Designers remain responsible for using their independent analysis, evaluation and judgment in designing their applications and that Designers have full and exclusive responsibility to assure the safety of Designers" applications and compliance of their applications (and of all FocusLCDs products used in or for Designers’ applications) with all applicable regulations, laws and other applicable requirements.
Designer agrees that prior to using or distributing any applications that include FocusLCDs products, Designer will thoroughly test such applications and the functionality of such FocusLCDs products as used in such applications.
Tap the Mode button (see green rectangle in image below) on the bottom edge of the screen to go to the Setup menu. On a wall-mount touchscreen this is accessible after removing the screen from the wall. Portable wired touchscreens have a door below the display that hinges toward you to reveal the buttons and LEDs. The wireless handheld P-LCD has a plastic door that opens at the top (thinner edge, opposite the power button), after which you tilt the antenna up to access the button.
There are separate instructions below, depending on which hardware model and which firmware version it’s running. The model type is on a sticker found on the back of the touchscreen.
A white screen with a + symbol will show up in the top left corner. Tap it with your finger or stylus, and repeat for the other four that subsequently pop up after each press.
Press {Clear} to clear the drawings you make on the screen, {Recalibrate} to start the process over if it still is not correct, or {Close} to return to your configuration, or the Setup menu.
In Paradigm 3.0.0 we introduced gestures to P-TS7 hardware, which requires a thin band of pixels on the outside edge of the screen to detect those movements. The way of calibrating touchscreens in software versions lower than 3.0.0 has enough variability that the calibration may cause that thin band of pixels to be missing from the screen.
Press {Screen} screen button and then press {Calibrate Touchscreen} in the bottom left of the screen. You’ll see a screen much like the previous instructions, however there is no + symbols to touch.
In Paradigm 4.0.0 we removed the ability to calibrate the P-TS7 touchscreens in the field. The factory sets the calibration during manufacturing, and much like your cell phone or home tablet, never should need to be calibrated again. Instead of a {Calibrate Touchscreen} button in the Setup menu, you"ll see a {Test Touchscreen} button, which goes to a white screen with a {Close} button. This utility is great for verifying that it takes touch properly. Pushing and holding the Mode button will also get you access to the test screen.
To use multiple displays (some of which are touchscreens), you need to tell Xorg the mapping between the touch surface and the screen. This can be done using xinput to set the touchscreen"s coordinate transformation matrix.
This is a guide to do that, the old-fashioned way, in cases when xrandr does not know about your separate screens because they have been merged into one (e.g., when using TwinView). Everyone else, please go to Touchscreen to do it the easy way.
Tip: If your device contains both a stylus and a touch screen and more touch devices, then please pay attention to the name when determining the device.
Substitute your own touchscreen"s vendor ID, model ID, the xrandr output name, and the calibration matrix that you calculated above. This is based on the assumption that you are using the libinput driver for your touchscreen.
If, after following these instructions, multiple clicks occur in different places when you touch the screen, you will need to build the ABS, applying this patch before you build the package. (This patch fails on the current xorg source, but the bug is present on at least 1 system.)
The following steps must be done in a Windows environment, even if your touch screen is being used with a different operating system. After connecting the touch screen USB to a Windows device, follow the steps below.
7. This will bring you to the main menu. Make sure that the touch screen USB is connected to your device. If it is connected correctly, it will state "Already link equipment". Should the device not be correctly installed, it will state "Have not linked equipment". In order to disable right click, the touch screen must be properly connected.
8. To calibrate your touch screen, click on the Calibration button. Cross-hairs will appear on the display. Touch the center of each cross-hair as they appear.
9. After calibration is completed, you will be prompted to save the changes. Click Yes to save the calibration or No if you wish to re-calibrate. If there was an error while calibrating, an error will appear asking to either save the calibration or reset. It is recommended that you calibrate the touch screen again to ensure accuracy.
10. Disconnect the USB cable from the Windows device and reconnect to the intended device. Touch should now function as expected in the new operating system.
11. If performing Calibration does not resolve Flipped Orientation issue, the Touch Rotation Tool will need to be used. Use this guide for the Rotation Tool
12. If the above steps do not resolve the issue, please contact the TSI Touch Customer Service team at 802-874-0123 Option 2; email: This email address is being protected from spambots. You need JavaScript enabled to view it.; or by visiting our TSI Touch website and clicking on the red “Help” icon in the lower right corner of the webpage.
If the resolution setting does not match the screen, the touch position will also be affected. For example, when you touch certain positions on the screen, it responds on correct points, but clicks on other positions may activate other areas next to them instead.
When the cursor is on the desktop, right click for the setting menu → click [Display settings ] → choose the touch screen (number 2 screen) and select the corresponding resolution(for example, On-Lap M505T resolution is 1920x1080), and then click "Apply".
If you are having issues with your Touchscreen, this may include being unable to access items to the edge of the screen. For example, your screen may require re-calibration.
NOTE: If Tablet PC Settings is not seen, then make sure that your touchscreen USB cable is attached if using external display. Also check that any touchscreen drivers are installed, you can download these from the Dell Support site.
The touch screen may start to lose its sensitivity due to foreign particles (such as sticky notes) that are blocking the touch sensors. To remove these particles:
Use a clean, lint-free cloth to wipe the surface and sides of the touch screen to remove any dirt or fingerprints. You may spray mild, non-abrasive cleaner or water on the cloth if needed, but not on the screen.
If you do not have Cortana enabled, Then either click the Start button on screen or use Windows key on keyboard. Then click Settings icon (cog). Then type Tablet Mode in the settings search box and select Tablet Mode Settings.
The following steps must be done in a Windows environment, even if your touch screen is being used with a different operating system. After connecting the touch screen USB to a Windows device, follow the steps below.
7. This will bring you to the main menu. Make sure that the touch screen USB is connected to your device. If it is connected correctly, it will state "Already link equipment". Should the device not be correctly installed, it will state "Have not linked equipment". In order to disable right click, the touch screen must be properly connected.
8. To calibrate your touch screen, click on the Calibration button. Cross-hairs will appear on the display. Touch the center of each cross-hair as they appear.
9. After calibration is completed, you will be prompted to save the changes. Click Yes to save the calibration or No if you wish to re-calibrate. If there was an error while calibrating, an error will appear asking to either save the calibration or reset. It is recommended that you calibrate the touch screen again to ensure accuracy.
10. Disconnect the USB cable from the Windows device and reconnect to the intended device. Touch should now function as expected in the new operating system.
11. If performing Calibration does not resolve Flipped Orientation issue, the Touch Rotation Tool will need to be used. Use this guide for the Rotation Tool
12. If the above steps do not resolve the issue, please contact the TSI Touch Customer Service team at 802-874-0123 Option 2; email: This email address is being protected from spambots. You need JavaScript enabled to view it.; or by visiting our TSI Touch website and clicking on the red “Help” icon in the lower right corner of the webpage.
If you are having issues with your Touchscreen, this may include being unable to access items to the edge of the screen. For example, your screen may require re-calibration.
NOTE: If Tablet PC Settings is not seen, then make sure that your touchscreen USB cable is attached if using external display. Also check that any touchscreen drivers are installed, you can download these from the Dell Support site.
The touch screen may start to lose its sensitivity due to foreign particles (such as sticky notes) that are blocking the touch sensors. To remove these particles:
Use a clean, lint-free cloth to wipe the surface and sides of the touch screen to remove any dirt or fingerprints. You may spray mild, non-abrasive cleaner or water on the cloth if needed, but not on the screen.
If you do not have Cortana enabled, Then either click the Start button on screen or use Windows key on keyboard. Then click Settings icon (cog). Then type Tablet Mode in the settings search box and select Tablet Mode Settings.
In the previous article, I described the steps needed to install an LCD touchscreen on the Raspberry Pi. In this article, I will show you how to adjust the screen rotation of the LCD to landscape mode, and will show you how to calibrate the touchscreen pointer for optimal accuracy. Just follow the steps below to compete the process of setting up your Raspberry Pi LCD touchscreen:
1. First we need to change the setting for screen rotation in the /boot/cmdline.txt file. This setting is called fbtft_device.rotate=X. By default, this is set to X=0, which results in a portrait mode screen orientation. In order to switch the orientation to landscape mode, change fbtft_device.rotate=0 to fbtft_device.rotate=90. Enter sudo nano /boot/cmdline.txt at the command prompt. There should only be one line in this file. Go to the end of it and you will find the fbtft_device.rotate=X setting. Change the value from 0 to 90:
However, if you try to touch the screen now, you will find that the pointer movement does not correspond to your finger movement. This is because the LCD screen driver and the touchscreen controller driver have separate settings for screen rotation. We need to change the rotation of the touchscreen controller driver to match the rotation of the LCD screen driver.
2. You probably noticed that dragging your finger to the right moves the pointer up, not to the right. This indicates that the x and y axes of the touchscreen are swapped. To correct this, we need to swap the x axis for the y axis. This can be done by changing the swap_xy=X parameter in /etc/modules.
Now if you drag your finger around the screen, you will notice that the y axis (up and down) is correctly aligned with the motion of your finger. However, the x axis (left and right) is still inverted. To fix this, we need to install two more kernel modules, xinput and evtest. xinput is a Linux utility that will allow us to configure input device settings for the touchscreen controller, and evtest is an input device event monitor and query tool.
After the Pi finishes rebooting, you should notice that when you move your finger across the touch screen, the pointer should follow correctly in both axes. If you are using the Raspberry Pi 2 Model B, you will need to complete the calibration steps below before the pointer follows your finger correctly (and make sure that you have enabled startx to load automatically – see step 6 in this article).
You can rotate the screen 90 degrees (as we did in this tutorial) and the power connector will be at the bottom of the screen, but you can also rotate it 270 degrees so that the power connector is at the top of the screen. To do this, simply enter fbtft_device.rotate=270 in the /boot/cmdline.txt file. Then change the DISPLAY=:0 xinput --set-prop "ADS7846 Touchscreen" "Evdev Axis Inversion" 0 1 line in the /etc/X11/xinit/xinitrc file to DISPLAY=:0 xinput --set-prop "ADS7846 Touchscreen" "Evdev Axis Inversion" 1 0. All you need to do is switch the values of the 0 and 1 at the end of this line.
Now that we have our LCD touchscreen up and running, the final step in the installation is the calibration of touch control. This will make the pointer much more accurate and easier to use.
2. Now we need to install the calibration tool we will be using, xinput_calibrator; and other filters for controlling the touchscreen response. Install the tslib library by entering aptitude install libts-bin:
3. The calibration tool we will use is called ts_calibrate. We will also be using a program to check the results of the calibration called ts_test. In order to use ts_calibrate and ts_test, we must first set proper environmental variables. Enter export TSLIB_TSDEVICE=/dev/input/event0 into the command prompt, then enter export TSLIB_FBDEVICE=/dev/fb1:
4. Now we can use ts_calibrate. Enter ts_calibrate at the command prompt (make sure you are still in root mode) to run the ts_calibrate program. The program will consecutively display five crosses on different parts of the screen, which you need to touch with as much precision as possible:
Drag the cross around the screen and observe how closely it follows your finger or stylus to test the accuracy of the calibration. Now press the “Draw” button to enter the drawing mode:
This is kind of a long process, but it is well worth it if you want to get the LCD touchscreen set up properly. So if you have any trouble setting this up or have anything to say, please leave a comment below. Also, if you found this article useful, please share it with your friends!
Touch screens are finding their way into a variety of embedded products. Most touch-enabled devices will require a calibration routine before they can be used in your product/project.
The display and touch screen are separate products that are integrated during assembly. Usually, the touch screen is manually assembled on the display and as a result, there will be offsets and rotation errors. Calibration is necessary because it is difficult to perfectly align a touch screen’s coordinates to the display behind it.
If you have got your touch screen working and it detects touch presses, but reports the location of the touch incorrectly, then doing this calibration procedure will solve the issue.
The basic idea of this algorithm is to identify the sources of touch screen errors and deriving the effective method for transforming the coordinates provided by the touch screen to match the coordinates of the display.
Once a touch screen is calibrated, the touch screen stays calibrated to its lifetime, but that being said ,the calibration has to be done for every new tft touch screen display used.
Here in this article, I will describe the process to calibrate the ILI9341 Display with XPT2046 Touch Controller. The procedure remains the same for most touch screens including – TFT,LCD, OLED, and other types of displays. Just change the program and libraries accordingly.
XPT2046_TouchScreenLibrary provides functions for using the touchscreen and getting the touchpoint locations and pressures.XPT2046_Calibrated is used to calibrate the touch screen.
Observe the touch screen will display three crosshairs – A, B, and C. Press on the center of these crosshairs and you will see 2 pairs of values for each press.
The pair of values on the left-hand side is the (X, Y) display screen coordinate of the crosshair, and on the right-hand side is the touchscreen coordinate. If your display is not calibrated correctly there will be a huge difference between the two values.
After pressing on all three points, their lines will be printed showing the location of the actual point and the location detected by the touch screen. substitute your touchscreen coordinates(shown on the right-hand side) into the touchPoint [ ] array
Now when you touch the crosshairs, both points listed on each line should be similar in value. verify that the distance between crosshair and touch coordinate approaches zero as you approach closer to the center of the crosshair.
Once verifying the distance between crosshair and touch coordinate step is completed, this will bring us to the end of the calibration process, after calling begin() and setRotation(), you must then call calibrate() with an appropriate TS_Calibration object as a parameter. afterward, all calls to obtain touch position getPoint() and readData()) will return (x,y) points in screen coordinates rather than touch screen coordinates.