This is a template project for developing Arduino UNO Q applications using the Command-Line Interface (CLI) and VS Code, completely bypassing the default App Lab.
- Configure IP: Open
.vscode/settings.jsonand set yourarduino.ipto match the IP address of your Arduino UNO Q board. - Setup Connection: Run the
UNO-Q: Setup SSH Connectiontask to configure passwordless SSH if you haven't already. - Deploy: Use
Ctrl + Shift + B(or run theUNO-Q: Deploy and Start Apptask) to compile, copy, and run your project on the UNO Q. - Monitor: A split terminal will automatically open showing the live log output from the Python interpreter on the board.
Since this is a template, you'll likely want to rename the project after cloning. To rename your project safely:
- Rename the Root Folder: Rename this folder (e.g., from
arduino-uno-q-vscode-templatetomy-awesome-project) in your file explorer before opening it in VS Code.- Why? The deployment tasks in
.vscode/tasks.jsondynamically use${workspaceFolderBasename}, meaning the folder on the Arduino UNO Q will be created automatically matching your new folder name!
- Why? The deployment tasks in
- Update
app.yaml: Open theapp.yamlfile in the root directory and change thename:anddescription:fields to match your new project. - Leave
sketch/andpython/filenames alone: As per the Arduino UNO Q documentation, the system explicitly looks forpython/main.py,sketch/sketch.ino, andsketch/sketch.yaml. Do not rename these specific files!
The task UNO-Q: Pull App Changes (SCP) is designed for scenarios where two people are collaborating directly on the same board.
python/, sketch/, assets/, and app.yaml with the contents currently living in the board's directory.
Only use this task if you are certain you want to merge/download the other developer's live changes onto your machine. Always maintain git version control as a primary backup.
Current deployment logic explicitly synchronizes the base app.yaml and the assets, python, and sketch folders natively. If you decide to add other folders (like data or config) to your project root, make sure to add them to both the Deploy and Pull tasks' args list inside .vscode/tasks.json.