Back to All
Project

Get Started with App development on Arduino UNO Q

This project is all about giving developers a strong start with one of the most exciting IoT boards—the Arduino UNO Q. From makers to builders to professionals, this board opens the door to endless possibilities, offering capabilities that scale from simple prototypes to advanced applications. The goal of this project is to help you take the first step confidently, setting up your hardware and software, and exploring app development with ease.

Qualcomm-image

Objective

We will be covering - how to power up the Arduino UNO Q, configure it in both Standalone and PC-hosted modes, and connect remotely using Network mode. We will explore Arduino App Lab—a unified development environment—understand its architecture and how different elements interact to build a simple example app like Blink LED. You’ll also learn how to run AI applications, work with Modulinos, and benefit from a collection of tips, tricks, and useful resources to help you make the most of your Arduino UNO Q.

 

Equipment Required Parts List / Tools

Arduino UNO Q

https://www.arduino.cc/product-uno-q

Any generic USB Type-C Cable 2-in1

 

Any generic USB C Hub supporting Power Delivery

 

Project Walkthrough

Let us dive right into it –

Step 1. Bring up the Arduino UNO Q and the Arduino App Lab

a. Powering ON the device and using it for the first time

  • A USB-C® cable providing 5 VDC 3 A.
  • An external +5 VDC power supply connected to 5V pin.
  • An external +7-24 VDC power supply connected to VIN pin.

The first method suits simple AI/ML projects. For embedded applications using components like motors, relays, or various sensors, the latter two methods are generally more appropriate. For more details on Powering up the kit , take a look at this documentation.

b. Arduino App Lab - The Arduino App Lab is a unified development environment that extends the classic Arduino experience into the world of high-performance computing. Arduino App Lab lets you seamlessly combine Arduino sketches, Python scripts, and containerized Linux applications into a single workflow. With code building blocks called Bricks, preconfigured AI models, and integrated orchestration, it reduces complexity while enabling you to create everything from simple prototypes to advanced computation-intensive applications.

c. Working with the Arduino Uno Q - The Arduino UNO Q boards are shipped with Linux Debian OS pre-flashed and come with Arduino App Lab pre -installed. The Arduino UNO Q can function in 2 ways – In PC hosted mode and in Standalone (Single Board Computer - SBC) mode, you can choose either of the modes that work best for your use case.

  • Standalone Mode – Connect the Keyboard, Mouse, HDMI monitor and the Arduino UNO Q to a USB C type hub, which is powered by an external power supply. In this case one can use the Arduino App Lab from the Arduino UNO Q for app development
Qualcomm-image

i. In the standalone mode, one can set up Arduino UNO Q as a personal computer, ready for everyday tasks like web browsing, office work and media playback, alongside working with product specific features like using Arduino App Lab for developing Arduino based projects.

ii. Once the device is powered ON and the device boots up, the Debian desktop is displayed on the monitor. Complete the next steps – Board Configuration, Connect to Network and Login with the linux username as ‘arduino’ and choose a password. At this point the Arduino App Lab opens up automatically and you can continue to work with the Examples.

  • PC Hosted Mode – Connect the Arduino UNO Q via USB C cable from your PC.
Qualcomm-image

i. Download the Arduino App Lab to your PC from here. Once downloaded and opened, you should be able to see the Arduino UNO Q listed as a USB device. If there is a prompt to make any updates to the Arduino App Lab, complete it.

ii. You can then select Arduino UNO Q and the default username ‘arduino’ and a custom password. Then connect to a Wi-Fi network from available networks.

Note 1 – For use cases that require connecting peripherals such as a keyboard, mouse, or monitor to the Arduino UNO Q, or when you need to attach USB-based sensors, Standalone mode is recommended. Conversely, if you are working on AI-focused projects that do not require any additional connections to your Arduino UNO Q (other than Modulinos), PC-hosted mode is the ideal choice.

Note 2 – In both the modes, from the second power cycles, you should be able to see ‘Network’  option to access the Arduino UNO Q device. With the Network option you can remotely access your UNO Q from any machine in your local network. This allows you to use Arduino App Lab as if you were connected directly to the board.

 

Step 2. Run examples from Arduino App Lab

a. There are a bunch of sample apps on Arduino App Lab falling into different categories - to control the on board LEDS, Read bar codes, run AI use cases, and sensor (Modulinos) based use cases. Each of these examples has an ‘Editor’ window where the ReadMe file is displayed, explaining the program flow, and a ‘Console’ window where the program logs can be viewed when the app is running.

