light library for OLED 128x64

Hello! Is there other than Adafruit library for such OLED, but lightweighted? Sadly Adafruit takes a lot of memory, plus somewhy program doesn't want to work in combo with Adafruid and my timers library.

What do you want to do?
Graphics or bit-map alphanumerics, or both?

TheMemberFormerlyKnownAsAWOL: What do you want to do? Graphics or bit-map alphanumerics, or both?

Oh, well, i think just text would be fine. I can make own graphics functions if i will know how to put pixel in specified coordinates.

Which controller does your display have?

TheMemberFormerlyKnownAsAWOL: Which controller does your display have?

I'm not really sure, but description says SSD1306. Also it have i2c interface, not SPI.

I think there should be a version of the u8 library that is text only that also supports the 1306

There are several text-only or "light" libraries for SSD1306 e.g. ss_Oled from Library Manager.

I strongly recommend that you persevere with Adafruit_SSD1306. It does take 1024 bytes of SRAM for a 128x64 buffer. But this still leaves plenty of SRAM for most projects on a Uno. Just make sure that anonymous strings are stored in PROGMEM i.e. use oled.print(F("message is in PROGMEM")); And you use appropriate type and size for any arrays.

U8g2 or ss_Oled will be frugal with SRAM but the methods have different names and calling arguments.

One day you will want to add features or run on another platform. GFX methods are "more likely" to be available.

David.

TheMemberFormerlyKnownAsAWOL: I think there should be a version of the u8 library that is text only that also supports the 1306

Thank you for advise! I couldn't find just 'u8', but i found 'u8glib', tried that, but honestly was disappointed. Somewhy Arduino IDE was compiling code veeery long with that library, while with other libraries it's fast. Not sure what is the issue there.

david_prentice: There are several text-only or "light" libraries for SSD1306 e.g. ss_Oled from Library Manager.

I strongly recommend that you persevere with Adafruit_SSD1306. It does take 1024 bytes of SRAM for a 128x64 buffer. But this still leaves plenty of SRAM for most projects on a Uno. Just make sure that anonymous strings are stored in PROGMEM i.e. use oled.print(F("message is in PROGMEM")); And you use appropriate type and size for any arrays.

U8g2 or ss_Oled will be frugal with SRAM but the methods have different names and calling arguments.

One day you will want to add features or run on another platform. GFX methods are "more likely" to be available.

David.

Oh hah, i didn't know i can just search libraries there, thank you for advise! Yes recently i was thinking i probably could keep using Adafruit library, i also noticed it eats a lot of performance, amount of cycles per second falls down pretty much. I guess i would need to use separated microcontroller for OLED only. Does SPI communication with TFT screen works faster than i2c OLED?

It is a feature of U8g and U8g2 that there is a lot of "building" to do. But the Linker selects only the items that are needed for the final result.

Don't worry about the time. Just gain familiarity with the examples and the documentation Wiki.

U8g2 is excellent for Font support, unusual device support, careful use of SRAM, ... Adafruit_xxx libraries are good for common devices, intuitive graphics methods, common coding for different display devices, ...

All the same. You still need to be frugal with SRAM e.g. text messages in PROGMEM, size of arrays, structs, ...

Monochrome OLED is always faster than a TFT for drawing large areas. But small areas and graphics are easier because a TFT can address every pixel individually.

Time and Speed issues are generally down to the program design rather than the hardware. If you have a problem, post/attach your project code. Readers might spot some bottlenecks.

David.