Universal HD44780 LCD Interface
by jayakody2000lk in Circuits > Arduino
436 Views, 3 Favorites, 0 Comments
Universal HD44780 LCD Interface
YALI (Yet Another LCD Interface) is an open-source project to provide a universal interface to drive the popular Hitachi HD44780 LCD controller. This module supports 3.3V and 5V MCUs and hardware development platforms, including Arduino, STM32, PIC, and ESP8266.
Supplies
C1 - 4.7µF / 10V (SMD Electrolytic)
C2 - 10µF / 10V (SMD Electrolytic)
C3, C4, C5 - 0.1µF / 25V (SMD 0603)
R1 - 330Ω (SMD 0603)
R2 - 1KΩ (SMD 0603)
R3 - 36KΩ (SMD 0603)
R4 - 100KΩ (SMD 0603)
R5 - 12KΩ (SMD 0603)
R6 - 22KΩ (SMD 0603)
R7 - 100Ω (SMD 0603)
D1 - SS24 (SMD SMB 1)
L1 - 4.7µH SMD Inductor
RV1 - 50KΩ RM65 trimmer potentiometer
J1, JP1 - 2.54mm – 3x1-pin male pin header
J2, J3 - 2.54mm – 2x1-pin male pin header
DS1 - 2.54mm – 16x-pin female header
U1 - 74HCT08 (SMD SO-14)
U2 - 74HC595 (SMD SO-16)
U3 - MP1540 (SMD SOT-23-5)
Q1 - SS8050 (SMD SOT-23)
Hardware Module
The hardware module of this project consists of a 74HCT08 CMOS AND gate and a 74HC595 8-bit serial-in, parallel-out shift register. This module uses the MP1540 step-up converter to power the LCD unit connected to the system.
The module has the jumper to select 3.3V or 5V DC power input.
Compare with most of the other LCD interfacing modules, this module does not require a special peripheral interfaces such as SPI or I2C.
Printed Circuit Board
The dimensions of the YALI hardware module are 69mm × 21mm. This module is designed using SMD components and can be connected directly to the LCD unit.
The PCBWay sponsored this project. PCBWay offers high-quality PCB manufacturing and assembling services. Also, they offer CNC and 3D printing services. The PCB of the YALI module is available to order from PCBWay. Check out the PCBWay website for its manufacturing capabilities and pricing.
Assembling & Testing the Module
Assembling and interfacing steps with Arduino Uno and Arduino Due boards are shown in the above video.
Programming Interface
The YALI library is developed using C and is designed to be easily integrated with any C/C++ embedded toolchain. At the initial design stages, this library was successfully tested with all Arduino development boards, NodeMCU, STM32 Blue Pill, etc.
The YALI library provides a unified API to control the HD44780 LCD controller. It has functions to handle cursor control, custom character loading, LCD backlight control, etc.
Project Repository & Schematic
This project is an open-source hardware project. All its design files, BOM, schematics, and firmware source codes are available at Github.com.
The documentation for the API is available at https://dilshan.github.io/yali/doc/unilcd_8cpp.html.
The PCB design, schematic, and other design files of this project are covered with a Attribution-ShareAlike 4.0 International license. The library source code is released under the terms of the MIT license.