Skip to main content

A simple XPT2046 chip reader designed for use with CircuitPython.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xpt2046_circuitpython-1.0.3.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

xpt2046_circuitpython-1.0.3-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

Details for the file xpt2046_circuitpython-1.0.3.tar.gz.

File metadata

  • Download URL: xpt2046_circuitpython-1.0.3.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for xpt2046_circuitpython-1.0.3.tar.gz
Algorithm Hash digest
SHA256 5074fe5f2bb4612643facbf13343ffc16471bafa3a9f3bd83aea1268bfcb7f16
MD5 469786857721b81d087875a24d3ba7a1
BLAKE2b-256 4b72b4865353ee8ab238d717053aa82d6d701d25d18b556f9d7669077e95d67d

See more details on using hashes here.

File details

Details for the file xpt2046_circuitpython-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for xpt2046_circuitpython-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0ba99b71809781503e437768679bdd1c41f99c8596ac42f22bea7495bea22da2
MD5 7e3a4e244d5d821fb7b9bad0f7e770d7
BLAKE2b-256 ee0db8b3f7c1b7210fb134cb5b41517dc064e7ddaba73a24ac1080726af18969

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page