Skip to content
A simple C library (Linux + Arduino) for drawing text and graphics on SSD1306/SH1106 OLED displays
C Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Arduino Moved to support the Arduino IDE library manager May 31, 2019 Update May 17, 2019
fonts.bin initial commit on github Jan 17, 2017
sample.c Removed old external reference May 15, 2019

** OLED_96 **

OLED_96 is a simple C library for working with SSD1306/SH1106 OLED displays when connected to the I2C bus. Tested on various ARM SBCs and Arduinos. The idea is to provide a simple interface for C programmers to make use of those low-cost OLED displays without having to read the data sheet or figure out I2C programming.

Written by Larry Bank
Project started 1/15/2017

Latest Changes:
The Linux version now supports the 3 display sizes
The Arduino version now includes support for my BitBang_I2C library so that any
two GPIO pins can be used to drive the display.
The library now supports 3 sizes of SSD1306 displays (and SH1106): 132x64, 128x64, 128x32, and 64x32


  • Efficient individual pixel drawing
  • Small, Medium and large fonts (6x8, 8x8, 16x32)
  • Invert and flip 180 options (entire display)
  • Optional inverted text
  • Brightness control
  • Support for 64x32, 128x32, 128x64 and 132x64 (SH1106) displays
  • Line draw function

*NEW* Display a Windows BMP (Arduino version).
This code was added to make it simpler to display a full screen logo bitmap by just copying a 1-bpp Windows BMP into the flash memory and calling 1 function.

If you find this code useful, please consider buying me a cup of coffee


You can’t perform that action at this time.