A browser-based LVGL designer that exports a complete Arduino / PlatformIO project

Hi all - I’ve been building LCD Wizard, a visual LVGL designer that runs in the browser, and I’d value this forum’s feedback more than anyone’s.

The part I think is different: it doesn’t stop at the UI files. You pick the board (the Cheap Yellow Display, WT32-SC01 Plus, T-Display-S3, Sunton RGB panels, STM32 and Pico builds, or your own wiring), and the export is a whole project - the sketch, the TFT_eSPI / LovyanGFX / Arduino_GFX config, lv_conf.h with only the widgets and Montserrat sizes you use switched on, and platformio.ini. It targets LVGL 9 and 8 from the same design.

Other things that might interest people here:

  • Sensors and variables: bind a BME280 reading to a label through a formula, and preview it with simulated values before any hardware exists.
  • Resistive touch calibrates on the device and says on screen whether it worked; capacitive controllers are reset and checked at every boot.
  • Fonts are converted with lv_font_conv (seven-segment faces, Montserrat Bold, or import a free font), and icons are glyphs in a generated font, so they follow a button’s pressed and checked text colour.

Every board preset has a public pinout page, which may be useful even if you never touch the designer: LVGL board presets and pinouts - ESP32, STM32, RP2040 - LCD Wizard

The designer is at https://lcdwizard.com - it opens without an account. I’d especially like to hear where the generated code does something you’d do differently.

Hey Johnny,

Great work! Will you keep it free or do you plan to add a subscription fee at some point?

Hi Kisvegabor. Great work on the library!

I plan on keeping a very generous and unrestrictive free tier. obviously with users comes data so im hoping the small amount for generation and/or a lifetime pass will pay for the server/data costs.

I use the tool myself for work in my daily driver money-pit so if it makes no money its not really an issue. I released mainly to get rid of the design/flash/inspect loop. It saves me a tonne of time!

by the way, i ran into an issue with on board background images, anything over your cache i had to convert to C arrays rather than load them from SPIFFS. are you aware of a way round this?