I’m sharing a small UNO Q project that might be useful to others exploring Arduino App Lab.
The goal is intentionally simple:
read Modulino sensors on the STM32 side, forward the data to Python using Bridge, and display everything in a lightweight WebUI dashboard.
The project focuses on:
using the official Arduino App Lab workflow (single Run action),
a clean STM32 → Bridge → Python → WebUI path,
Modulino sensors (Thermo, Light, Distance),
a read-only web interface refreshed every second,
no external Python frameworks (no Flask, no FastAPI).
One motivation was to document some practical details that are not always obvious when starting with UNO Q, such as App Lab file structure, WebUI assets, and current Modulino library usage.
I have carried out all the steps of #3 except 3. (copying index.html under assets folder).
I have not found any index.html file in your given zip file after extraction.
And yet I have run the app and got the following error:
/home/arduino/.arduino15/packages/arduino/hardware/zephyr/0.53.0/libraries/Arduino_RPClite/src/error.h:20:10: fatal error: MsgPack.h: No such file or directory
20 | #include "MsgPack.h"
| ^~~~~~~~~~~
compilation terminated.
exit status 1
The files are meant to be copied into a manually created Arduino App Lab project.
Regarding index.html:
You need to create an assets/ folder in App Lab
then create assets/index.html
and copy the content of the repository file assets/index.html into it
The file is not used directly from the extracted ZIP.
Regarding the error:
fatal error: MsgPack.h: No such file or directory
This indicates that the Sketch Libraries dependencies were not installed correctly.
Please make sure to:
Install Arduino_Modulino from Sketch Libraries
Let App Lab resolve and install all dependent libraries automatically
If the error persists, it usually means the App Lab environment is incomplete or inconsistent (I’ve observed this after some updates).
Reinstalling the required Sketch Libraries in a clean App Lab setup resolves the issue.
PS: Please copy the files directly from the repository using “Copy raw file”, and paste their contents into the corresponding files in Arduino App Lab (sketch.ino, python/main.py, assets/index.html).
The GitHub ZIP archive is not meant to be imported or used directly.
You seem to be under the impression that you would be required to host the ZIP file yourself. You are absolutely right that this would be a bad approach for the reasons you stated. However, the conclusion is based on an erroneous understanding of the proposal
An importable App can also be transparent and editable. GitHub automatically generates ZIP archives for your repository, for every ref (e.g., for the tip of the main branch, for each release/tag). So you only need to structure your repository as a valid App (not hosted in a ZIP file, but in a valid non-archived App structure). The user can then install the App as follows:
Select Download ZIP from the menu.
A download of the ZIP file of the App will start.
Wait for the download to finish.
Start Arduino App Lab and connect it to your UNO Q board (if using the board in PC hosted mode).
Select "My Apps" from the bar on the left hand side of the Arduino App Lab window.
The "My Apps" view will open.
Click the "Create new app+" button a the top right hand corner of the Arduino App Lab window.
A menu will open.
Select "Import App" from the menu.
The "Import an App" dialog will open.
Either drag and drop the ZIP file you downloaded at the previous step, or click the "Import from computer" button and select the downloaded ZIP file.
A notification will appear:
UNO Q – Sensors WebUI Dashboard correctly imported
It seems to me more convenient and less prone to human error than copy and pasting the content of each file. All that is required on your part is to add two additional simple files to the repository (app.yaml and sketch/sketch.yaml).
@ptillisch
I downloaded the ZIP file of #10 and imported it into my app. It compiles successfully and runs well, even though I do not have the Modulino sensor for connection.
On my side, I still get export/import error messages in the App Lab. I’ll try to better understand where this difference comes from and I’ll report back as soon as I have a clear explanation :
The Arduino App Lab application is primarily a GUI. The underlying functionality is mostly implemented in a helper tool named Arduino App CLI. It is Arduino App CLI that actually performs the import and export. The import and export capabilities were added in the most recent version of Arduino App CLI (0.8.2). So this error might occur if you have an older version of Arduino App CLI installed on the UNO Q board's Linux machine.
In order to test this hypothesis, please do this:
If you are using the board in PC hosted mode, click the >_ ("Connect to the board's shell") icon near the bottom left hand corner of the Arduino App Lab window. Otherwise, open the terminal via the desktop menu.
A terminal window will open.
Type the following command in the terminal window:
arduino-app-cli version
Press the Enter key.
You should now see something like this printed in the terminal:
Arduino App CLI version 0.8.2
daemon version: 0.8.2
If you see a version older than 0.8.2 there, then this will prove my hypothesis to be correct.
After manually flashing the Linux core using arduino-flasher-cli flash latest,
the board boots with a clean system and then reports that some internal components (App Lab, Zephyr, CLI) can be updated.
At this point, two different behaviors are observed:
• If I install the proposed updates, App Lab project import works, but Modulino sensor data is no longer usable.
• If I skip the updates (“Next time”), Modulino sensors work correctly, but App Lab project import is not available.
This suggests a version mismatch between the Linux image flashed by the CLI and the internally updated components.