The main use case for this Feather is to use with eInk displays. Adafruit sells many different eInk displays in the shop. In the example below, you'll use the 2.13" Tri-Color eInk display. However, you'll be able to use this Feather with any compatible 24-pin eInk display.
Carefully remove the display ribbon cable from the back of the display PCB by carefully pushing the black tabs on the connector towards the edge of the board.
Open the 24-pin connector on the Feather by carefully pulling out the latch towards away from the Feather. Slot the display ribbon connector into the connector on the Feather with its pins facing up.
Secure the display to the Feather by carefully pushing the black bar on the 24-pin connector closed.
CircuitPython Usage
To use with CircuitPython, you need to first install the SSD1680 library, and its dependencies, into the lib folder onto your CIRCUITPY drive. Then you need to update code.py with the example script.
Thankfully, we can do this in one go. In the example below, click the Download Project Bundle button below to download the necessary libraries and the code.py file in a zip file. Extract the contents of the zip file, and copy the entire lib folder, the code.py file and the display-ruler.bmp file to your CIRCUITPY drive.
Your CIRCUITPY/lib folder should contain the following file:
- adafruit_ssd1680.mpy
# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
# SPDX-FileCopyrightText: Copyright (c) 2023 Jose D. Montoya
#
# SPDX-License-Identifier: Unlicense
'''Simple test for the Adafruit 2.13" Tri-Color eInk Display
with the Feather RP2040 ThinkInk'''
import time
import board
import displayio
import fourwire
import busio
import adafruit_ssd1680
displayio.release_displays()
# this pinout is for the Feather RP2040 ThinkInk
spi = busio.SPI(board.EPD_SCK, MOSI=board.EPD_MOSI, MISO=None)
epd_cs = board.EPD_CS
epd_dc = board.EPD_DC
epd_reset = board.EPD_RESET
epd_busy = board.EPD_BUSY
display_bus = fourwire.FourWire(
spi, command=epd_dc, chip_select=epd_cs, reset=epd_reset, baudrate=1000000
)
time.sleep(1)
display = adafruit_ssd1680.SSD1680(
display_bus,
colstart=8,
width=250,
height=122,
highlight_color=0xFF0000,
rotation=270,
)
g = displayio.Group()
pic = displayio.OnDiskBitmap("/display-ruler.bmp")
t = displayio.TileGrid(pic, pixel_shader=pic.pixel_shader)
g.append(t)
display.root_group = g
display.refresh()
print("refreshed")
while True:
pass
After running the example code, you'll see the 2.13" display refresh and show the display-ruler.bmp image in red, black and white.
Page last edited March 16, 2026
Text editor powered by tinymce.