SSD1306 display drivers and font rendering
subalpinecircuits.com
SSD1306 display drivers and font rendering
1–10 of 35 posts
Re: SSD1306 display drivers and font rendering
#2There's a few Rust libraries for it, too. And it's supported in Wokwi! https://wokwi.com/projects/425067706980448257
Re: SSD1306 display drivers and font rendering
#3Love it.
Re: SSD1306 display drivers and font rendering
#4Re: SSD1306 display drivers and font rendering
#5Many ESP32's can only do 400kHz I2C, whereas their SPI peripheral can often do 80 MHz or more (although you wouldn't want to go that fast here). 400kHz sort of works, but if you also want to handle other I2C devices it can easily become a problem.
Re: SSD1306 display drivers and font rendering
#6One of my favorite hacks is running this display over HDMI [0].
Note that it’s possible to refresh it at higher rates by using partial refreshes. Or even higher to 150 fps [1].
[0] https://hackaday.com/2022/04/01/making-your-own-technically-...
[1] https://hackaday.com/2018/05/08/push-it-to-the-limit-ssd1306...
Re: SSD1306 display drivers and font rendering
#7Go for the SPI version, which is the same chip but just s different breakout board. Many ESP32's can only do 400kHz I2C, whereas their SPI peripheral can often do 80 MHz or more (although you wouldn't want to go that fast here). 400kHz sort of works, but if you also want to handle other I2C devices it can easily become a problem.
Re: SSD1306 display drivers and font rendering
#8It’s generally quite easy to use these over I2C without a driver. You can crib the sequence of initialization commands from the example code supplied by the manufacturer (or loads of examples on GitHub), and then the commands to draw to the screen are pretty straightforward. The chip has its own display RAM, so you don’t need to worry about redrawing every time the display refreshes or anything as low-level as that.
Re: SSD1306 display drivers and font rendering
#9Go for the SPI version, which is the same chip but just s different breakout board. Many ESP32's can only do 400kHz I2C, whereas their SPI peripheral can often do 80 MHz or more (although you wouldn't want to go that fast here). 400kHz sort of works, but if you also want to handle other I2C devices it can easily become a problem.
Plus not needing to dedicate a control pin per device added to the bus. Though of course if data throughout is an issue SPI is better than I2C.
Re: SSD1306 display drivers and font rendering
#10I normally work with C++ on esp32 for these little displays, and in there I use a screen buffer for partial refreshes which makes them very fast !!