Introduction ============ .. image:: https://readthedocs.org/projects/adafruit-circuitpython-epd/badge/?version=latest :target: https://docs.circuitpython.org/projects/epd/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_EPD/workflows/Build%20CI/badge.svg :target: https://github.com/adafruit/Adafruit_CircuitPython_EPD/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 This library is for using CircuitPython with e-ink displays with built in SRAM. Dependencies ============= This driver depends on: * `Adafruit CircuitPython `_ * `Bus Device `_ * `font5x8.bin found in the examples bundle `_ Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading `the Adafruit library and driver bundle `_. 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: .. code-block:: shell pip3 install adafruit-circuitpython-epd To install system-wide (this may be required in some cases): .. code-block:: shell sudo pip3 install adafruit-circuitpython-epd 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-epd Usage Example ============= .. code-block:: python import digitalio import busio import board from adafruit_epd.epd import Adafruit_EPD from adafruit_epd.il0373 import Adafruit_IL0373 # create the spi device and pins we will need spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO) ecs = digitalio.DigitalInOut(board.D12) dc = digitalio.DigitalInOut(board.D11) srcs = digitalio.DigitalInOut(board.D10) # can be None to use internal memory rst = digitalio.DigitalInOut(board.D9) # can be None to not use this pin busy = digitalio.DigitalInOut(board.D5) # can be None to not use this pin # give them all to our driver print("Creating display") display = Adafruit_IL0373(104, 212, spi, # 2.13" Tri-color display cs_pin=ecs, dc_pin=dc, sramcs_pin=srcs, rst_pin=rst, busy_pin=busy) display.rotation = 1 # clear the buffer print("Clear buffer") display.fill(Adafruit_EPD.WHITE) display.pixel(10, 100, Adafruit_EPD.BLACK) print("Draw Rectangles") display.fill_rect(5, 5, 10, 10, Adafruit_EPD.RED) display.rect(0, 0, 20, 30, Adafruit_EPD.BLACK) print("Draw lines") display.line(0, 0, display.width-1, display.height-1, Adafruit_EPD.BLACK) display.line(0, display.height-1, display.width-1, 0, Adafruit_EPD.RED) print("Draw text") display.text('hello world', 25, 10, Adafruit_EPD.BLACK) display.display() 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.