I am experimenting the write((byte)num) function, and I stumble upon a pre-made custom character. Usually it's on above ((byte)200) or and below ((byte)10000). If anyone else know this, where could I find the list for a specific character?

  • Post the code and the output. You're talking nonsense with a byte with a value of 10000. A byte can't have a value that high. – Delta_G Sep 7 '20 at 4:30
  • @Delta_G I think that (byte) 10000 is a cast of integer to byte ... it is equal to 16 – jsotola Sep 7 '20 at 6:21
  • 1
    sparkfun.com/datasheets/LCD/HD44780.pdf pages 17 and 18 (depending on what ROM your LCD has). And the range is 128-255 - the "high bit set" on ASCII. – Majenko Sep 7 '20 at 9:38
  • Yes, @jstola, that was exactly my point. There is no character at 10000, he needs to be thinking of what number is actually being used there. – Delta_G Sep 7 '20 at 15:15

Hi Welcome to Arduino StackExchange

You can build your own LCD characters if you spend some time with the datasheet and user manuals available

Arduino has a dedicated function here

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

byte smiley[8] = {

void setup() {
  lcd.createChar(0, smiley);
  lcd.begin(16, 2);  

void loop() {}

here is one example: from our tool here

enter image description here

From the datasheet:
enter image description here

here is one example where a Heart symbol is created using the built-in Arduino LCD library:

You can play here at our LCD1602 simulator to get a hang of it. Please leave a message or comment if you have any questions :) enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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