How to create fonts v8.4


I’m struggling to create a single font symbol using the font awesome instructions. I’m sure I’ve done this in the past and it worked fine but there must be something wrong/missing in the instructions.

What MCU/Processor/Board and compiler are you using?

ESP32-S3 with Arduino

What LVGL version are you using?


What do you want to achieve?

Show a symbol instead of a square box

What have you tried so far?

Following the guide here:

Code to reproduce

extern lv_font_t Icon_Bed;



//Bed Classic Solid Icon | Font Awesome
#define FA_ICON_BED “\xEF\x88\xB6” //based off the conversion of f236

    //Create background button for light on off icon
    lv_obj_t * btn_bed_light = lv_btn_create(ui_Home_Screen);
    lv_obj_align(btn_bed_light, LV_ALIGN_TOP_RIGHT, -40, 0);
    lv_obj_set_height(btn_bed_light, 70);
    lv_obj_set_width(btn_bed_light, 80);
    lv_obj_set_style_bg_opa(btn_bed_light, LV_OPA_TRANSP, LV_PART_MAIN);

    //Create light switch indicator icon
    lbl_bedLight_Icon = lv_label_create(ui_Home_Screen);
    lv_obj_set_style_text_color(lbl_bedLight_Icon, lv_color_hex(LV_COLOUR_LIGHT_OFF), LV_PART_MAIN);
    lv_label_set_text(lbl_bedLight_Icon, FA_ICON_BED);
    lv_obj_set_style_text_font(lbl_bedLight_Icon, &Icon_Bed, LV_PART_MAIN| LV_STATE_DEFAULT);

    lv_obj_align_to(lbl_bedLight_Icon, btn_bed_light, LV_ALIGN_TOP_LEFT, -5, -5);

Screenshot and/or video

Just a rectangle in the top right.

Icon c file:
Icon_Bed.c (12.7 KB)

Screenshot of conversion settings:

URL of font converter:

Any help would be really appreciated!

you should use 0xf236 in Range field instead of Symbols. In symbols field you need to list symbols needs to include in font-file, for example - AaBbCc … etc

Oh my! What a school boy error.

I read through that multiple times and completely missed I needed to put the symbol in the range field not the symbols field. Kinda counter intuitive but hey, this is where we are.

Thanks for the help, it worked perfectly!