SSD1306 64×32 Pixel .49″ OLED ER-OLED0.49-1W

I have modified the Adafruit SSD1306 library to work with the smaller 64×32 OLED Displays that can be purchased here and from various other online suppliers.

https://github.com/WaiakeaRobotics/Adafruit_SSD1306

PDF showing proper wiring for OLED

Notes (In Chinese – use google translate) from another on modifying the UCGLIB library for this display

 

0-49_oled_display_module_64x32_pixel_ssd1306_i2c_white_on_black

4 thoughts on “SSD1306 64×32 Pixel .49″ OLED ER-OLED0.49-1W

  1. Hi, I’m working on this screen. But I can’t display anything. I have tried Adafruit and UG8LIB Libraries and try to modify some line of code but it doesn’t work.
    I have tried with your new library of Adafruit but it doesn’t work too: do you have an exemple of code which run with this?

    My pins are on 5V, GND, A4 and A5, and the I2C works on 0x3C.

    Thanks in advance! 😀

    1. Hi Adrien,

      I also had lots of problems with these displays, and it seemed to me like some of them never worked properly.
      Here is an example of working code to write to one, https://github.com/WaiakeaRobotics/Cubic_Inch_Robot_2016_V1.1/blob/master/Cubic_Inch_Robot_2016_V1.1.ino
      This sketch needs the Arduino Zero SAMD21G18A chip to compile and has allot of extra stuff for the microbot but you can probably cut out the OLED sections if you want.
      The library in that example is also modified to be included locally, but should be the same library as the one linked in this article above.

      One trick that helped on some of the displays was to call the initialization functions multiple times like so:
      display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
      display.display();
      display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
      display.display();

      One thing I suspect is that they need the Reset line brought out and used to get the proper starting registers set.. You may have better luck if you can attach a jumper to the pin you define in your setup like so:
      #define OLED_RESET 5
      Adafruit_SSD1306 display(OLED_RESET);

      Let me know if any of that works out for you!

      1. The link you attached about the other guy is in Chinese, and fortunately I can read Chinese!
        He used U8glib, and modified the 64X48 display into a 64×32 display, it works without modifying anything, but it’s unplasent (size, misalliment)
        He followed the datasheet and changed a few things in the library and seem to be working great
        It’s from U8glib so it’s not gonna be fast, but I will give it a shot and report back~

        1. Hi Hucheng,
          Great! I had to use Google translate to understand the modifications he had made 😉 I used this as a partial guide to what needed to be modified in the Adafruit library. I didn’t want to use U8glib for this project because of the long compile time but it is another option and maybe I should try it again on the screens I could not get to work with my modified library, to make sure the problem is not some software registers.

Leave a Reply

Your email address will not be published.