Adafruit SSD1306 Monochrome 128×32 OLED graphic display running at over 500 hz frame rate

Adafruit SSD1306 running at over 500 hz frame rate. Greg writes –

Final driver tweeks have raised the frame rate to over 500 hz with the same graphic load. Again, a great display!  Thanks very much for your products. They are fun to incorporate into our designs.

The display is being updated at over 500 hz as can be determined by the on screen counter (it counts from o through 999 then resets) and by the oscilloscope frequency display (it is reading 553.1 hz). The driver is optimized for the display, however, it is ready to drive the 128 by 64 version of the display when it becomes available. The PIC24FJ64GB002 is running at 16mhz. The spi bit rate is 8mhz. The drivers are written in C. No assembly language was required.


Monochrome 128×32 OLED graphic display. These displays are small, only about 1″ diagonal, but very readable due to the high contrast of an OLED display. This display is made of 128×32 individual white OLED pixels, each one is turned on or off by the controller chip. Because the display makes its own light, no backlight is required. This reduces the power required to run the OLED and is why the display has such high contrast; we really like this miniature display for its crispness!


The driver chip SSD1306, communicates via SPI only. 4 or 5 pins are required to communicate with the chip in the OLED display.


The OLED and driver require a 3.3V power supply and 3.3V logic levels for communication. To make it easier for our customers to use, we’ve added a 3.3v regulator and level shifter on board! This makes it compatible with any 5V microcontroller, such as the Arduino.

The power requirements depend a little on how much of the display is lit but on average the display uses about 20mA from the 3.3V supply. Built into the OLED driver is a simple switch-cap charge pump that turns 3.3v-5v into a high voltage drive for the OLEDs, making it one of the easiest ways to get an OLED into your project!

Of course, we wouldn’t leave you with a datasheet and a “good luck”: We have a detailed tutorial and example code in the form of an Arduino library for text and graphics. You’ll need a microcontroller with more than 512 bytes of RAM since the display must be buffered.

You can download our SSD1306 OLED display Arduino library from github which comes with example code. The library can print text, bitmaps, pixels, rectangles, circles and lines. It uses 512 bytes of RAM since it needs to buffer the entire display but its very fast! The code is simple to adapt to any other microcontroller.


  • PCB: 32mm x 23mm
  • Display area: 25mm x 7mm
  • Thickness: 4mm

Display details:

  • Diagonal Screen Size:0.91″
  • Number of Pixels:128 × 32
  • Color Depth:Monochrome (White)
  • Module Construction:COG
  • Module Size (mm):46.30× 11.50 × 1.45
  • Panel Size (mm):30.00 × 11.50 × 1.45
  • Active Area (mm):22.384 × 5.584
  • Pixel Pitch (mm):0.175 × 0.175
  • Pixel Size (mm):0.159 × 0.159
  • Duty:1/32
  • Brightness ( cd/m2):150 (Typ) @ 7.25V
  • Interface:4-wire SPI

In stock and shipping now!

Join 6,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython in 2018 – Python on Microcontrollers is here!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/

Maker Business — Aquarium troubles: the cost of iteration and troubleshooting with a manufacturers abroad

Wearables — Plastic gem know-how

Electronics — Counting Pin Numbers

Biohacking — Exploring Our Inner Reality : Entopic Visions

Python for Microcontrollers — CircuitPython 3.0.0 Release Candidate 0 released!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !


  1. It is worth seeing the video of what this display can do because the still picture can’t communicate all of it.

    I’m also interested in any Pic wiring diagrams and programs so that I can do something with the display.

  2. I can provide the schematic diagram in ExpressSCH format. I can also provide the source code if Adafruit allows since I “borrowed” the font, line, and pixel draw from their demonstration. However, I’m not “social media” aware (56 years old), so someone needs to tell me how to post the schematic and source if Adafruit allows.

    The display is easy to drive via spi and is great for most if not all low power battery operated applications requiring a graphical display output in a small form factor. As you may be able to tell, I am very pleased with Adafruit products. Just a fan, not an employee.

    And while the display does allow an incredible frame rate, our prototype did not require high speed animation. We needed a display that allowed the PIC24FJ64GB002 to wake up, perform calculations, output them to the display as quick as possible, then return to sleep. This display allows us to perform this task better than any display I’ve found.

    To Adafruit, your team certainly provides a wide range of high performance products. We have a lot of fun with them.

  3. Would like to see some more samples and faster response times. Pls post the updated library. Thx

  4. Greg,

    I would love to see it and I would be greatfull I’m trying to learn how to get started and this is what I need.


  5. I need instructions on how to upload the schematic. If anyone could help, I would appreciate it.

    Sorry for being “upload illiterate”.

    I will upload the source code next, but need to know how to upload it also.

    Many thanks.

  6. Greg,

    I’m willing to trade email addresses with you.
    Chuck jts at verizon dot net


Sorry, the comment form is closed at this time.