Driver for the Solomon Systech SSD1619A e-Paper display controller for embedded-graphics.
It has been tested on a WeAct Studio 4.2″ EPD module that uses a display assembly made by Holitech.
As of ssd1619a v0.1, the driver supports B/W modules and provides a blocking API for updating
the display. It requires the use of a framebuffer with a capacity of 15000 bytes of graphics data
for a native resolution of 400×300 pixels. Partial screen refresh is not supported; this crate is
intended for displaying graphics and text that do not have any motion.
[dependencies]
ssd1619a = "0.1.0"pub fn draw_graphics(
spi: impl SpiDevice,
dc: impl OutputPin,
rst: impl OutputPin,
busy: impl InputPin,
) -> Result<(), impl core::error::Error> {
let interface = SpiInterface::new(spi, dc, rst, busy);
let mut display = Builder::new(interface)
.with_buffer(/* &'static mut [u8; 15000] */)
.init(&mut Delay)?;
let style = PrimitiveStyleBuilder::new()
.fill_color(BinaryColor::On) // Black
.build();
Rectangle::new(Point::new(0, 40), Size::new(400, 220))
.into_styled(style)
.draw(&mut display)?;
display.update(&mut Delay)
}The minimum supported Rust version for ssd1619a is 1.89.
The source code of ssd1619a is dual-licensed 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)
at your option.