b. Let us look at the ‘Blink LED’ example – The flow of the app is depicted in this image below.

  • The MCU runs RTOS handling direct hardware interaction to read on board LEDs, sensors, control actuators, and execute time-sensitive operations using traditional Arduino sketches (C/C++). The code to read the LED status is present in ‘sketch.ino’ c++ file.
  • The MPU runs Debian Linux, enabling Python scripting for advanced functionality. It acts as an orchestrator, handling high-level tasks like hosting web servers and executing AI models, while managing Wi-Fi, Bluetooth, audio, and visual inputs. Using the Bridge Library, it communicates bidirectionally with the MCU for data exchange and sensor processing. The ‘main.py’ script contains code to import the required Libraries and to invoke the Bridge communication between MPU and MCU.
Qualcomm-image
  • To run the app, select 'Blink LED' from the App Lab's Examples. Click 'Run' to observe LED 3 (STM) blinking red. You can stop the application from the console when finished

Something fun - The Arduino UNO Q offers a wide range of user interfaces, making interaction intuitive and straightforward. There is an 8x13 LED matrix managed by the STM MCU. It is a versatile display you can use to show data, status indicators, icons, or even create simple animations and games. There are examples in App Lab on how to use this LED matrix to show how to draw images , dim LEDs on this matrix.

c. Let us take a look at the AI app - 'Classify Images' - This web-based application performs image classification, allowing you to upload images, set a classification threshold, and receive inference results. It utilizes image classification and web_ui bricks – reusable code blocks that simplify complex functionalities like AI integration and web interfaces. The ReadMe details the app's flow and component communication. Click 'Run' to open the app in a browser, upload your image, and perform classification.

Check out the other examples in the Arduino App Lab as well to get an idea of the development kit’s capabilities.

 

Step 3 - Exploring Modulinos in Arduino App Lab

Modulinos are plug-and-play sensor and actuator modules designed to expand the Arduino UNO Q capabilities. They connect easily via a standard Qwiic (I²C) cable, eliminating the need for soldering. This system simplifies and speeds up prototyping by quickly adding functionalities like sensing, environmental monitoring, or user input even allowing multiple Modulinos to be daisy-chained for complex projects.

The Arduino App Lab currently features two Modulino examples, with more in development.

a. Thermo Modulino: Open the 'Home Climate Monitoring' example. Connect the Thermo Modulino to your Arduino UNO Q via the Qwiic connector (as shown in the ReadMe). The app streams temperature and humidity data to a webpage, allowing you to observe real-time changes.

b. Distance Modulino: Open the 'Real time accelerometer Data' example. Connect the Distance Modulino to your Arduino UNO Q via the Qwiic connector (as shown in the ReadMe). Moving the Modulino in various patterns will demonstrate changing X, Y, and Z values in the web page.

 

Step 4 - Tips and Tricks - 

a. If you are using the Arduino UNO Q for the first time and get any driver related issues like – Download and install the WinUSB driver.

b. Even when you have set up your Arduino UNO Q as a single-board computer, you can access it remotely from your personal machine by using the Arduino App Lab desktop and the Network Mode. Both modes can be used simultaneously.

c. Due to the Arduino UNO Q architecture, ‘Serial’ won't display data in the Arduino App Lab console as it used to do in the Serial Monitor of Arduino IDE. For easy debugging, use the Monitor object in your python scripts to print messages directly. This requires including the Arduino_RouterBridge library in your sketch as #include <Arduino_RouterBridge.h>

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries ("Qualcomm"). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.

Qualcomm relentlessly innovates to deliver intelligent computing everywhere, helping the world tackle some of its most important challenges. Our leading-edge AI, high performance, low-power computing, and unrivaled connectivity deliver proven solutions that transform major industries. At Qualcomm, we are engineering human progress.

Stay connected

Get the latest Qualcomm and industry information delivered to your inbox.

Subscribe
Manage your subscription

© Qualcomm Technologies, Inc. and/or its affiliated companies.

Snapdragon and Qualcomm branded products are products of Qualcomm Technologies, Inc. and/or its subsidiaries. Qualcomm patented technologies are licensed by Qualcomm Incorporated.

Note: Certain services and materials may require you to accept additional terms and conditions before accessing or using those items.

References to "Qualcomm" may mean Qualcomm Incorporated, or subsidiaries or business units within the Qualcomm corporate structure, as applicable.

Qualcomm Incorporated includes our licensing business, QTL, and the vast majority of our patent portfolio. Qualcomm Technologies, Inc., a subsidiary of Qualcomm Incorporated, operates, along with its subsidiaries, substantially all of our engineering, research and development functions, and substantially all of our products and services businesses, including our QCT semiconductor business.

Materials that are as of a specific date, including but not limited to press releases, presentations, blog posts and webcasts, may have been superseded by subsequent events or disclosures.

Nothing in these materials is an offer to sell or license any of the services or materials referenced herein.