Engineers Garage

  • Projects and Tutorials
    • Electronic Projects
      • 8051
      • Arduino
      • ARM
      • AVR
      • PIC
      • Raspberry pi
      • STM32
    • Tutorials
    • Circuit Design
    • Project Videos
    • Components
  • Articles
    • Tech Articles
    • Insight
    • Invention Stories
    • How to
    • What Is
  • News
    • Electronic Products News
    • DIY Reviews
    • Guest Post
  • Forums
    • EDABoard.com
    • Electro-Tech-Online
    • EG Forum Archive
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • EE Resources
    • DesignFast
    • LEAP Awards
    • Oscilloscope Product Finder
    • White Papers
    • Webinars
  • EE Learning Center
  • Women in Engineering

Making/Displaying Urdu Custom alphabets on 16×2 lcd with arduino uno

By EG Projects

This is a little complex project on how to display urdu characters on 16×2 character lcd display using arduino uno. Urdu is national language of Pakistan and its also popular in India, Bangladesh and Afghanistan. The project is similar like making and displaying custom characters on 16×2 lcd using arduino. In urdu case it requires more understanding of the urdu language alphabets and characters. Like other custom characters for urdu alphabets I first created the pattern of each individual urdu character, placed it in CG-RAM of HD44780 lcd controller and then called/displayed them individually on 16×2 lcd screen. I recommend to first go through the simple tutorial on

  • Making/Displaying Custom characters on 16×2 lcd

After you take the above tutorial you can easily understand the project arduino code written below.  You will learn how to make custom characters data arrays and how to place them in CG-RAM of lcd controller HD44780. Each and every step to generate desired custom characters is explained in the above tutorial. Urdu alphabets are below.  

Urdu alphabets display on lcd with arduino uno

Urdu alphabets display on lcd with arduino uno

Urdu custom characters display on 16×2 lcd with arduino uno – Result

Urdu language alphabets display on 16x2 lcd using arduino uno

Urdu language alphabets display on 16×2 lcd using arduino uno

Urdu characters display on 16×2 lcd using arduino uno – Circuit diagram

I am using/interfacing 16×2 lcd in 4-bit mode with Ardunio uno. Don’t know just go through this simple tutorial 16×2 lcd in 4-bit vs 8-bit mode. Circuit diagram of the tutorial is simple. Nothing new or complex wiring just simple 16×2 lcd interfacing with arduino microcontroller. Circuit diagram of the project is shown below.  
Urdu custom characters display on 16x2 lcd using arduino uno

Urdu custom characters display on 16×2 lcd using arduino uno

Custom character generator – Online

I used an online custom character generator ‘MaxPromer‘ to generate byte arrays for urdu alphabets.  MaxPromer not only generates custom byte arrays for alphabets, it also generates arduino code for 16×2 lcd custom character display. Its an easy tool, you just need to make your character in 5×8 square matrix and rest you leave tp MaxPromer.
MaxPromer Custom character generator for arduino

MaxPromer Custom character generator for arduino

Urdu characters display on 16×2 lcd – Project Arduino code

