
Security News
Open Source Maintainers Feeling the Weight of the EU’s Cyber Resilience Act
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
adafruit-circuitpython-rgb-display
Advanced tools
.. image:: https://readthedocs.org/projects/adafruit-circuitpython-rgb_display/badge/?version=latest :target: https://docs.circuitpython.org/projects/rgb_display/en/latest/ :alt: Documentation Status
.. image:: https://raw.githubusercontent.com/adafruit/Adafruit_CircuitPython_Bundle/main/badges/adafruit_discord.svg :target: https://adafru.it/discord :alt: Discord
.. image:: https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display/workflows/Build%20CI/badge.svg :target: https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display/actions/ :alt: Build Status
.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json :target: https://github.com/astral-sh/ruff :alt: 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.
.. note:: This driver currently won't work on micropython.org firmware, instead you want the micropython-adafruit-rgb-display driver linked above!
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).
This driver depends on:
Adafruit CircuitPython <https://github.com/adafruit/circuitpython>
_Bus Device <https://github.com/adafruit/Adafruit_CircuitPython_BusDevice>
_Please ensure all dependencies are available on the CircuitPython filesystem.
This is easily achieved by downloading
the Adafruit library and driver bundle <https://github.com/adafruit/Adafruit_CircuitPython_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.
On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally from PyPI <https://pypi.org/project/adafruit-circuitpython-rgb-display/>
_. To install for current user:
.. code-block:: shell
pip3 install adafruit-circuitpython-rgb-display
To install system-wide (this may be required in some cases):
.. code-block:: shell
sudo pip3 install adafruit-circuitpython-rgb-display
To install in a virtual environment in your current project:
.. code-block:: shell
mkdir project-name && cd project-name
python3 -m venv .venv
source .venv/bin/activate
pip3 install adafruit-circuitpython-rgb-display
.. code-block:: python
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
CS_PIN = D2 DC_PIN = D3
spi = busio.SPI(clock=SCK, MOSI=MOSI, MISO=MISO)
display = ili9341.ILI9341(spi, cs=digitalio.DigitalInOut(CS_PIN), dc=digitalio.DigitalInOut(DC_PIN))
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)
With 1.14" wiring <https://learn.adafruit.com/adafruit-1-14-240x135-color-tft-breakout/python-wiring-and-setup>
_, here is the working code:
.. code-block:: python
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
CS_PIN = CE0 DC_PIN = D25 RESET_PIN = D24 BAUDRATE = 24000000
spi = busio.SPI(clock=SCK, MOSI=MOSI, MISO=MISO)
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))
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)
API documentation for this library can be found on Read the Docs <https://docs.circuitpython.org/projects/rgb_display/en/latest/>
_.
For information on building library documentation, please check out this guide <https://learn.adafruit.com/creating-and-sharing-a-circuitpython-library/sharing-our-docs-on-readthedocs#sphinx-5-1>
_.
Contributions are welcome! Please read our Code of Conduct <https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display/blob/main/CODE_OF_CONDUCT.md>
_
before contributing to help this project stay welcoming.
FAQs
CircuitPython library for RGB displays.
We found that adafruit-circuitpython-rgb-display demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.