The 0.96″ OLED displays I usually use for the WeatherStation are gorgeous but they could be bigger, right? Recently a bigger version of the SSD1306 based display became available on my favourite channels. Thanks to great work of the community (especially Fabrice Weinberg) the OLED library on Github as been extended to support those 1.3″ displays based on the SH1106 chip.

Adapting the code
So how do you get those displays working with the WeatherStation or the PlaneSpotter? The OLED library makes that really easy: you just have to change two lines of code. The include for the SH1106 driver has to be included and then the instantiation. Find the line
#include <SSD1306Wire.h>
and replace it with
#include <SH1106.h>
The next step is to replace the instantiation of the driver:
SSD1306Wire display(I2C_DISPLAY_ADDRESS, SDA_PIN, SDC_PIN);
and replace it with:
SH1106 display(I2C_DISPLAY_ADDRESS, SDA_PIN, SDC_PIN);
Done! Easy, wasn’t it? The OLED library supports other types of displays or communication protocols. You kind out more about them here:
https://github.com/squix78/esp8266-oled-ssd1306
Summary
With changing just a few lines you can get the WeatherStation and the PlaneSpotter working on the bigger 1.3″ screens. The cost a little bit more but depending on your casing they are worth the money. By the way: the pixel density (DPI) is actually worse with the 1.3″ displays since both types have the same resolution of 128×64 pixels. You can find the displays on AliExpress, eBay or on Banggood and support the Blog by following this link.
If you want more bigger , you have this one : http://www.wide.hk/index.php?route=product/product&product_id=50
i buy it and test it , he work well !
>$20 for mono 2.4″ screen??? It is ridiculous.
Tried converting my SSD1306 SPI example for a 1.3″ SH1106 OLED using the information in the GitHub examples. Unfortunately, though I do get some display, it is quite a jumbled mess. Looks like some work yet to be done on the SPI library components.
Fabrice clued me in as to the issue…it seems the CS line has not been implemented in the SH1106 SPI library routine that initializes the display. Once I removed this reference from the call, I was able to get this working correctly.
Tried to get the Banggood 1.3″ I2C display to work with this library and my WeMos D1 mini unfortunately this was not successful till now. Getting really frustrated from this display, the display works great with my mega2560 but need it to work on the WeMos D1 mini…
Help appreciated.
I’m working on a [Lunar Phase Weather Station](https://arduinosaurus.wordpress.com/portfolio/lunar-phase-weather-station/)
I’ve designed and 3D printed some parts based on [G4lile0’s project](http://www.instructables.com/id/3Dprinted-Lunar-Phase-Clock/).
My [Github Gist](https://gist.github.com/terrag42/d9709871dc25f78edbc20c0a4bb189a2).