Feature Phone UI in LVGL, Zig and WebAssembly

We have created an LVGL App that runs in a Web Browser and on Pine64 PinePhone…

  1. We compiled LVGL Library from C to WebAssembly with Zig Compiler

  2. We wrote our LVGL App in the Zig Programming Language (instead of C)

  3. Exact same code runs in a Web Browser and on PinePhone (with Apache NuttX RTOS)

  4. Which is super helpful for prototyping LVGL Apps

Check out the details in this article:

“NuttX RTOS for PinePhone: Feature Phone UI in LVGL, Zig and WebAssembly”

(Try it in your Web Browser)

(Watch the Demo on YouTube)

How it looks on PinePhone:

And how we tested in a Web Browser with WebAssembly:

2 Likes

Amazing! I’ll share it our newsletter :slight_smile:

1 Like

Thank you so much! I hope someday we can build and test an entire LVGL App in our Web Browser :slight_smile:

Now we have Emscripten to build HTML form C, but its only for demos. I wonder what improvement ideas you have in mind? :slight_smile:

2 Likes

Maybe we can drag-and-drop to create an LVGL App in the Web Browser? And we test the LVGL App in the Web Browser with WebAssembly?

We might have a way to drag-and-drop a Zig Program in the Web Browser: GitHub - lupyuen3/blockly-zig-nuttx: Visual Programming for Zig with NuttX Sensors

We will do exactly this with SquareLine v2 :slight_smile: (it’s still under development)

1 Like

CONGRATZ!! NuttX RTOS and LVGL ROX! :slight_smile:

1 Like

Thank you so much! :slight_smile:

so are we not able to build html for our own LVGL projects? only demos?

Sorry I’m no longer maintaining this project. Maybe we should explore SquareLine v2? (As mentioned above)

LVGL Project Ctreator [1] v1.0.0 just showed up and this may be our tool for creating UI apps on NuttX RTOS [2] we “just” need to create the integration :nerd_face:

[1] GitHub - lvgl/project-creator: Create LVGL projects quickly and easily
[2] https://nuttx.apache.org/