Last year’s SquareLine Studio Series became kind of a surprise hit on my YouTube channel, which, to me, highlights the demand for content that discusses graphical user interfaces on embedded platforms like Arduino and ESP32. A viewer sent me a suggestion to take a look at EEZ Studio, a similar WYSIWYG graphical UI designer, and I created a series of videos to document the whole process of building an LVGL-based UI in EEZ Studio and exporting it to an Arduino Nano RP2040.

But before we get started: This post coincides with the creation date of the official nerdhut.de YouTube channel, which was created on August 8th, 2016! I can’t believe it’s been eight (EIGHT!) years already. It’s incredible how fast time flies, and I want to thank you all for your continued support!

The first video in this mini-series discusses creating a new project in EEZ Studio and building an LVGL-based graphical UI for use on an embedded system. It’s similar to the previous series’ first entry, and I only gloss over the most striking features of EEZ Studio:

https://www.youtube.com/watch?v=Jl83iMhHdBM&list=PLr5pt9vzODWAsB-d1C8or6jHfNZhbiplt

The second video in this series is what most people will likely find more interesting. It details the process of exporting the EEZ Studio project to an Arduino Nano RP2040 Connect. I found that the EEZ Studio documentation was particularly lacking information on how to get the UI files up and running on Arduino. It did contain details on getting started with an ESP-32, but practically nothing on any Arduino-based boards. So, I thought I should document the process, which turned out to be quite similar to SquareLine Studio, after all. There were only a few pitfalls one should look out for, which I discuss in the video, too:

https://www.youtube.com/watch?v=AhnIEbiYExU

To summarize, the three main pitfalls were:

  • The older versions of EEZ Studio did not create code that compiles with a C++ compiler
  • LVGL version mismatches
  • Never versions of LVGL (or the generated code) seem to crash the Arduino MBed OS on the RP2040 Connect

Luckily, EEZ Studio is an open-source project, so I may contribute to its development by adding an ‘Export to Arduino’ function or documenting the export process in the official documents.

Finally, I’d like to mention that I created a starter project for you to fork or download on GitHub. It contains the necessary folder structure and readme files that explain where to put certain files. I also created this playlist on YT with the relevant videos.