epd-datafuri
Rust driver for Adafruit e-Paper displays (EPD), for use with embedded-hal.
Supported Displays
| Display | Controller | Colors | Grayscale |
|---|---|---|---|
| Adafruit ThinkInk 2.9" EAAMFGN (2025 MagTag) | SSD1680 | BW | Gray2 (2-bit, 4-level) |
| Adafruit ThinkInk 2.9" T5 (original MagTag) | IL0373 | BW | Gray2 (2-bit, 4-level) |
Supported controllers:
Description
Built using embedded-hal and optionally embedded-graphics.
Grayscale
2-bit, 4-level grayscale (Gray2) is supported for both displays. Each display module
exports its own Display2in9Gray2 with the correct plane mapping for that
controller:
adafruit_thinkink_290_mfgn::Display2in9Gray2for the ThinkInk 2.9" (SSD1680)adafruit_thinkink_290_t5::Display2in9Gray2for the MagTag 2.9" (IL0373)
Partial Updates
Partial updates are not supported.
Usage
ThinkInk 2.9" — Monochrome (SSD1680)
use ;
use *;
let mut driver = new?;
let mut display = new;
// Draw using embedded-graphics
new.draw?;
driver.begin?;
driver.update_and_display?;
ThinkInk 2.9" — Grayscale (SSD1680)
use ;
use *;
use Gray2;
let mut driver = new?;
let mut display = new;
// Draw using embedded-graphics with 4-level gray
new.draw?;
new
.into_styled
.draw?;
driver.begin?;
driver.update_gray2_and_display?;
MagTag 2.9" — Grayscale (IL0373)
use ;
use *;
use Gray2;
let mut driver = new?;
let mut display = new;
// Draw using embedded-graphics with 4-level gray
new.draw?;
new
.into_styled
.draw?;
driver.begin?;
driver.update_gray2_and_display?;
Examples
- ESP32-S2 MagTag examples
adafruit_magtag_bw: black/white rendering (SSD1680)adafruit_magtag_gray2: 4-level grayscale rendering (SSD1680)adafruit_magtag_legacy_gray2: 4-level grayscale rendering (IL0373)
- MagTag example project
Credits
This crate was originally a fork of ssd1680 by Konstantin Terekhov. It has been heavily modified to support the Adafruit MagTag EPD displays.
- Arduino Display Library for SPI E-Paper Displays
- Adafruit ThinkInk Arduino library
- SSD1681 EPD driver
- Waveshare EPD driver
License
epd-datafuri is dual licenced under:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)