The Arduino UNO Q is very different from a traditional Arduino UNO. It keeps the familiar UNO board shape and shield headers, but underneath it combines two processors with very different jobs: a Qualcomm Dragonwing QRB2210 application processor running Debian Linux and an STM32U585 microcontroller handling real-time Arduino I/O.
That makes the UNO Q closer to a small Linux single-board computer and a powerful microcontroller placed on the same PCB than to an upgraded UNO R3. Understanding the pinout therefore requires one important distinction from the start: not every pin belongs to the same processor or even uses the same logic voltage.
This guide explains the UNO Q headers, GPIO mapping, analog pins, PWM, SPI, I2C and Qwiic, UART, CAN, USB-C, power pins and the most important voltage warnings.
Arduino UNO Q Architecture at a Glance
The UNO Q uses a split-processing architecture:
- Qualcomm Dragonwing QRB2210 MPU: quad-core 64-bit Arm Cortex-A53 running at up to 2.0 GHz, with an Adreno GPU and Debian Linux.
- STM32U585 MCU: Arm Cortex-M33 running at up to 160 MHz, with 2 MB Flash and 786 KB SRAM.
- Wireless: dual-band Wi-Fi 5 and Bluetooth 5.1.
- Storage: onboard eMMC rather than relying on a microSD card.
- RAM: UNO Q versions are available with 2 GB or 4 GB LPDDR4 memory.
- USB-C: supports USB host/device role switching and DisplayPort video output.
- Real-time software: Arduino sketches execute on the STM32U585 side, using the Arduino core on Zephyr OS.
The two processors communicate through Arduino’s Bridge/RPC layer. This means Linux can handle networking, AI, databases, containers and high-level application logic while the STM32U585 deals with deterministic GPIO, ADC, PWM, CAN and other hardware interfaces.
UNO Q Logic Levels: Read This Before Connecting Hardware
The UNO Q has more than one voltage domain, and this is probably the most important electrical detail on the whole board.
| Pin group | Logic level | Important note |
|---|---|---|
| UNO-style MCU GPIO | 3.3 V | Most are 5 V tolerant |
| A0 / A1 | 3.3 V | Not 5 V tolerant |
| Qwiic | 3.3 V | Uses the STM32U585 I2C4 peripheral |
| JCTL / MPU GPIO | 1.8 V | Do not connect directly to 3.3 V or 5 V logic |
Most of the pins that look like normal Arduino pins are controlled by the STM32U585 and use 3.3 V logic. Arduino specifies that these MCU GPIOs are 5 V tolerant except A0 and A1. Those two analog/DAC pins must remain within the 3.3 V domain.
The QRB2210 pins exposed through the MPU-oriented headers are a different matter. They operate at 1.8 V. If an MPU GPIO needs to communicate with a 3.3 V microcontroller or sensor, use a proper level shifter or another level-compatible interface.
Arduino UNO Q Digital Pinout
The classic Arduino digital header is controlled by the STM32U585. The familiar D0 to D13 pins are still present, but their underlying MCU mapping is completely different from the ATmega328P used on an UNO R3.
| Arduino pin | STM32U585 pin | Main functions |
|---|---|---|
| D0 | PB7 | GPIO, USART1 RX |
| D1 | PB6 | GPIO, USART1 TX |
| D2 | PB3 | GPIO |
| D3 | PB0 | GPIO, PWM, op-amp output |
| D4 | PA12 | GPIO, FDCAN1 TX |
| D5 | PA11 | GPIO, PWM, FDCAN1 RX |
| D6 | PB1 | GPIO, PWM |
| D7 | PB2 | GPIO |
| D8 | PB4 | GPIO |
| D9 | PB8 | GPIO, PWM |
| D10 | PB9 | GPIO, PWM, SPI SS |
| D11 | PB15 | GPIO, PWM, SPI MOSI |
| D12 | PB14 | GPIO, SPI MISO |
| D13 | PB13 | GPIO, SPI SCK |
D0 and D1 form the main hardware UART on the standard digital header. D10 to D13 provide the familiar SPI arrangement, while D4 and D5 are especially useful because they expose the STM32U585’s FDCAN controller.
Analog Pins A0 to A5
The UNO Q provides six analog-capable pins on the traditional Arduino analog header. Internally these are also numbered D14 to D19.
| Analog pin | Digital alias | STM32 pin | Functions |
|---|---|---|---|
| A0 | D14 | PA4 | ADC, DAC0, GPIO |
| A1 | D15 | PA5 | ADC, DAC1, GPIO |
| A2 | D16 | PA6 | ADC, GPIO, op-amp input |
| A3 | D17 | PA7 | ADC, GPIO, op-amp input |
| A4 | D18 | PC1 | ADC, GPIO, I2C SDA |
| A5 | D19 | PC0 | ADC, GPIO, I2C SCL |
The ADC supports resolutions up to 14 bits. Arduino lets you select the ADC resolution with:
|
1 2 3 4 5 6 |
analogReadResolution(14); int value = analogRead(A0); |
A 14-bit conversion produces values from 0 to 16383.
A0 and A1 Are Also True DAC Outputs
A0 and A1 are particularly useful because they are connected to the STM32U585 DAC peripherals. Unlike PWM, a DAC can generate a genuine analog voltage.
The DAC resolution can be configured up to 12 bits:
|
1 2 3 4 5 |
analogWriteResolution(12); analogWrite(DAC0, 2048); |
Remember that A0 and A1 are not 5 V tolerant. This is an easy mistake to make because most other MCU GPIO pins on the UNO Q tolerate 5 V inputs.
PWM Pins
The standard UNO-style headers expose six pins that Arduino documents for PWM output:
| PWM pin | STM32U585 pin |
|---|---|
| D3 | PB0 |
| D5 | PA11 |
| D6 | PB1 |
| D9 | PB8 |
| D10 | PB9 |
| D11 | PB15 |
They can be controlled with the normal Arduino analogWrite() function. The default output resolution is 8 bits, although higher resolutions can be selected using analogWriteResolution().
Arduino specifies a default PWM frequency of 500 Hz for these outputs.
I2C: Wire, Wire1 and the Qwiic Connector
The UNO Q exposes more than one I2C bus. This is another area where it differs significantly from a classic UNO.
Standard Arduino I2C Header
| Signal | Arduino pin | STM32U585 pin |
|---|---|---|
| SDA | D20 | PB11 |
| SCL | D21 | PB10 |
This bus is accessed using the normal Wire object:
|
1 2 3 4 5 6 7 8 |
#include <Wire.h> void setup() { Wire.begin(); } |
Qwiic I2C Connector
The onboard Qwiic connector has its own I2C bus:
| Qwiic signal | STM32U585 pin |
|---|---|
| SDA | PD13 |
| SCL | PD12 |
| Power | 3.3 V |
| Ground | GND |
Arduino maps this bus to Wire1:
|
1 2 3 4 5 6 7 8 |
#include <Wire.h> void setup() { Wire1.begin(); } |
This arrangement is useful because a Qwiic sensor network does not need to share the same physical I2C pins as hardware attached to the standard UNO headers.
SPI Pinout
SPI is available on the classic digital header:
| SPI signal | Arduino pin | STM32U585 pin |
|---|---|---|
| SS / CS | D10 | PB9 |
| MOSI / COPI | D11 | PB15 |
| MISO / CIPO | D12 | PB14 |
| SCK | D13 | PB13 |
The board also includes the familiar 2×3 SPI header. One important implementation detail is that the dedicated SPI header and the standard digital SPI pins share the same SPI2 peripheral. They should therefore not be treated as two independent SPI controllers.
UART / Serial Pinout
The primary hardware UART exposed on the UNO-style header is:
| Signal | Arduino pin | STM32U585 pin |
|---|---|---|
| RX | D0 | PB7 |
| TX | D1 | PB6 |
Use Serial1 when communicating through these physical pins:
|
1 2 3 4 5 6 7 8 9 10 11 |
void setup() { Serial1.begin(115200); } void loop() { Serial1.println("Hello from UNO Q"); delay(1000); } |
CAN Bus Pins
The STM32U585 includes an FDCAN controller, and Arduino exposes it directly on two digital pins:
| CAN signal | Arduino pin | STM32U585 pin |
|---|---|---|
| FDCAN1 TX | D4 | PA12 |
| FDCAN1 RX | D5 | PA11 |
These are logic-level CAN controller signals. You still need an external CAN transceiver between the UNO Q and the CANH/CANL bus wires. Do not connect D4 and D5 directly to a vehicle or industrial CAN network.
D5 is shared with PWM, so using it for CAN removes it from normal PWM use while the CAN peripheral is active.
USB-C Port
The UNO Q’s USB-C connector is considerably more capable than the USB connector on older Arduino boards.
It supports:
- USB 3.1 connectivity
- USB host/device role switching
- Power-role switching
- DisplayPort Alt Mode
- External video output
- Connection to USB peripherals such as supported webcams
An onboard ANX7625 bridge converts the QRB2210’s MIPI-DSI display output to DisplayPort Alt Mode over USB-C. Arduino specifies Full HD display support, with 1280 x 720 listed as the optimal resolution for typical use.
This USB-C port is therefore part programming interface, part power input, part peripheral port and part display output depending on how the UNO Q is being used.
Power Pins
The UNO Q maintains the familiar UNO power header but its power requirements are much closer to those of a Linux SBC.
| Pin / input | Purpose |
|---|---|
| USB-C | 5 V supply, up to 3 A |
| VIN | 7 to 24 V DC input |
| 5V | 5 V rail output |
| 3.3V | 3.3 V rail output |
| IOREF | Logic-reference connection for shield compatibility |
| GND | Ground |
| RESET | MCU reset |
For projects using Linux, USB peripherals, displays, AI workloads or several attached devices, use a power source with adequate current capability rather than assuming that any old USB cable and charger will be sufficient.
JCTL: QRB2210 MPU Pins
The JCTL header exposes low-level signals associated with the Qualcomm application processor. These include debugging, boot and GPIO-related functions.
The critical point is that JCTL uses 1.8 V logic. These pins are not interchangeable with the 3.3 V STM32U585 GPIO headers.
Exposed signals include QRB2210 GPIOs, serial/debug signals, USB boot control, PMIC reset and dedicated 1.8 V power. JCTL is best treated as an advanced development/debug interface rather than as another general Arduino shield header.
JMISC and JMEDIA
The UNO Q also exposes interfaces that would normally be associated with a Linux application processor rather than a conventional Arduino.
JMISC carries a mixture of MPU and MCU-related signals including audio and additional GPIO. Because this connector can contain different voltage domains, verify each signal before connecting external hardware.
JMEDIA provides high-speed multimedia interfaces associated with the QRB2210, including MIPI camera and display connectivity. These interfaces are intended for cameras, displays and advanced carrier-board designs rather than breadboard-style GPIO wiring.
Onboard LEDs and LED Matrix
The UNO Q includes four RGB LEDs plus an 8 x 13 blue LED matrix. Some LED functions are associated with the MPU while others are controlled by the MCU.
The LED matrix is particularly useful for status displays, animations and simple graphics without requiring an external display. Because the matrix is controlled from the microcontroller side, it can also be used for immediate real-time feedback while the Linux processor is busy with higher-level tasks.
UNO Q Pinout Summary
| Function | Pins / interface |
|---|---|
| Digital GPIO | D0-D13 plus additional MCU GPIO on other headers |
| Analog inputs | A0-A5, up to 14-bit ADC |
| DAC | A0 / DAC0 and A1 / DAC1 |
| PWM | D3, D5, D6, D9, D10, D11 |
| UART | D0 RX, D1 TX |
| SPI | D10-D13 and 2×3 SPI header |
| I2C | D20 SDA, D21 SCL |
| Qwiic I2C | PD13 SDA, PD12 SCL via Wire1 |
| CAN | D4 TX, D5 RX; external transceiver required |
| USB | USB-C host/device plus DisplayPort Alt Mode |
| MPU GPIO | Selected QRB2210 signals, 1.8 V logic |
UNO Q vs a Traditional Arduino UNO
The familiar board outline can be misleading. The UNO Q is not simply an UNO with a faster processor.
On an UNO R3, one ATmega328P runs the sketch and directly controls essentially everything. On the UNO Q, the job is divided between a Linux-capable application processor and a dedicated microcontroller. This allows a project to run Python, containers, networking stacks, AI software or a web application on Linux while still maintaining predictable microcontroller timing for motors, sensors and control loops.
That makes the UNO Q particularly attractive for robotics, machine vision, smart gateways, industrial prototypes and edge-AI systems where a Raspberry Pi-class Linux environment would normally need a separate microcontroller for reliable real-time I/O.
Common UNO Q Pinout Mistakes
- Assuming every header is 3.3 V: the QRB2210 MPU pins use 1.8 V logic.
- Applying 5 V to A0 or A1: these two MCU pins are specifically not 5 V tolerant.
- Connecting CANH/CANL directly to D4/D5: an external CAN transceiver is required.
- Assuming the Qwiic port is the same Wire bus: Qwiic is exposed through
Wire1, while the normal header usesWire. - Treating both SPI headers as independent buses: the standard SPI pins and 2×3 SPI connector share SPI2.
- Ignoring power requirements: Linux, USB devices and display output can demand considerably more power than a simple microcontroller sketch.
Final Thoughts
The Arduino UNO Q is one of the biggest architectural departures ever placed in the UNO form factor. Its pinout preserves enough of the familiar Arduino layout to work with existing hardware, but the combination of a Linux QRB2210 MPU, STM32U585 real-time MCU, Qwiic, CAN, true DAC outputs, USB-C video and multimedia headers puts it in a completely different class from the UNO R3 or even the UNO R4.
For normal sensors, relays and Arduino-style hardware, concentrate on the STM32U585-controlled 3.3 V headers. For Linux-side expansion and advanced multimedia work, pay close attention to the 1.8 V QRB2210 domain and the dedicated JCTL, JMISC and JMEDIA connectors.
Once that separation is clear, the UNO Q pinout becomes much easier to understand: the STM32U585 behaves like the real-time Arduino, while the QRB2210 provides the Linux computer sitting beside it.