https://github.com/gavinlyonsrepo/hd44780_lcd_pcf8574_pico
Library to support the HD44780 LCD , (I2C PCF8574 "backpack" interface) for the RPI PICO RP2040 C++ SDK
https://github.com/gavinlyonsrepo/hd44780_lcd_pcf8574_pico
character-lcd cplusplus display-library hd44780 hd44780-display hd44780-driver i2c lcd lcd-display library pcf8574 pico pico-sdk raspberry-pi raspberry-pi-pico raspberrypi rp2040 rpi rpi-pico
Last synced: about 2 months ago
JSON representation
Library to support the HD44780 LCD , (I2C PCF8574 "backpack" interface) for the RPI PICO RP2040 C++ SDK
- Host: GitHub
- URL: https://github.com/gavinlyonsrepo/hd44780_lcd_pcf8574_pico
- Owner: gavinlyonsrepo
- License: gpl-3.0
- Created: 2022-12-15T22:58:06.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-12T16:27:28.000Z (2 months ago)
- Last Synced: 2025-02-12T17:33:46.650Z (2 months ago)
- Topics: character-lcd, cplusplus, display-library, hd44780, hd44780-display, hd44780-driver, i2c, lcd, lcd-display, library, pcf8574, pico, pico-sdk, raspberry-pi, raspberry-pi-pico, raspberrypi, rp2040, rpi, rpi-pico
- Language: C++
- Homepage:
- Size: 43.9 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://gavinlyonsrepo.github.io/) [](https://gavinlyonsrepo.github.io//feed.xml) [](https://www.paypal.com/paypalme/whitelight976)

# HD44780_LCD_PCF8574_PICO
## Table of contents
* [Overview](#overview)
* [Example files](#example-files)
* [Software](#software)
* [Output](#output)
* [Notes](#notes)
## Overview* Name : HD44780_LCD_PCF8574_PICO
* Description :
0. Library to support the HD44780 LCD , (I2C PCF8574 "backpack" interface)
1. C++ library for the rp2040 PICO
2. Backlight, scroll, cursor and entry-mode control.
3. Custom character support + print class for numerical data.
4. Hardware I2C using SDK functions.
5. Tested on size 16x02 + 20x04
6. Can support both I2C ports. IC20 or IC21 selected by user.* Toolchain
1. Raspberry pi PICO RP2040
2. SDK C++ compiler G++ for arm-none-eabi
3. CMAKE , VScode* Port of my Arduino library at [link](https://github.com/gavinlyonsrepo/HD44780_LCD_PCF8574).
* Author: Gavin Lyons
## Example files
The example files are in example folder.
To build the one you want, edit the Cmaketxt file
add_executable(${PROJECT_NAME} section, comment in one example file path and one only.
The default is the HelloWorld one.1. examples/HelloWorld/main.cpp Basic usage.
2. examples/TestRun/main.cpp Test sequence for 16x02 LCD.
3. examples/TestRun20X04/main.cpp Test sequence for 20x04 LCD.
## SoftwareThere are four core files to library , The "print" base class provides a way to print numerical and other data types to screen.
1. HD44780_LCD_PCF8574.hpp
2. HD44780_LCD_PCF8574.cpp
3. HD44780_LCD_PCF8574_Print.hpp
4. HD44780_LCD_PCF8574_Print.cppThe user can enable basic "printf" I2C debug messages by setting the debug flag variable.
The I2C timeout is set to 50,000 uS and can also be adjusted if necessary .
Both I2C ports can be used, IC20 or IC21 selected by user.**API**
The API (application programming interface) html documentation is at link. Hosted on github pages and generated by Doxygen software. Here the user will find lots of information on files, functions & data types. This API is for the Arduino source port. It is very similar
expect constructor, init and de-init I2C method's will be different.[Software API Url Link](https://gavinlyonsrepo.github.io/misc/software_docs/HD44780_LCD_PCF8574/index.html)
## Output
Output of custom character test in testrun example file on 16x02 display.

20x04 display.

## Notes
For detailed graphical description of entry modes , cursor types, custom characters
and more see here [link](http://dinceraydin.com/lcd/commands.htm)16X04 board not tested but should work.