ESP8266 OLED display library release

Recently I released a new version of the esp8266-oled-ssd1306 library. This library allows you to control these wonderful little displays from a ESP8266 with little effort. When I first wrote the library for the WeatherStation I had the problem that 128×64 pixels never seemed enough space to display all the information. Then I added a feature set which allows you to describe the information in an number of frames which will then be side scrolled and displayed one after the other, just like a photo carousel often used on web pages.

Shifted Display Fix

With this new release I fixed a few very annoying issues. The most important (and also most annoying) issue was the shifting of the display content after reprogramming. I had suspected the init sequence for a long time but never had time to analyze it properly. It now turns out: I was completely wrong. The SSD1306 has various memory modes. In the mode I used you have to set the writing pointer to the used display memory. This pointer will be increased automatic with every write in to the memory. While this implicitly happens when you power cycle the display omitting this calibration can lead to unexpected results, such as shifted or distorted display content. Long story short: I fixed it and it seems to work now. This means while developing an application for the OLED display you no longer will have to unplug the ESP8266 to get a properly placed content!

More ASCII characters

Another fix was not really in the library but in my hacky Java program which I wrote to convert TTF fonts to a proprietary format used in the library. Out of considerations for space I had initially decided to include fonts only containing the charachters 32-127 of the ASCII table. But it so happens the the degree symbol “°” is in the extended ASCII table at charachter 176. Since I use the library and the fonts in the WeatherStation this character is very useful. So in the new release I added the full printable character set from 32-255.
In this picture you can see its use:

Related:  Turn on/off USB Power on TL-MR3020 running OpenWrt to restart Arduino
Using the new extended character set, containing the “°” character among others.
Displaying data from my balcony, measured with the ClimateNode
To update the library go to the library manager, search for “esp8266-oled-ssd1306” and click update.

One last thing…

Ok, maybe my announcement is not comparable to those of late Steve but still I’m happy to have a new product in my small shop: the ClimateNode. It contains a NodeMCU V1.0, a DHT22 to measure temperature and humidity and a USB cable. To get it to run you’ll need 3 female-female dupont jumpers which are part of the WeatherStation Kit. How you can set the hole thing up, soon, on this channel;-). So stay tuned! You can order it now here: 
The new ClimateNode to measure temperature and humidity on
your balcony, basement, bathroom, etc.
Now a beer! Did you like this post? It often takes me several hours of my free time to write one. If I was your neighbour would you offer me a beer for the hard work I did for you? The beauty is: beers can be teletransported with a painless donation using Paypal. A beer in a Swiss bar costs about USD $4.80. Or use this affiliate link if you order something on Banggood and I'll get a small kickback. Thank you!