Home > News & Updates > Electronics News Updates > ESP8266: SSD1306 Oled Library Release

ESP8266: SSD1306 Oled Library Release

Summary of ESP8266: SSD1306 Oled Library Release


This article summarizes the release of an open-source ESP8266 OLED SSD1306 library. It highlights performance improvements via BRZO I2C, refactored fonts for memory efficiency, and separated hardware protocols. New features include support for circles, lines, progress bars, and serial printing with auto-scrolling. The update requires code modifications and font regeneration due to class renaming and structural changes.

Parts used in the ESP8266 OLED SSD1306 Library Project:

  • ESP8266 module
  • OLED modules (SSD1306)
  • Pasko's BRZO I2C library
  • SPI hardware protocol implementation
  • I2C hardware protocol implementation
  • Web based font generator
  • Oled* core classes
  • Weather Station library

The “ESP8266 OLED SSD1306″ is an open source library which allows you to control those pretty OLED modules from our beloved ESP8266 module. Fabrice Weinberg cleaned up all the ugly pieces of code which I initially wrote caused by my near C/C++ illiteracy. He also added support for Pasko’s BRZO I2C library which is partially written in assembler and allows a much higher throughput over the I2C channel.

ESP8266 SSD1306 Oled Library Release

Fabrice’s video below compares the the two I2C implementations:

Other changes:

  • The font format was refactored for better memory efficiency and the web based font generator (http://oleddisplay.squix.ch/) now lets you generate font files for the older library versions or the new ones
  • The hardware protocol level implementations (SPI, I2C) have been separated from the low level graphical functions. This affects how you instantiate the display classes
  • To be open for future support of similar displays the core classes were renamed to Oled* instead of SSD1306
  • More graphical functions have been added, including drawing of circles, non-vertical lines and a progress bar
  • In case you want to use the display for simple log output you can now use print(..) and println(..) and the library will take care of scrolling. See Fabrice’s video below:

For a full list of new features and how to upgrade your existing code please have a look at the comprehensive upgrade guide: https://github.com/squix78/esp8266-oled-ssd1306/blob/master/UPGRADE-3.0.md

Please note: this release will break with your code based on the older 2.0.0 version. In case you have created fonts you’ll have to re-generate them as well. This also affects the Weather Station library!

Many thanks again to Fabrice Weinberg and all other contributors to make this release possible!

Read more: ESP8266: SSD1306 Oled Library Release

Quick Solutions to Questions related to ESP8266 OLED SSD1306 Library:

  • What is the purpose of this library?
    The library allows you to control pretty OLED modules from your ESP8266 module.
  • How can I achieve higher throughput over the I2C channel?
    You can use Pasko's BRZO I2C library which is partially written in assembler.
  • Where can I generate font files for this project?
    You can use the web based font generator at http://oleddisplay.squix.ch/.
  • Does this release affect existing code from version 2.0.0?
    Yes, this release breaks compatibility with older 2.0.0 versions and requires re-generating fonts.
  • What new graphical functions are included?
    The library now supports drawing circles, non-vertical lines, and a progress bar.
  • Can I use the display for simple log output?
    Yes, you can use print and println functions and the library will handle scrolling automatically.
  • Why were the core classes renamed?
    The core classes were renamed to Oled* to be open for future support of similar displays.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top