Skip to main content

CircuitPython library for RGB displays.

Project description

Introduction

Documentation Status Discord Build Status Code Style: Ruff

Port of display drivers from https://github.com/adafruit/micropython-adafruit-rgb-display to Adafruit CircuitPython for use on Adafruit’s SAMD21-based and other CircuitPython boards.

This CircuitPython driver currently supports displays that use the following display-driver chips: HX8353, HX8357, ILI9341, S6D02A1, ST7789, SSD1331, SSD1351, and ST7735 (including variants ST7735R and ST7735S).

Dependencies

This driver depends on:

Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading the Adafruit library and driver bundle.

For the Pillow Examples, you will need to be running CPython. This means using a Single Board Computer such as a Raspberry Pi or using a chip such as an FT232H on Linux, Window, or Mac. CircuitPython does not support PIL/pillow (python imaging library)!

For improved performance consider installing NumPy.

Installing from PyPI

On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally from PyPI. To install for current user:

pip3 install adafruit-circuitpython-rgb-display

To install system-wide (this may be required in some cases):

sudo pip3 install adafruit-circuitpython-rgb-display

To install in a virtual environment in your current project:

mkdir project-name && cd project-name
python3 -m venv .venv
source .venv/bin/activate
pip3 install adafruit-circuitpython-rgb-display

Usage Example

2.2”, 2.4”, 2.8”, 3.2” TFT

import time
import busio
import digitalio
from board import SCK, MOSI, MISO, D2, D3

from adafruit_rgb_display import color565
import adafruit_rgb_display.ili9341 as ili9341


# Configuration for CS and DC pins:
CS_PIN = D2
DC_PIN = D3

# Setup SPI bus using hardware SPI:
spi = busio.SPI(clock=SCK, MOSI=MOSI, MISO=MISO)

# Create the ILI9341 display:
display = ili9341.ILI9341(spi, cs=digitalio.DigitalInOut(CS_PIN),
                          dc=digitalio.DigitalInOut(DC_PIN))

# Main loop:
while True:
    # Clear the display
    display.fill(0)
    # Draw a red pixel in the center.
    display.pixel(120, 160, color565(255, 0, 0))
    # Pause 2 seconds.
    time.sleep(2)
    # Clear the screen blue.
    display.fill(color565(0, 0, 255))
    # Pause 2 seconds.
    time.sleep(2)

1.14” TFT with Raspbery Pi 4

With 1.14” wiring, here is the working code:

import time
import busio
import digitalio
from board import SCK, MOSI, MISO, CE0, D24, D25

from adafruit_rgb_display import color565
from adafruit_rgb_display.st7789 import ST7789


# Configuration for CS and DC pins:
CS_PIN = CE0
DC_PIN = D25
RESET_PIN = D24
BAUDRATE = 24000000

# Setup SPI bus using hardware SPI:
spi = busio.SPI(clock=SCK, MOSI=MOSI, MISO=MISO)

# Create the ST7789 display:
display = ST7789(
    spi,
    rotation=90,
    width=135,
    height=240,
    x_offset=53,
    y_offset=40,
    baudrate=BAUDRATE,
    cs=digitalio.DigitalInOut(CS_PIN),
    dc=digitalio.DigitalInOut(DC_PIN),
    rst=digitalio.DigitalInOut(RESET_PIN))

# Main loop: same as above
while True:
    # Clear the display
    display.fill(0)
    # Draw a red pixel in the center.
    display.pixel(120, 160, color565(255, 0, 0))
    # Pause 2 seconds.
    time.sleep(2)
    # Clear the screen blue.
    display.fill(color565(0, 0, 255))
    # Pause 2 seconds.
    time.sleep(2)

Documentation

API documentation for this library can be found on Read the Docs.

For information on building library documentation, please check out this guide.

Contributing

Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.

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

adafruit_circuitpython_rgb_display-3.14.6.tar.gz (40.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file adafruit_circuitpython_rgb_display-3.14.6.tar.gz.

File metadata

File hashes

Hashes for adafruit_circuitpython_rgb_display-3.14.6.tar.gz
Algorithm Hash digest
SHA256 0376b6ba3740459b28439899f3c5e24666dac152423d3f36312ce13ce9c534ce
MD5 82c833cc3c061a5c3508469c11b29643
BLAKE2b-256 f1e621acb8f0a88bd2f31091a5278ee63bf37093548267277527e20ef1264b4e

See more details on using hashes here.

File details

Details for the file adafruit_circuitpython_rgb_display-3.14.6-py3-none-any.whl.

File metadata

File hashes

Hashes for adafruit_circuitpython_rgb_display-3.14.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d7b4ff30ea379e2a900e6bb28a7b4cc43af3ae9c55a5a9567d89be78b6212a50
MD5 adb0ce48b5370484f10343573366ceed
BLAKE2b-256 e384fa9cfd2041311fd7956a2b312ec1cda9b928bb3199b5f2f3e1dce3ec4802

See more details on using hashes here.

Supported by

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