Difference between revisions of "STM32 I²C LCD"
Jump to navigation
Jump to search
Line 15: | Line 15: | ||
== Miscellaneous Links == | == Miscellaneous Links == | ||
+ | * [https://en.wikipedia.org/wiki/Hitachi_HD44780_LCD_controller Wikipedia article about the Hitachi HD44780 LCD controller] | ||
* [https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library Arduino library used for inspiration] | * [https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library Arduino library used for inspiration] | ||
* [https://github.com/blackhack/LCD_I2C/blob/master/src/LCD_I2C.cpp Another Arduino library] | * [https://github.com/blackhack/LCD_I2C/blob/master/src/LCD_I2C.cpp Another Arduino library] |
Revision as of 04:46, 2 June 2022
LCD Display modules are readily available and they are dirt cheap (< $2 typically). They come in different "resolutions" typically expressed as number of characters and number of lines. Common ones are 1602 (16 characters in 2 lines) and 2004 (20 characters in 4 lines).
The modules are interfaces by an 8 bit parallel data bus (can be operated in 4 bit mode) and some control signals:
These can of course be "driven" by an STM32 by interfacing these pins directly, but at a minimum that would tie up 8 GPIO pins for one display.
To cut down on the number of pins needed a GPIO extender can be used and because this approach is quite a lot easier a lot of the LCD modules come with an I²C GPIO extender already attached.