Arduino UNO Q: Getting Started (Features, Pinout, Examples)

The Arduino was recently acquired by Qualcomm, and with that, they launched a completely new Arduino board: the Arduino UNO Q. While it maintains the same form factor as previous Arduino boards, it comes with some unique, pretty impressive features that can take your IoT projects to the next level. What makes it stand out at the moment is that it is a microcontroller and a microcomputer (running Linux) at the same time, and they can easily communicate with each other, among other features that we’ll mention throughout this article.

Arduino Uno Q Getting Started Features Pinout Examples

Introducing the Arduino UNO Q

The Arduino UNO Q is the latest Arduino board that combines a microcontroller (STM32U585) and a Linux-capable microcomputer (Qualcomm Dragonwing QRB2210 SoC), all while maintaining the classic Arduino board form factor.

Arduino UNO Q Qualcomm Specifications Specs Overview

Qualcomm Dragonwingâ„¢ QRB2210:

  • Quad-core Arm® Cortex®-A53 @ 2.0 GHz
  • Adreno GPU 3D graphics accelerator
  • 2x ISP (13 MP + 13 MP or 25 MP) @ 30 fps

STM32U585 Arm® Cortex®-M33 32-bit MCU:

  • Arm® Cortex®-M33 up to 160 MHz
  • 2 MB flash memory
  • 786 kB SRAM
  • Floating Point Unit

Programming the Arduino UNO Q Board

The Arduino UNO Q board can be programmed just like a regular Arduino UNO to control its GPIOs using the Arduino IDE, or you can use the Arduino App Lab to handle both the microcontroller and microcomputer sides.

The MCU is programmed using C/C++ as you would normally do for other Arduino boards, and you can write Python programs to run on the microcomputer.

Even though one of the interesting features is the ability to program both the MPU and MCU from the same IDE, you can still focus just on the Arduino side of things, or use only the microcomputer, like you would with a Raspberry Pi.

Arduino UNO Q Qualcomm QRB2210 microprocessor STM32U585 microcontroller

So, when it comes to programming the Arduino UNO Q board, we can have:

  • Classic Arduino: using just the MCU;
  • Integrated App Lab: unified environment: C/C++ sketches for the Arduino + Python programs for the Linux microcomputer;
  • Standalone Linux: using the board like a Raspberry Pi accessing the Linux OS directly via SSH or a standalone computer.

Communication Between the MCU and the Microcomputer

Something really interesting is that the microcontroller and microcomputer can communicate to pass data between each other using a tool/library called Router Bridge.

For instance, on the Arduino side of things, you can gather data from sensors and control outputs, then pass that info over to be processed by more complex programs on the microcomputer side. Things like running AI models, processing images and audio, or connecting to advanced web applications, all while still controlling your hardware through the STM32 MCU.

The Arduino App Lab

The Arduino App Lab is the recommended software to program the Arduino UNO Q board.

Arduino App Lab

On the Arduino App Lab, you write your programs for the Arduino in C/C++ as you would normally do, and you can write and run Python programs on the microcomputer side. It is an all-in-one development environment.

Another useful feature and novelty here are the Bricks. These are modular building blocks that you can install and drop into your projects to add ready-to-use functionalities like AI models and other more complex features.

So, in the Arduino App Lab, we can have:

  • Arduino Sketches for the MCU
  • Python Scripts for the MPU
  • Bricks for your application

Programming Modes

When it comes to programming the board using the Arduino App Lab, it can be programmed in three different modes:

  • PC-connected: program the board directly from your computer via USB cable using the Arduino IDE, or the Arduino App Lab.
  • Standalone Mode: run everything on the board itself as a full single-board computer using the pre-installed Arduino App Lab.
  • Wireless Mode: connect over Wi-Fi (or Bluetooth) to deploy and debug code remotely from your PC or mobile device through the App Lab.

It can be used as a Standalone Computer

Just like a Raspberry Pi, the Arduino UNO Q can work as a standalone Linux computer by connecting a keyboard, mouse, and monitor, or you can use your own computer to send and execute commands on the Terminal via SSH.

When used as a standalone computer, you can use the pre-installed Arduino App Lab to write and run programs both for the MCU and microcomputer.

Built-In Storage and Connectivity

Something really useful is that it comes with built-in eMMC storage options of 16GB or 32GB, plus 2GB or 4GB of LPDDR4 RAM, delivering fast memory access and reliable storage for embedded applications.

Another very important feature for IoT projects is that the board supports Wi-Fi and Bluetooth.

Expansion Headers and Connectors

Besides the classic GPIO headers (that maintain compatibility with existing shields), it comes with high-speed headers at the back of the board to connect displays, cameras, or audio devices.

Arduino UNO Q Qualcomm QRB2210 STM32U585 Digital PWM Pins

It also includes a Qwiic connector for plug-and-play integration with third-party sensors and actuators.

Arduino UNO Q Qualcomm QWIIC Connector

Additionally, it has a built-in LED matrix that can be useful to give some feedback to the user.

Arduino UNO Q Qualcomm LED Matrix Logo Code Example

Arduino UNO Q Pinout

The UNO Q keeps the familiar layout of the classic UNO with 14 digital I/O pins (including 6 PWM), 6 analog inputs, power pins (3.3V, 5V, GND), and the ICSP header, but adds dedicated high-speed MIPI CSI/DSI interfaces for cameras and displays, plus the Qwiic I2C connector for easy sensor chaining.

Arduino UNO Q Qualcomm QRB2210 STM32U585 Analog Inputs Pins

