Skip to main content

skip to docs

xpt2046-circuitpython

A CircuitPython (or Adafruit-Blinka) library which reads values from an XPT2046 chip, commonly found on cheap microcontroller TFT displays.

installation

This project is available on PyPi:

pip3 install xpt2046-circuitpython

Or, to install it manually:

git clone https://github.com/humeman/xpt2046-circuitpython
cd xpt2046-circuitpython
pip3 install .

If you're using this on regular Linux rather than CircuitPython, make sure you also install Adafruit Blinka.

usage

Be sure to enable SPI in sudo raspi-config before proceeding.

sample wiring

TFT Board GPIO Pin #
T_CLK SPI0 SCLK GPIO11 23
T_CS GPIO6 31
T_DIN SPI0 MOSI GPIO10 19
T_DO SPI0 MISO GPIO9 21
T_IRQ GPIO22 15

examples

The most basic read example is:

import xpt2046_circuitpython
import time
import busio
import digitalio
from board import SCK, MOSI, MISO, D6, D22

# Pin config
T_CS_PIN = D6
T_IRQ_PIN = D22

# Set up SPI bus using hardware SPI
spi = busio.SPI(clock=SCK, MOSI=MOSI, MISO=MISO)
# Create touch controller
touch = xpt2046.Touch(
    spi, 
    cs = digitalio.DigitalInOut(T_CS_PIN),
    interrupt = digitalio.DigitalInOut(T_IRQ_PIN)
)

# Check if we have an interrupt signal
if touch.is_pressed():
    # Get the coordinates for this touch
    print(touch.get_coordinates())

Some more examples:

  • read.py: A simple program which continuously prints coordinates when the screen is pressed
  • adafruit-ili.py: A simple drawing program for an ILI9341 display controlled by the Adafruit display library

Release files for xpt2046-circuitpython 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xpt2046-circuitpython 1.0.3
File Size Uploaded
xpt2046_circuitpython-1.0.3.tar.gz 17.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xpt2046-circuitpython 1.0.3
File Interpreter ABI Platform
xpt2046_circuitpython-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 35.2 kB

Release files / xpt2046_circuitpython-1.0.3.tar.gz

Download URL xpt2046_circuitpython-1.0.3.tar.gz
Size 17.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5074fe5f2bb4612643facbf13343ffc16471bafa3a9f3bd83aea1268bfcb7f16
BLAKE2b-256 checksum
How to use checksums
4b72b4865353ee8ab238d717053aa82d6d701d25d18b556f9d7669077e95d67d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / xpt2046_circuitpython-1.0.3-py3-none-any.whl

Download URL xpt2046_circuitpython-1.0.3-py3-none-any.whl
Size 17.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0ba99b71809781503e437768679bdd1c41f99c8596ac42f22bea7495bea22da2
BLAKE2b-256 checksum
How to use checksums
ee0db8b3f7c1b7210fb134cb5b41517dc064e7ddaba73a24ac1080726af18969
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page