| Crates.io | lcd_parallel_bus |
| lib.rs | lcd_parallel_bus |
| version | 0.1.0 |
| created_at | 2025-02-01 22:18:14.204397+00 |
| updated_at | 2025-02-01 22:18:14.204397+00 |
| description | A driver for various liquid crystal displays driven by HD44780 or equivalent, including double controller like 40x4 displays. |
| homepage | |
| repository | https://codeberg.org/frere_jacques/lcd_parallel_bus |
| max_upload_size | |
| id | 1539042 |
| size | 381,065 |

This is a driver for HD44780 or compatible chip based LCDs via a parallel bus.
This driver supports both the four bit and eight bit parallel data bus. Some displays
like a four line times forty character display commonly named LCD4004, which is driven by two
chips and has an additional EN2 line, is supported too. The bus structs, which support two chip devices,
can be additionally be used to drive two separate one chip displays
via one bus.

All functionalities of the HD44780 are supported, including busy waiting, reading busy flag and address counter, reading from and writing to the display data RAM (DDRAM) and character generator RAM (CGRAM).
This driver can be used as async or as blocking. The Lcd and the bus structs are available in a blocking variant in the blocking module.
There are multiple examples in the example section of this repository based on a STM32F1. These LCDs work with some limitation in display quality at 3.3V, but are designed for 5V. The pin selection in the example is made to use 5V tolerant pins.
There exist several alternative crates for these devices. Many of them are either async or blocking. The ammount of features supported varies strongly.
MIT or Apache-2.0