First liquidcrystal.h library is imported in the code. This library contains pre-defined  functions to work with 16×2 lcd. Next the byte arrays for Urdu characters are declared and initialized with values(in hexadecimal form). If you have taken the above tutorial then you might be thinking that how could it be possible that I am displaying more than 8 custom alphabets on 16×2 lcd? where the CG-RAM for the Hitachi lcd can only store 8 custom characters at a time. The answer is, you can create and place more characters in CG-RAM. But when you create and place more then 8 characters in CG-RAM then the new one overwrites the previous ones. Like if you placed 8 characters in CG-RAM, then you send/place the 9 one. The 9th character will be accepted by the HD44780 controller, but the controller will overwrites the one with new one for example you at location 1=a, 2=b, 3=c, 4=d, 5=e, 6=f, 7=g, 8=h and now you want to place the 9 one (9=#). You send the 9th one to HD44780. Controller will accept it and replaces the 1=a with 1=# . Now if you call the 1st character for printing on screen instead of printing a, # will appear on lcd screen.

The same logic is applied in the below code in which if the first 8 Urdu characters are displayed on the screen of lcd then the next 8 characters are created which replaces the first 8 and are displayed on the screen.The same process repeats until the whole of the characters are displayed.     

The statement lcd.createChar(CG-RAM location, Custom character array), places the desired character in CG-RAM of 16×2 lcd.
The statement lcd.write(1-8) prints the desired custom character on 16×2 lcd screen.

More projects involving custom characters display on 16×2 lcd using different microcontrollers. Each project is open source. You can modify and edit code according to your desire.

Urdu characters display on 16×2 lcd using 89c51 microcontroller

Urdu custom characters display on 16×2 lcd using Pic microcontroller

Download the project code. Code is written in arduino ide. Code is open source. Please give us your feed back on the tutorial. Write your comments and queries below in the comments section.
Custom characters code/files


Filed Under: Arduino, Microcontroller Projects

 

Questions related to this article?
👉Ask and discuss on Electro-Tech-Online.com and EDAboard.com forums.



Tell Us What You Think!! Cancel reply

You must be logged in to post a comment.

HAVE A QUESTION?

Have a technical question about an article or other engineering questions? Check out our engineering forums EDABoard.com and Electro-Tech-Online.com where you can get those questions asked and answered by your peers!


Featured Tutorials

  • Adjustable 0 to 30V 2A DC Power Supply Circuit (Part 1/13)
  • Adjustable +/- 1.25V to +/-22V 1A Power Supply Circuit (Part 2/13)
  • Adjustable 0 to 15V 1A Mini Power Supply (Part 3/13)
  • Constant 12V Power Supply for LED Circuits (Part 4/13)
  • Constant +/-9V DC Symmetrical Power Supply Circuit (Part 5/13)
  • Making a Circuit Breaker (Part 6/13)

Stay Up To Date

Newsletter Signup

Sign up and receive our weekly newsletter for latest Tech articles, Electronics Projects, Tutorial series and other insightful tech content.

EE Training Center Classrooms

“ee

“ee

“ee

“ee

“ee

“ee

Recent Articles

  • STMicroelectronics and MACOM announce successful RF GaN-on-Si prototypes
  • Infineon expands its CoolSiC portfolio
  • STMicroelectronics and AWS collaborate for secure IoT connections
  • Pet feeding system using WhatsApp (protocol bridging with MQTT)
  • STMicroelectronics launches new MDmesh MOSFETs

Most Popular

5G 555 timer circuit 8051 ai Arduino atmega16 automotive avr dc motor display Electronic Part Electronic Parts Fujitsu ic infineontechnologies integratedcircuit Intel IoT ir lcd ldr led maximintegratedproducts microchip microchiptechnology Microchip Technology microcontroller microcontrollers mosfet motor powermanagement Raspberry Pi remote renesaselectronics Research robot samsung semiconductor sensor software STMicroelectronics switch Technology vishayintertechnology wireless

RSS EDABOARD.com Discussions

  • Space Vector PWM Help Needed
  • P-Channel MOSFET always on
  • DIY test leads - source for lead ends?
  • hardcore floquet bloch scattering problem help
  • Limiting variable DC power source

RSS Electro-Tech-Online.com Discussions

  • How to get lots of PCBs made cheap?
  • How do I test amplifier speaker output polarity?
  • XOR Gate Circuit From Diodes
  • 3.3V microcontroller vs 5V relay
  • What is this part on my solar controller
Engineers Garage
  • Analog IC TIps
  • Connector Tips
  • DesignFast
  • EDABoard Forums
  • EE World Online
  • Electro-Tech-Online Forums
  • Microcontroller Tips
  • Power Electronic Tips
  • Sensor Tips
  • Test and Measurement Tips
  • 5G Technology World
  • About Us
  • Contact Us
  • Advertise

Copyright © 2022 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media
Privacy Policy | Advertising | About Us

Search Engineers Garage

  • Projects and Tutorials
    • Electronic Projects
      • 8051
      • Arduino
      • ARM
      • AVR
      • PIC
      • Raspberry pi
      • STM32
    • Tutorials
    • Circuit Design
    • Project Videos
    • Components
  • Articles
    • Tech Articles
    • Insight
    • Invention Stories
    • How to
    • What Is
  • News
    • Electronic Products News
    • DIY Reviews
    • Guest Post
  • Forums
    • EDABoard.com
    • Electro-Tech-Online
    • EG Forum Archive
  • Digi-Key Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • EE Resources
    • DesignFast
    • LEAP Awards
    • Oscilloscope Product Finder
    • White Papers
    • Webinars
  • EE Learning Center
  • Women in Engineering