adafruit / adafruit/Adafruit_CircuitPython_Qualia

RGB666 40p TTL TFT Touch Sensor Activated When Not Touched

Open
#18 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
3
Forks
5
PR merge metrics
No merged PRs in 30d

Description

### CircuitPython version and board name

```python
Adafruit CircuitPython 10.1.3 on 2026-02-20; Adafruit-Qualia-S3-RGB666 with ESP32S3
Board ID:adafruit_qualia_s3_rgb666
```

### Code/REPL

```python
Paint demo at https://learn.adafruit.com/adafruit-qualia-esp32-s3-for-rgb666-displays/circuitpython-touch-display-usage
```

### Behavior

After activating the touch sensor (do some finger painting), leave the touch sensor alone for about one minute. The touch sensor will start recording touches with values of 0 and 65. I had to insert a print statement after the `ft.touched` command:
```python
if ft.touched:
print('ft.touched:',ft.touched)
```

REPL will repeated display:
```
ft.touched: 1
ft.touched: 0
ft.touched: 0
ft.touched: 0
ft.touched: 0
ft.touched: 0
ft.touched: 0
ft.touched: 0
ft.touched: 65
ft.touched: 65
ft.touched: 65
ft.touched: 65
ft.touched: 0
ft.touched: 0
ft.touched: 0
ft.touched: 0
ft.touched: 65
ft.touched: 65
ft.touched: 65
ft.touched: 0
```
[Continuing until code is stopped.]

### Description

- Run paint demo at https://learn.adafruit.com/adafruit-qualia-esp32-s3-for-rgb666-displays/circuitpython-touch-display-usage
- Can also cause erroneous touches using Qualia libraries to setup display (replacing explicit setup used in paint demo)
```python
from adafruit_qualia.graphics import Displays, Graphics
from adafruit_qualia.peripherals import Peripherals
graphics = Graphics(Displays.SQUARE40, default_bg=None, auto_refresh=False, rotation=180)
# Set up Peripherals
peripherals = Peripherals(i2c_bus=graphics.i2c_bus)
# Set display to show
display = graphics.display
```
- Occasionally (very rare) noticed a value for `ft.touched` of 67, which appeared to cause variable overflow (? unsure about this vehaviour)

### Additional information

Workaround is to use `if ft.touched == 1`, which is ok for single-touch applications.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by running the linked CircuitPython paint demo on the Adafruit-Qualia-S3-RGB666 and compare it with setup through adafruit_qualia.graphics and adafruit_qualia.peripherals. Investigate the ft.touched entry point after the display has been idle, including the reported values 0, 65, and 67. Done means idle hardware no longer produces repeated false touches while legitimate touch reporting still works.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.