I have a generic 16x2 LCD display connected to my Arduino. I can use the standard LCD library to display characters, but are there way to turn on and of individual pixels?

1 Answer 1


It's possible to define custom characters for “generic 16x2 LCD displays” [ie, displays based on HD44780 or equivalent controllers], but only up to eight such characters at the same time. See LiquidCrystal.CreateChar for details. See page 2 and part of page 1 of the Print degree symbol ° on LCD arduino.cc thread for create-character examples that don't use the library. Page 1 of that thread also shows a table of all the characters built into typical HD44780 controllers, some of which may perhaps meet your needs.

For pixel-by-pixel LCD control, look at graphics LCDs, eg the KS0108 or LCD12864 and similar.

  • I am attempting to make a bar graph, so the 'CreateChar' function is great, but I wish I had more than 8 characters (20 would be ideal.) Still, this might be the way to go. \Unfortunately, none of the predefined characters works well for bar graphs.
    – Hoytman
    Oct 31, 2015 at 4:18
  • 1
    I don't see why you'd need 20 different symbols for a simple bar graph. You can only have 5 different widths (horizontal bar), or 8 different height (vertical bar). Just do a google image search to see some examples.
    – Gerben
    Oct 31, 2015 at 14:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.