Abnormal Touch Coordinate Compression on Colibri iMX6DL (STMPE811)

Hi all,

I am currently investigating a specific hardware issue with a Colibri iMX6DL 512MB module where the touch panel response feels extremely sluggish or unresponsive.

After deep analysis using evtest on Torizon OS, we identified a definitive hardware-level anomaly in the ADC/Touch Controller (STMPE811).

[Key Findings from Comparison Test] We compared the faulty module with a known-good standard module ) using the same carrier board and 4-wire resistive touch panel (NC01111-T202).

  • Coordinate Range Compression: While the standard module covers the full 12-bit ADC range (approx. 100 to 4000), the faulty module’s output is compressed to a very narrow range (approx. 1200 to 1800 for the X-axis).

  • Unintended (0,0) Events: We observed sudden (0,0) coordinate outputs even while a touch was being held, which are not related to intentional releases .

  • System Health: We confirmed that RAM, eMMC, CPU load, and thermal conditions are all within normal parameters using stress-ng and memtester .

[Our Question] Has anyone encountered this “Coordinate Compression” symptom before? Is this likely a physical failure of the STMPE811 ADC input stage (e.g., impedance change or Vref drift), or could there be a specific register corruption that limits the ADC’s dynamic range?

The module is out of warranty, but we are seeking a technical explanation to understand if this is a known failure mode or an isolated incident.

Attached are the comparison plots showing the compressed touch distribution.

Best regards, Arai

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Understanding STMPE811 Touch Controller Issues on Colibri iMX6

Your detailed analysis of the coordinate compression issue on the Colibri iMX6DL module points to a hardware-level problem with the STMPE811 touch controller. Based on the available documentation, I can provide some technical insights about this component.

STMPE811 Touch Controller Implementation

The Colibri iMX6 modules use the ST Microelectronics STMPE811 resistive touchscreen controller, which is connected to the SoC through I2C(1). This controller is integrated with a hard-wired touchscreen controller specifically designed for 4-wire resistive type touchscreens(1).

Known Hardware Issues

The documentation reveals that there are known issues with STMPE811-equipped modules. Specifically, on some Colibri and Apalis iMX6 V1.1Z and V1.1Y modules, the STMPE811 touch and ADC controller has been left away due to supply chain issues(2). While this doesn’t directly explain your coordinate compression issue, it indicates that STMPE811-related problems have been significant enough to warrant hardware design changes.

Technical Considerations for Your Issue

Based on your findings of coordinate range compression (from full 12-bit ADC range ~100-4000 down to ~1200-1800), this suggests:

  1. ADC Reference Voltage Issues: The STMPE811 uses internal ADC reference configurations that could be affected by hardware degradation
  2. Input Stage Problems: The analog input conditioning circuitry may have developed impedance changes affecting the measurement range
  3. I2C Communication: Since the STMPE811 connects via I2C(1), register corruption or communication issues could theoretically limit ADC configuration

Diagnostic Approach

The sudden (0,0) coordinate events you’re observing while maintaining touch contact are particularly telling, as they suggest intermittent communication or measurement failures rather than normal touch release events.

Your systematic comparison approach using evtest and confirming other system components (RAM, eMMC, CPU, thermal) are healthy is the correct methodology for isolating this to the STMPE811 hardware.

Conclusion

While the specific “coordinate compression” failure mode isn’t explicitly documented in the available resources, your technical analysis strongly points to a hardware-level failure of the STMPE811’s ADC input stage or reference voltage system. This appears to be a component-level degradation rather than a software configuration issue, especially given that the same setup works correctly with your reference module.

Best regards,
Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Hi @arai-yasushi , thank you for your investigation.

While we have some isolated touch controller RMAs, we haven’t found any symptomatic issue similar to the issue you describe here.

Kind regards,
Alvaro.