Rust has a constantly growing ecosystem of drivers for embedded peripherals.
For displays in particular, embedded-graphics
makes it super easy for developers to write UI code once and have it work across lots of different hardware.
I picked up a few different SPI OLED displays to build some prototypes, and noticed that there was no Rust driver for the SSD1309 yet. Luckily, most disply hardware is already well-supported by the C/C++ U8g2 library. The SSD1309 display is also quite similar to the SH1106, which already has an excellent Rust driver implementation. Using those two libraries as references, along with a datasheet I found online, I got to work.
The result is ssd1309
, a Rust embedded driver for SSD1309 OLED displays.
It supports I2C and SPI interfaces, and exposes an embedded-graphics
-compatible API.