It also comes with four little built-in RGB LEDs, two of which can be controlled by the MPU and the other two by the MCU.

The following image gives an overview of the Arduino UNO Q pinout.

Arduino Uno Q Pinout
Arduino UNOo Q Pinout (image source)

For more details, we recommend checking out this Arduino UNO Q full pinout PDF file.


Testing Your Arduino UNO Q Board

As we mentioned previously, there are different ways to use and program your Arduino UNO Q board. In this section, we’ll quickly test the microcontroller and the microcomputer using Arduino App Lab on your computer, with the board also connected to your computer via USB-C.

For more information, and other ways to control and program your board (either via SSH, network mode, or via a standalone computer), you can check the official Arduino UNO Q User Manual.

Installing and Running the Arduino App Lab on Your Computer

1) Go to this URL and download the Arduino App Lab to your computer.

Download the Arduino App Lab

2) Run the installation file.

3) Launch the Arduino App Lab.

4) Connect the Arduino UNO Q board to your computer using a USB-C cable.

Arduino UNO Q Qualcomm USB-C Connector

If you have doubts about the installation procedure, you can check these instructions on the official documentation.

5) Then, wait a bit for your computer and IDE to recognize the board. Then, select the USB option.

Arduino App Lab - connect to the Arduino board

The Blink LED App

To test your board and give you a little overview of the Arduino App Lab, let’s run the built-in Blink LED App.

In the left sidebar, click on Examples and select the Blink LED example.

Blink LED Example - Arduino App Lab

It will show all the app files in the left sidebar.

Arduino App Lab - folders for the Blink LED App example

Check that it contains a python folder with the code to run on the MPU, and a sketch folder with the Arduino code to run on the MCU.

Blink LED – App Overview

There’s a README.md file on the App that explains how the app works and the code.

Basically, besides showing how to control one of the MCU onboard LEDs, it also shows how to pass data between the MPU and the MCU:

  • The Python program runs a loop that toggles the LED state at regular intervals.
  • The Router Bridge enables communication between the Python program and the Arduino sketch.
  • The Python program sends the LED state to the Arduino sketch.
  • The Arduino sketch receives the LED state and controls the built-in LED accordingly.

If you open the main.py file, this is what you should get:

Blink LED App - Python script - Arduino App Lab

And if you open the sketch.ino file, you can see the Arduino sketch.

Blink LED App example - Arduino sketch

We won’t explain how the codes work because they are already explained in the README.md file.

Running the App

Now, to run the app, you can simply click on the Run button.

Arduino App Lab - Run App

Wait a few minutes while it compiles and runs the code on the board.

During the app launch and while it is running, the program will change to the Console tab. It will show the App Launch progress, the Serial Monitor, and the Python Shell. In this particular example, it doesn’t print anything to the Serial Monitor or Shell, so they will remain empty.

Arduino App Lab Debugging Windows

When it starts running the code, you can see the built-in red LED blinking every second.

Arduino UNO Q Qualcomm Blink On Board LED Code Example

Wrapping Up

This was a quick and simple overview of the newest Arduino UNO Q board. For more detailed information, you can check the official documentation.

I think this new board is quite useful, and it opens a whole new world of possibilities for IoT apps that combine the simplicity of using sensors and peripherals on a microcontroller with more complex models and applications that might require a microcomputer. I’m thinking about things like running AI models, complex web server programs, creating your own self-hosted database, and much more.

However, for beginners just getting started with IoT and microcontrollers, a simple Arduino board, an ESP32, or a Raspberry Pi Pico might be better choices to first understand how a microcontroller works before moving on to something more complex like the UNO Q. Alternatively, they can simply use just the MCU functionalities of the board and program it with the classic Arduino IDE—even though I think that’s a bit overkill for simple IoT and automation projects.

What are your thoughts about this new board? Let us know in the comments below.

Interested in getting started with other boards? We have getting started guides for the ESP32, Raspberry Pi Pico, ESP8266, and Raspberry Pi:



Learn how to build a home automation system and we’ll cover the following main subjects: Node-RED, Node-RED Dashboard, Raspberry Pi, ESP32, ESP8266, MQTT, and InfluxDB database DOWNLOAD »
Learn how to build a home automation system and we’ll cover the following main subjects: Node-RED, Node-RED Dashboard, Raspberry Pi, ESP32, ESP8266, MQTT, and InfluxDB database DOWNLOAD »

Enjoyed this project? Stay updated by subscribing our newsletter!

4 thoughts on “Arduino UNO Q: Getting Started (Features, Pinout, Examples)”

  1. I have ordered an UNO Q and wonder if this will be useful in HAM radio (N8VY). When I get it, I will probably design a 3D print enclosure for it. Combining Linux HAM s/w and the Arduino style control (maybe antenna selection, power supply control, and ???). Anyway, I do home automation with Home-Assistant, 3D printing, HAM radio, homesteading (greenhouse), drones, and more. So, it will be used some how. 73 Doug N8VY
    PS: Thank you for bringing this to my attension. I have purchased several of your tutorials. They are well done. Douglas S. Basberg, MSEE, PE

    Reply
  2. Obrigado por compartilhar, estou curioso sobre os preços praticados, ainda não chegou no Brasil, mas se forem altos , praticamente vão matar a plataforma Arduino e vão jogar os fãs do arduino no colo da Espressife.

    Reply

Leave a Comment

Download Our Free eBooks and Resources

Get instant access to our FREE eBooks, Resources, and Exclusive Electronics Projects by entering your email address below.