/SparkFun_Qwiic_OLED_Arduino_Library

Arduino Library for SparkFun's OLED Qwiic (I²C) boards

Primary LanguageC++OtherNOASSERTION

SparkFun Qwiic OLED Arduino Library

SparkFun Qwiic OLED Arduino Library

follow on Twitter

SparkFun Micro OLED Breakout (Qwiic) (LCD-14532) SparkFun Qwiic OLED Display (0.91 in, 128x32) (LCD-17153) SparkFun Transparent Graphical OLED Breakout (Qwiic) (LCD-15173) smôl OLED Display (0.91 in, 128x32) (SPX-18996)

The SparkFun Qwiic OLED Arduino Library is a single graphics module that supports all SparkFun OLED boards based on the SSD1306 from Solomon Systech. Prior to this library, three different libraries were used to support our four different OLED boards.

The SparkFun Qwiic OLED Library delivers a common implementation for all our Qwiic OLED products, delivering a unified, fast, and efficient solution that implements a familiar and easy to understand user experience.

Key Features

  • Implements common graphics capabilities: pixel, line, rectangle, filled rectangle, circle, filled circle, bitmap, text and raster operators (i.e. XOR).
  • Smart data transfer to the device – only sends dirty regions of the graphics buffer to the OLED device, not the entire buffer.
  • High performance – 2x faster than our previous OLED library, often much higher.
  • Efficient memory usage. No dynamic memory utilized. Static resources are loaded once, and only on explicit declaration.
  • Implements a familiar interface, making migration from older libraries straight forward

Documentation

A full library use overview, API reference guide and key example walk through are available on this repositories github page - sparkfun.github.io/SparkFun_Qwiic_OLED_Arduino_Library

How much faster?

The SparkFun Qwiic OLED Library is between 40% and 450% faster. The original Micro OLED library had a max output of ~75 frames per second. This library automatically only updates what changed we can reach more than 300 frames per second. What does that look like?

OLED.Lib.Truck.New.vs.Old.mp4

Above, the OLED on the right is running the original Micro OLED library at 75fps. On the left the display is more than 348 frames per second. In real life it's quite smooth; the camera is not able to keep up. This is at 400kHz I2C.

OLED.Lib.Clock.New.vs.Old.mp4

Above, the OLED on the right is running the original Micro OLED library at 75fps. On the left the display is more than 107 frames per second because the clock takes up a lot of the display, but not all of it. This is at 400kHz I2C.

Supported Products

  • LCD-13003 - SparkFun Micro OLED Breakout
  • LCD-14532 - SparkFun Micro OLED Breakout (Qwiic)
  • LCD-17153 - SparkFun Qwiic OLED Display (0.91 in, 128x32)
  • LCD-15173 - SparkFun Transparent Graphical OLED Breakout (Qwiic)
  • SPX-18996 - smôl OLED Display (0.91 in, 128x32)

Supported Microcontrollers - Arduino Environment