U8glib: Graphics Lib for LCDs and OLEDs

You should slow down the STM specific code.

Oliver

Hi. is this lib work with attiny85 and attiny84 over I2C?
Thanks

olikraus:
U8glib 1.00 is available for download.

Note: The DFRobot ST7920 should be supported by the U8GLIB_ST7920_128X64 device,
but it has been reported that this is not working. Maybe someone from the Arduino
community is able to check this (I do not own this display).

Oliver

I have a 128x64 graphic ST7920 display clone that looks, walks, quacks and feels like a Robot. This one works with your updated library (> 1,000,000 x thanks) displaying temperature (DS18B20) and humidity (DHT11) see sketch, see picture of the setup

LCD_128x64_DS18B20_DHT11_05_OK_works.ino (3.57 KB)

hello Arduino friends,
I have been looking for how to display Tibetan character on tft 2.4` mcufriend lcd for a week now... I am not able to find any related articles to display Tibetan character at all. can anyone help me how to make the display recognize Tibetan character Unicode encoding start with F00, and can display my language on any display

thank you in advance.

u8glib does not support unicode, but it could be added to u8g2 (which does support unicode).
However u8g2 does not support tft RGB displays.

Shell I add Tibetan font to u8g2 (which is a monochrome graphics lib)?

Oliver

Please, I need description of internal u8glib font format.
I need to get one char from regular font (u8g_font_helvR08) to reduced one, like u8g_font_helvR08r. But I do not know the u8glib font structure.
Thank you.

You can define the characters and/or remove the chars from the font source. Then use the modified font source file (BDF) and reconstruct the u8g font. Use the BDF sourcefile of the font and the bdf converter. Details are described here:

BDF font source: u8glib/helvB08.bdf at master · olikraus/u8glib · GitHub

Maybe also consider u8g2, which uses a compressed font format.

Oliver

Thank you Oliver, it worked.

Hi

Is it possible to use this library with the attiny85 digispark board and a st7920 LCD?

Qualcomm:
Hi

Is it possible to use this library with the attiny85 digispark board and a st7920 LCD?

U8g2 (the successor of U8glib) should work with attiny85 (only the U8x8 interface). ST7920 LCDs are supported with both libs.

Oliver

olikraus:
U8g2 (the successor of U8glib) should work with attiny85 (only the U8x8 interface). ST7920 LCDs are supported with both libs.

Oliver

What is the u8x8 constructor for the st7920?

giash:
lcd ym12864c i need library

Please start a new topic. Provide datasheet and controller name of your display.

Oliver

Qualcomm:
What is the u8x8 constructor for the st7920?

Ups, i have to correct myself. ST7920 display are not supported by the U8x8 interface. Only U8g2 works with ST7920 due to the internal architecture of the controller.

Oliver

Greetings,

I am new to using this library; just started this week. Everything works as expected but I don’t understand what the firstPage and nextPage functions do? Does the library or device support page buffering? Where can I find documentation on this?

Thank you,
Bob

bobmixon:
Greetings,

I am new to using this library; just started this week. Everything works as expected but I don’t understand what the firstPage and nextPage functions do? Does the library or device support page buffering? Where can I find documentation on this?

Thank you,
Bob

Description of the firstPage/nextPage funktion is here: tpictureloop · olikraus/u8glib Wiki · GitHub

The idea is only to save RAM.

Also: Please consider to use U8g2, which still has the firstPage/nextPage loop but also inclused a full buffer mode (for systems with sufficient RAM) .

Oliver

olikraus:
Description of the firstPage/nextPage funktion is here: tpictureloop · olikraus/u8glib Wiki · GitHub

The idea is only to save RAM.

Also: Please consider to use U8g2, which still has the firstPage/nextPage loop but also inclused a full buffer mode (for systems with sufficient RAM) .

Oliver

Thank you for the documentation, makes complete sense. That's what I thought it was for as I've done it myself in other development efforts.

Thank you again!

Hello Oliver, firstly thank you for your incredible generosity. Every search I do for help you are the main man.

My SSD1306 128x64 is running I2C, works fine, then locks up after 20 seconds, the screen does not refresh until I power off.
So I was looking at this thread for help, assuming I am having a RAM issue? but I have 2K (Nano 328P)
and my sketch upload sjows 52% of programme memory and 14% dynamic memory.. ?
Should I change to U8g2lib ?
Some threads say not to use the 5v from the Nano and to power the OLED sperately?
And I remember you asking someone if they were using pull up resistors (on I2C)?

What are my first steps would you say?

lancsdude:
My SSD1306 128x64 is running I2C, works fine, then locks up after 20 seconds, the screen does not refresh until I power off.
So I was looking at this thread for help, assuming I am having a RAM issue? but I have 2K (Nano 328P)
and my sketch upload sjows 52% of programme memory and 14% dynamic memory.. ?
Should I change to U8g2lib ?
Some threads say not to use the 5v from the Nano and to power the OLED sperately?
And I remember you asking someone if they were using pull up resistors (on I2C)?

What are my first steps would you say?

Maybe look in the other parts of your code for the root cause of this behavior. I do not think that there is an hardware issue or a problem with u8glib. Also consider to create a new thread for this.

Oliver

Hi there.
I could need some help identifying a LCD display: it is advertised as 128x64 display using ST7567 driver, using I2C interface. It has overall 8 pins, and is labeled as "mjkdz". The listing is available at the following link:

Link to store

Now, when I connect VCC, GROUND, SDA and SCL pins and start the I2cScanner sketch, the device is not recognized.

Some other buyers also said that this product is false-advertised as I2C device, but for real it's a SPI device.
Has anyone had experience with this kind of display?
What is the minimum pins I can use to get the device running?
There is no constructor in u8g2 library for ST7567 128x64 with I2C protocol...

Can anyone help?

Display_back.jpg

What is the problem?
The ST7567 datasheet says:

Serial interface (SPI-4) is also supported (write only)

The pins are clearly described. e.g. SDA, SCL, A0, CSB, RSTB.

SDA is just a generic term for "Serial Data" that often implies a bi-directional Data pin.
However this chip does not support read (SDO)

SDA may be used for I2C but I2C does not require A0, CS, RST pins.
The advertisement is misleading. I doubt that it is a TFT device. It certainly is not an I2C device.

I suspect that U8g2 supports ST76567 SPI. e.g.

U8G2_ST7567_JLX12864_1_4W_HW_SPI(rotation, cs, dc [, reset]) [page buffer, size = 128 bytes]

David.