This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TSC2004: Touch Screen not responding properly.

Part Number: TSC2004

Tool/software:

Hi Support Team,

We are currently using the TSC2004 touchscreen controller in one of our projects. Previously, we used a different manufacturer's touchscreen controller IC, but recently switched to the TSC2004.

We are facing an issue where the touch detection is inconsistent — sometimes it works as expected, but other times it does not register touch inputs properly. The touch detection behavior is inconsistent and unpredictable.

We also tried connecting filter capacitors to the X+, X−, Y+, and Y− lines. However, with the capacitors connected, the touchscreen stops responding entirely. Without them, the touchscreen works intermittently, as described above.

Could you please help us identify the cause of this issue and suggest a reliable solution?

  • Hi, 

    Aswin can you provide snippet of your touch detection circuit

  •  Hi, Added the circuit here for your reference.

  • Hi,

    I would suggest adding 100ohm - 200ohm  or less series resistance on the 4 wire line.

    Because resistive touch screens have fairly low resistance, the interconnection should be as short and robust as possible. Loose connections can be a source of error when the contact resistance changes with flexing or vibrations.

  • Thank you for the suggestion. We'll give it a try and update you on the progress.

  • We tried the series resistor method using different combinations of 100, 120, and 150ohms. We added the resistors on each line and also tested by connecting them only on the Y coordinates.

    What we observed is that the response becomes delayed or worsens when the resistors are connected. Could you please advise if we need to modify any specific registers to resolve this issue?

  • Hi Aswin,

    There is not much flexbility with this device to increase sensitivity, which sometimes may lead to using a lighter touch screen panel for a better response.

    Please try configuring Configuration register 1 (CFR1) which defines the connection test-bit modes and batch delay selection.

  • Thank you, Daveon, for the information.
    We wanted to update that by grounding the NC pins in the TSC2004, we achieved better results.

    However, we occasionally encounter issues where the touch position is incorrectly recognized, leading to the selection of different options. We also observed that using a pen provides a much better touch response and accuracy compared to using a finger. Do you think the surface area of touch is related to the incorrect touch position we are experiencing?

    While reviewing the datasheet, we discovered that the PENIRQ is activated (Active Low) whenever the pen touches the screen. Does this imply that the interrupt is not triggered when the pen is lifted from the display? How can we detect when the pen is released from the display after touching it?

    Please see the below values we have initialised in each register. Are there any changes to be tested?
    Control Byte 1 -> 0b 1000 1110

    Control Byte 0:
    To write to CFR0 -> 0b 0110 0010
    To write to CFR1 -> 0b 0110 1010
    To write to CFR2 -> 0b 0111 0010

    Configuration Registers:
    CFR0 -> 0b 1010 1010 1001 0011
    CFR1 -> 0b 0000 0011 0000 0001
    CFR2 -> 0b 1010 0000 0001 1100

  • Hi Aswin,

    You could consider enabling coordinate filtering (MAV or median filter bits) to improve noise stability. Or, in CFR2 would setting all MAVE values X,Y, and Z = 1 for 3 point filtering reduce inaccuracies.

    PENIRQ is active low when a valid touch is detected but lifting a touch up does not immediately deassert PENIRQ unless the measured resistance is correct.

    From a system perspective, the host MCU GPIO pin could act as a secondary detector by monitoring both rising/falling edges of PENIRQ to track touch/ release and mitigate false readings

  • Hi Daveon,

    As mentioned earlier, the bits written to the CFR2 register enable the MAV filter for all three X, Y, and Z points. We are using only the Median filter (no averaging) with 7 values. Could you please confirm if we are writing the correct bits to CFR2?

    Are there any registers that need to be updated to reduce the surface area?

    Does this mean that the PENIRQ pin goes high when the touch is released from the display?

  • Hi Aswin,

    I apologize for the delay, I've reviewed your schematic/configuration and have the following comments:

    Schematic:

    • Can we add an additional 1uF capacitor on the vref output pin. 
    • Ground NC pins

    From a register configuration standpoint the current settings look okay and there are no other registers that can add sensitivity to the panel measurement. Have you ran the touch screen connection test on page 28 of the datasheet?

  • Hi,
    Thanks for your response. We implemented the following updates, and here are our observations:

     

    • Can we add an additional 1uF capacitor on the vref output pin. 
      Yes, we tried both 1µF and 10µF capacitors on the Vref pin, as well as placing them near L23. However, there was no significant change observed. We also measured the Vref voltage and did not notice any fluctuations.

     

    • Ground NC pins:
      As previously mentioned in our earlier discussions, we had already tried grounding the NC pins. After this change, we observed improved performance.

     

    • Have you ran the touch screen connection test on page 28 of the datasheet?

     We haven’t performed this test yet, as the display occasionally functions correctly. However, we will proceed with the test and share the results as soon as possible.

  • Thanks, please also reference the techniques in layout, decoupling caps, and weighted averages mentioned in this application note: 

    Reducing Analog Input Noise in Touch Screen Systems (Rev. A)

    More application notes are referenced on the TSC2004 web page