A Blazing Fast Graphics Library for Your SPI Color OLED Displays on an ATtiny85
If you’ve ever used an SPI (Serial Peripheral Interface) OLED display with a microcontroller, you likely took advantage of one of the…
If you’ve ever used an SPI (Serial Peripheral Interface) OLED display with a microcontroller, you likely took advantage of one of the existing graphics libraries out there. Adafruit’s SSD1331 library, for example, is a popular option that is easy to use. But, it doesn’t prioritize performance. If you require more speed or want to use a low-power microcontroller, check out David Johnson-Davies’ ATtiny85 Colour Graphics Library.
The problem with most SSD1331 OLED display graphics libraries is that they require a memory buffer. That buffer slows things down, and also limits which microcontrollers can be used. Johnson-Davies’ library skips the memory buffer and sends data directly via graphics accelerator commands that are built into the SSD1331 driver chip. That’s much faster, and a test to clear the screen showed that Johnson-Davies’ library is 100 times faster than the Adafruit library.
In addition to the speed increase, this uses fewer pins and can run on any processor. Specifically, Johnson-Davies experimented with an ATtiny85, which is one of the most humble microcontrollers available today. With a simple breadboard circuit, he was able to drive the 96x64, 64K colors SPI OLED display directly from the ATtiny85. If you want to try the library out for yourself, Johnson-Davies has provided a thorough explanation of how it works, as well as some example code.