Rothschopf Werner

rowex ganz privat

Angebote

Arduino: LCD with ST7070 Driver (liquid crystal I2C)

Finally I found a good variant of LCDs with ST7070 driver. The ST7070 uses an extended character set, which makes printing of letters in lot of European languages very easy.

ST7070: Serial or Parallel

The ST7070 display can be used in in 8bit or 4bit mode - very similar to HD44780U modules. My ST7070 LCD is equipped with an additional header for serial communication (3 und 4 wire SPI). There is a coding jumper on the LCD to define to choose either the s-serial or  p-parallel interface:

LCD mit deutschen Umlauten für Arduino

After coding to p-parallel, the basic library with an I2C PCF8574 will work out of the box.

The Character Set of the ST7070 LCD

The character set of the ST7070 contains more characters than the standard Hitachi HD44780U A00 ROM, in total 240 characters are defined:

Alle Sonderzeichen inkl. deutscher Umlaute am LCD für Arduino

There are some interesting things to find:

  • in colums 0001-0010 is the beginning of the Latin-1 character set to use for "western European" languages (ISO/IEC 8859-1).
  • the colums 0011 - 0111 and 1100 - 1100 are compatible to the HD44780 characterset A00. The ST7070 display can be used as direct replacement for another charcter LCD.
  • In colum 1000 - 1010 there are more special characters like § © ® ™ larger/equal to, smaller/equal to.
  • in contrsast to the HD44780 the ST7070 has an built in second character set ("pattern 2"). It gives you additional 256 characters on the same chip. In pattern 2 there is the rest of the latin-1 letters, additional letters from latin-2 (Eastern European Languages) and cyrillic letters for Russian or Ukrainian.
  • To switch over to the second pattern you have to set the same registers, like to blink the HD44780. Swichting off blinking will return to the pattern 1.
lcd.blink();

Arduino Library for the ST7070 LCD

As mentioned already the ST7070 should work with just any Liquid Crystal Library. Printing of special characters might get difficult, therefore I wrote an I2C Library "Noiasca Crystal I2C". This library offers the easy support special characters. There are two different ST7070 constructors: in  Noiasca Liquid Crystal I2C:

LiquidCrystal_I2C_ST7070 lcd(addr, cols, rows);

enables the easy access to Latin-1 (Western European languages), for example the German, Norwegian, Swedish, Spanish, Italian.

More special characters from Latin-2 can be used with the extended constructor:

LiquidCrystal_I2C_ST7070_Ext lcd(addr, cols, rows);

French, Hungarian, Czech, Slovakian, Slovenian, Croatian ...

The library contains an example sketch to show up lot of special characters used in European languages:

 

Summary

The ST7070 LCD is THE solution if you want to use a character LCD in European Languages. There is a full support of Latin-1 and Latin-2. Even some characters from Latin-3 are available. If you need an easy to use Arduino library, use the "Noiasca Liquid Crystal I2C" with the prepared constructors for the ST7070 chip.


Links


Protokoll

First upload: 2020-05-21 | Version: 2020-05-22