Documentation

LCD Wizard documentation

Everything about the application, from the first screen to the firmware on the board.

LCD Wizard is a browser-based designer for LVGL user interfaces on Arduino-class display boards. You lay out screens on a canvas, describe the board, the panel, the touch controller and any sensors, and it generates a complete Arduino or PlatformIO project - the sketch, the driver configuration, lv_conf.h and the LVGL UI sources - which you compile and flash yourself.

These pages are the reference for the whole application. If you have never used it, start with the quick start; if you have a board on the bench and a zip from the export dialog, go straight to flashing and configuration.

How the pieces fit together

Everything in the designer belongs to one of four layers, and the generated project has a file for each of them.

LayerWhere you edit itWhat it becomes
Screens and widgetsThe canvas, the Widgets panel and the Inspector ui/ui.c, one ui_<Screen>.c per screen, and ui_events.c for your own callbacks
HardwareThe Hardware tab: Board, Display, Touch, Buses, Devices, I/O, Inputs The .ino, lcd_pins.h, the driver configuration (User_Setup.h or LGFX_Config.hpp) and hardware.cpp
DataThe Data tab (variables, automations) and each widget's Data bindings app_logic.cpp: vars_update(), bindings_apply() and the automation handlers
AssetsThe Assets tab at the bottom of the window Files under data/ for the board filesystem, or C arrays compiled in

On the device the loop is short: hw_poll() reads every input on its own schedule and caches it, vars_update() applies your formulas to those caches, bindings_apply() pushes the results into widgets, and lv_timer_handler() draws. A slow sensor therefore never stalls the display, and a widget always shows the most recent value it was given.

What it is not

It is not an IDE and it does not talk to your board. Compiling and flashing happen in PlatformIO or the Arduino IDE on your own machine, with the toolchain and board core you already use. It is also not a simulator of the hardware: the preview runs your bindings and events against made-up readings so you can see the logic work, but the panel, the touch controller and the sensors only exist once the firmware is on the board.

Conventions in these pages