SSD1306 display drivers and font rendering
Published on: 2025-08-29 04:08:24
When I first started implementing the SSD1306 OLED on my prototype, I grabbed the quickest and easiest to implement driver I could find - a driver Espressif shipped as part of ESP-BSP that has since been removed. It worked great, updated the screen at about 40 hz, and was very light on resources. However, it only supports a single font, and isn't set up easily to support adding others without doing a fair amount of work to get each glyph into a specific format of C array. I wanted to add a different font, so I started looking around at other options.
That driver is no longer supported, and Espressif has replaced it with a lower level driver that doesn't actually support any fonts, just direct bitmap drawing. The recommendation is now to use LVGL, a fully featured graphics stack that has widgets, buttons, all sorts of things. So I went about implementing LVGL, which - sure enough - has good support for adding your own fonts, but can't hit more than about 18 - 20 hz on the ESP32 (runnin
... Read full article.