User Tools

Site Tools


This is an old revision of the document!

Small OLED Displays and the Arduino Uno

Summary evaluation

Very small 128×64 OLED display modules offering both SPI and I2C interfaces via a SSD1306 controller have been around for a few years. The most popular size is 0.96", but a larger 1.3" version is also available. They are priced very reasonably, and owing to their small physical size they offer high DPI. Since they are monochrome devices, the expected data load they present to the microcontroller is, unlike TFT displays, relatively low.

The 1.3“ size in particular is an attractive alternative to the Nokia 5110 display as a display that isn't surplus and offers a more modern appearance. They are also a promising alternative to 1.8" and 1.44" TFT displays, whose data requirements leaves speed wanting with the wimpy little Uno/Nano/Pro Mini.

In the tests that follow, I am striving to answer first whether the rendering updates will be fast enough for reasonable use and second whether there will be any memory left to do anything interesting. They are certainly fast enough, but the required program storage and dynamic memory space isn't trivial.


There are more libraries than the ones below available for the SSD1306 interface IC. I only used a couple because results for the Nokia 5110 displays give us an idea regarding how various libraries might scale. Both tests were done with a 16 MHz 5V Nano.1)


Oli Kraus' U8g2 is intended to be a common platform for interfacing to a whole bunch of different monochrome displays. It supports the SSD1306 controller chip out of the box.

The flickering seen in the video is not present in real life.

source code


Before there was U8g2, there was U8glib. While this version of the library is no longer maintained, it doesn't mean it doesn't have value. It's constructors are a little less bewildering than U8g2 and so may be better suited to beginners.

The flickering seen in the video is not present in real life.

source code

The modules are purported to be 5V tolerant, but you might want to use level shifters anyway if you're going to use a 5V board.
arduino/displays_for_classic_arduinos/tiny_oled_displays_and_classic_arduinos.1517112828.txt.gz · Last modified: 2018/01/28 04:13 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki