아두이노 우노 Q (2023-03-25)
2025-10-09, G25DR
1. 서론: 아두이노 우노 Q의 등장과 의의
1.1 아두이노의 진화와 새로운 도전
아두이노 플랫폼은 2010년 출시된 아두이노 우노(Arduino Uno)를 필두로 전자공학 프로토타이핑의 대중화를 견인해왔다.1 8비트 ATmega328P 마이크로컨트롤러를 기반으로 한 우노 Rev3와 같은 보드들은 단순한 구조와 직관적인 개발 환경을 통해 비전문가도 쉽게 물리적인 컴퓨팅 세계에 입문할 수 있는 길을 열었다.2 시간이 흐르면서 아두이노는 UNO R4와 같이 32비트 마이크로컨트롤러(MCU)를 탑재하며 성능의 한계를 극복하려는 노력을 지속해왔다.1
그러나 아두이노 우노 Q(Arduino UNO Q)의 등장은 단순한 성능 향상을 넘어선, 근본적인 패러다임의 전환을 의미한다. 이는 아두이노가 전통적인 MCU의 영역에서 벗어나, 고성능 마이크로프로세서(MPU)를 기반으로 하는 싱글 보드 컴퓨터(SBC) 시장으로 본격적으로 진출하는 신호탄이다.4
1.2 퀄컴의 인수와 전략적 변화
이러한 변화의 중심에는 2025년 10월 7일 발표된 퀄컴(Qualcomm)의 아두이노 인수가 있다.6 퀄컴은 인수와 동시에 자사의 칩을 기반으로 한 아두이노 우노 Q를 출시하며, 이는 두 기업의 결합이 단순한 자본 투자를 넘어 깊은 기술적 융합을 목표로 함을 명확히 보여준다.4 퀄컴의 인수는 오픈소스 커뮤니티에 약간의 우려를 낳기도 했으나, 아두이노와 퀄컴은 UNO Q의 회로도, 설계 파일 등 관련 데이터를 오픈소스 라이선스(CC BY-SA 4.0, GPL3, MPL) 하에 공개함으로써 개방성 유지에 대한 의지를 표명했다.6
이러한 전략적 변화는 시장의 요구에 부응하기 위한 필연적인 선택으로 분석된다. 현대의 임베디드 시스템은 단순한 실시간 제어를 넘어, 인공지능(AI) 추론, 컴퓨터 비전, 복잡한 네트워크 통신 등 고도의 연산 능력을 요구한다. 기존 아두이노 플랫폼으로는 이러한 요구를 충족시키기 어려웠으며, 라즈베리 파이(Raspberry Pi) 생태계가 증명한 접근성 높은 리눅스 기반 SBC 시장의 잠재력은 아두이노에게 새로운 방향을 제시했다. 퀄컴의 강력한 모바일 시스템 온 칩(SoC) 기술을 아두이노의 상징적인 우노 폼팩터에 경쟁력 있는 가격($44)으로 통합한 UNO Q는, 이 새로운 기업 전략의 구체적인 결과물이다.5
1.3 하이브리드 아키텍처: 두 개의 두뇌
아두이노 우노 Q의 가장 핵심적인 특징은 ‘듀얼-브레인(dual-brain)’ 또는 ‘하이브리드(hybrid)’ 설계에 있다.8 이는 하나의 보드 안에 두 개의 독립적인 프로세싱 유닛을 통합한 구조를 의미한다. 하나는 고성능 컴퓨팅을 담당하는 퀄컴의 MPU이며, 다른 하나는 결정론적(deterministic) 실시간 제어를 담당하는 ST마이크로일렉트로닉스(STMicroelectronics)의 MCU이다.10
MPU는 완전한 데비안 리눅스 운영체제를 구동하며 파이썬과 같은 고급 언어를 통해 복잡한 애플리케이션을 실행하고, MCU는 아두이노 스케치를 통해 센서 데이터 수집, 모터 제어 등 정밀한 타이밍이 요구되는 작업을 처리한다. 이 두 ’두뇌’가 유기적으로 연동됨으로써, 개발자는 엣지 AI, 지능형 로봇, 정교한 스마트 홈 시스템과 같이 과거에는 여러 개의 보드를 조합해야만 가능했던 복잡한 프로젝트를 단일 보드에서 구현할 수 있게 되었다.9 본 안내서는 아두이노 우노 Q의 이러한 혁신적인 아키텍처, 하드웨어 인터페이스, 그리고 새로운 개발 환경을 심층적으로 분석하여 개발자가 그 잠재력을 최대한 활용할 수 있도록 돕는 것을 목표로 한다.
2. 핵심 아키텍처 분석
아두이노 우노 Q의 강력함은 두 개의 이질적인 프로세서를 하나의 플랫폼에 통합하여 각각의 장점을 극대화한 하이브리드 아키텍처에서 비롯된다. 고성능 애플리케이션 프로세서와 실시간 마이크로컨트롤러가 각자의 역할에 최적화된 운영체제 위에서 동작하며 시너지를 창출한다.
2.1 MPU (마이크로프로세서 유닛): 퀄컴 드래곤윙 QRB2210
보드의 ‘메인 두뇌’ 역할을 하는 것은 퀄컴의 드래곤윙(Dragonwing) QRB2210 마이크로프로세서이다.10 이 MPU는 단순한 제어 작업을 넘어 현대적인 컴퓨팅 요구사항을 충족시키기 위해 설계되었다.
-
상세 사양: 쿼드코어 Arm Cortex-A53 프로세서가 최대 2.0 GHz의 클럭 속도로 동작하며, Adreno GPU 3D 그래픽 가속기와 2개의 이미지 신호 프로세서(ISP)를 내장하고 있다.9 ISP는 최대 25MP 또는 13MP+13MP 카메라 입력을 초당 30 프레임으로 처리할 수 있는 성능을 갖추고 있어, 머신 비전 및 고품질 비디오 처리 애플리케이션에 매우 유리하다.10
-
운영체제: MPU는 업스트림 지원을 받는 완전한 데비안(Debian) 리눅스 환경을 구동한다.10 이는 개발자에게 친숙하고 안정적인 리눅스 명령줄 인터페이스, 방대한 오픈소스 소프트웨어 패키지, 그리고 파이썬과 같은 고급 프로그래밍 언어를 네이티브로 활용할 수 있는 강력한 기반을 제공한다.9
2.2 MCU (마이크로컨트롤러 유닛): ST마이크로일렉트로닉스 STM32U585
실시간성과 정밀한 하드웨어 제어를 담당하는 것은 ST마이크로일렉트로닉스의 STM32U585 마이크로컨트롤러이다.10 이는 전통적인 아두이노의 강점을 계승하고 발전시키는 역할을 한다.
-
상세 사양: 저전력 Arm Cortex-M33 아키텍처를 기반으로 하며, 최대 160 MHz의 클럭 속도로 동작한다. 2 MB의 플래시 메모리와 786 KB의 SRAM, 그리고 부동 소수점 연산 장치(FPU)를 탑재하여 복잡한 실시간 제어 알고리즘을 빠르고 효율적으로 처리할 수 있다.9
-
운영체제: MCU는 실시간 운영체제(RTOS)인 Zephyr OS 위에서 아두이노 코어(Arduino Core)를 실행한다.10 이는 기존 아두이노 개발자들이 익숙한
setup()과loop()구조의 스케치를 그대로 사용하면서도, Zephyr OS가 제공하는 실시간 스케줄링과 안정성을 확보할 수 있게 해준다.
2.3 메모리 및 스토리지 구성
UNO Q는 다양한 애플리케이션 요구사항을 충족시키기 위해 두 가지 모델로 제공된다.
-
RAM: 2GB LPDDR4 RAM과 16GB eMMC 스토리지를 탑재한 기본 모델과, 4GB LPDDR4 RAM과 32GB eMMC 스토리지를 탑재한 고급 모델이 있다.7 특히 그래픽 사용자 인터페이스(GUI)를 사용하거나 여러 애플리케이션을 동시에 실행하는 단일 보드 컴퓨터(SBC) 모드로 활용할 경우, 4GB RAM 모델이 권장된다.10
-
스토리지: 내장형 eMMC 스토리지를 사용함으로써, 운영체제와 사용자 데이터를 위해 별도의 microSD 카드를 필수로 요구했던 라즈베리 파이와 같은 다른 SBC와 차별화된다. 이는 시스템의 안정성과 내구성을 높이는 장점으로 작용한다.9
2.3.1 표 1: Arduino UNO Q 상세 기술 사양
| 카테고리 | 세부 항목 | 사양 |
|---|---|---|
| MPU (마이크로프로세서) | 모델 | Qualcomm Dragonwing™ QRB2210 10 |
| CPU | Quad-core Arm® Cortex®-A53 @ 2.0 GHz 9 | |
| GPU | Adreno GPU 3D graphics accelerator 9 | |
| ISP | 2x ISP (13 MP + 13 MP or 25 MP) @ 30 fps 10 | |
| 운영체제 | Debian Linux OS 10 | |
| MCU (마이크로컨트롤러) | 모델 | STMicroelectronics® STM32U585 10 |
| CPU | Arm® Cortex®-M33 up to 160 MHz 9 | |
| 메모리 | 2 MB Flash, 786 KB SRAM 9 | |
| 특징 | Floating Point Unit (FPU) 10 | |
| 운영체제 | Zephyr OS 10 | |
| 시스템 메모리 및 스토리지 | RAM | 2GB LPDDR4 또는 4GB LPDDR4 7 |
| 스토리지 | 16GB eMMC 또는 32GB eMMC 13 | |
| 무선 연결 | Wi-Fi | Wi-Fi® 5 Dual-band (2.4/5 GHz), 온보드 안테나 9 |
| Bluetooth | Bluetooth® 5.1, 온보드 안테나 9 | |
| 유선 인터페이스 | USB | 1x USB-C® 포트 (Host/Device, Power Delivery, DisplayPort Alt-Mode) 9 |
| 확장 커넥터 | 표준 UNO 헤더, Qwiic 커넥터, 하단 고속 커넥터 (MIPI-CSI, MIPI-DSI, Audio) 10 | |
| 기타 | I2C/I3C, SPI, PWM, CAN, UART, PSSI, GPIO, JTAG, ADC 9 | |
| 온보드 페리페럴 | 디스플레이 | 8 x 13 RGB LED 매트릭스 9 |
| 전원 | USB-C 입력 | 5 VDC @ 3 A 9 |
| VIN 핀 입력 | 7 VDC ~ 24 VDC 12 | |
| 물리적 크기 | 폼팩터 | Arduino UNO 폼팩터 (68.6 mm x 53.4 mm) 2 |
3. 하드웨어 인터페이스 및 확장성
아두이노 우노 Q는 전통적인 아두이노의 접근성과 새로운 고성능 인터페이스를 결합하여 뛰어난 확장성을 제공한다. 우노 폼팩터를 유지하면서도 현대적인 임베디드 시스템의 요구사항을 충족시키기 위한 다양한 물리적 인터페이스를 갖추고 있다.
3.1 물리적 폼팩터 및 I/O
3.1.1 전통의 계승
UNO Q의 가장 큰 설계 특징 중 하나는 클래식 아두이노 우노의 물리적 폼팩터를 그대로 유지했다는 점이다.10 이는 수십 년간 축적된 방대한 아두이노 쉴드(Shield) 생태계와의 하드웨어적 호환성을 보장한다.9 기존 아두이노 사용자는 자신이 보유한 모터 드라이버 쉴드, 센서 쉴드, 프로토타이핑 쉴드 등을 UNO Q에 그대로 장착하여 사용할 수 있으며, 이는 새로운 플랫폼으로의 전환 비용과 학습 곡선을 크게 낮추는 중요한 전략적 결정이다.
3.1.2 새로운 확장
전통을 계승하는 동시에, UNO Q는 미래의 고성능 애플리케이션을 위한 새로운 확장 포트를 도입했다. 보드 하단에는 MIPI-CSI 카메라, MIPI-DSI 디스플레이, 아날로그 오디오와 같은 고속 인터페이스를 연결할 수 있는 새로운 커넥터가 배치되어 있다.10 이를 통해 개발자는 별도의 변환 보드 없이도 고해상도 카메라나 터치스크린 디스플레이를 시스템에 직접 통합할 수 있어, 컴퓨터 비전이나 인터랙티브 키오스크와 같은 프로젝트의 구현이 훨씬 용이해졌다.
3.1.3 Qwiic 커넥터
프로토타이핑의 편의성을 극대화하기 위해, UNO Q는 I2C 통신 기반의 Qwiic 커넥터를 기본으로 탑재했다.9 이는 SparkFun이 주도하는 생태계 표준으로, 납땜 없이 수백 종의 센서, 액추에이터, 디스플레이 모듈을 케이블 하나로 간단하게 연결할 수 있게 해준다.
3.2 연결성: 무선 및 유선
UNO Q는 별도의 쉴드나 동글 없이도 풍부한 연결 옵션을 기본으로 제공한다.
-
무선 연결: WCBN3536A 무선 모듈을 통해 듀얼밴드(2.4/5 GHz) Wi-Fi 5와 Bluetooth 5.1 연결을 지원한다.10 온보드 안테나가 내장되어 있어 별도의 외부 안테나 없이도 안정적인 무선 통신이 가능하다.
-
USB-C 포트: 보드의 유일한 USB 포트인 USB-C는 단순한 데이터 통신 포트를 넘어선 다목적 인터페이스 역할을 수행한다.9 이 포트는 최대 5V 3A의 전원 공급(Power Delivery), DisplayPort Alt-Mode를 통한 비디오 출력, 그리고 호스트(Host) 및 디바이스(Device) 역할 전환이 가능한 데이터 통신 기능을 모두 지원한다.15
이러한 설계는 보드의 물리적 공간을 절약하고 디자인을 단순화하는 장점이 있지만, 동시에 한계점으로 작용하기도 한다. 우노 폼팩터를 유지함으로써 얻은 호환성의 대가로, 라즈베리 파이 5와 같은 경쟁 제품이 제공하는 다수의 USB-A 포트, 듀얼 HDMI, 전용 이더넷 포트 등을 내장하지 못했다.5 따라서 키보드, 마우스, 모니터를 동시에 연결하는 등 본격적인 단일 보드 컴퓨터(SBC)로 활용하기 위해서는 외부 USB-C 허브나 동글이 사실상 필수적이다.4 이는 추가 비용 발생, 잠재적인 고장 지점 증가, 그리고 물리적 설치의 복잡성 증가라는 단점을 수반한다. 결국 UNO Q의 폼팩터는 데스크톱 대체재보다는, 데스크톱의 능력을 갖춘 강력한 ’임베디드 컨트롤러’로서의 정체성을 더 명확히 한다.
3.3 온보드 페리페럴
UNO Q는 사용자의 편의와 시각적 표현을 위해 유용한 온보드 주변장치를 포함하고 있다.
-
LED 매트릭스: 보드 중앙에는 8x13 구성의 RGB LED 매트릭스가 탑재되어 있다.9 이 매트릭스는 프로그램의 상태 표시, 간단한 애니메이션, 아이콘 출력 등 다양한 시각적 피드백을 제공하는 데 사용될 수 있으며, 별도의 디스플레이 없이도 기본적인 상호작용을 가능하게 한다.16
-
기타 인터페이스: 이 외에도 I2C, SPI, UART와 같은 표준 직렬 통신 프로토콜과 PWM(펄스 폭 변조), CAN(Controller Area Network), ADC(아날로그-디지털 변환기) 등 임베디드 시스템 개발에 필수적인 다양한 하드웨어 인터페이스를 완벽하게 지원한다.9
4. 개발 환경: 아두이노 앱 랩
아두이노 우노 Q의 하드웨어적 혁신을 완성하는 것은 새로운 통합 개발 환경(IDE)인 ’아두이노 앱 랩(Arduino App Lab)’이다.10 앱 랩은 단순한 코드 편집기를 넘어, UNO Q의 하이브리드 아키텍처를 최대한 활용하고 개발의 복잡성을 낮추기 위해 설계된 전략적인 소프트웨어 플랫폼이다.
4.1 통합 개발의 패러다임 전환
기존의 아두이노 IDE가 MCU 프로그래밍에 초점을 맞췄다면, 앱 랩은 MPU에서 실행되는 리눅스 기반 파이썬 애플리케이션과 MCU에서 실행되는 실시간 아두이노 스케치를 하나의 프로젝트, 즉 ’앱(App)’이라는 개념으로 통합 관리한다.9 이 ’앱’에는 AI 모델까지 포함될 수 있어, 개발자는 여러 이질적인 기술 스택을 단일 인터페이스 내에서 원활하게 결합하고 조율할 수 있다.10
이러한 접근 방식은 UNO Q의 핵심 가치를 실현하는 열쇠다. 하이브리드 MPU/MCU 시스템 개발은 전통적으로 크로스 컴파일 툴체인 설정, RPC(원격 프로시저 호출) 프로토콜 구현, 리눅스 서비스 관리, 컨테이너 배포 등 높은 수준의 전문 지식을 요구한다. 아두이노는 digitalWrite() 함수로 복잡한 레지스터 조작을 숨겼던 것처럼, 앱 랩을 통해 이러한 복잡성을 추상화하여 기존 아두이노 사용자들이 더 높은 수준의 프로젝트에 쉽게 도전할 수 있도록 진입 장벽을 낮추는 전략을 취하고 있다. 앱 랩은 UNO Q 보드 자체에 사전 설치되어 있어 모니터, 키보드, 마우스를 연결하여 바로 사용하는 ’단일 보드 컴퓨터 모드’와, PC에 설치하여 USB 또는 네트워크를 통해 보드에 연결하는 ’PC 연결 모드’를 모두 지원한다.17
4.2 브리지(Bridge)를 통한 MPU-MCU 연동 심층 분석
두 개의 독립적인 프로세서가 하나의 애플리케이션처럼 동작하게 만드는 핵심 기술은 ‘브리지(Bridge)’ 라이브러리다. 브리지는 MPU의 리눅스 환경과 MCU의 Zephyr/Arduino 환경 간의 통신을 위한 내장 RPC 메커니즘을 제공한다.10 개발자는 복잡한 소켓 프로그래밍이나 직렬 통신 프로토콜을 직접 구현할 필요 없이, 간단한 API 호출만으로 두 프로세서 간의 데이터와 제어 신호를 교환할 수 있다.
브리지의 핵심 기능은 다음과 같다 18:
-
notify(알림): 한쪽에서 다른 쪽으로 데이터를 일방적으로 전송한다. 예를 들어, MCU는 센서에서 읽은 값을 주기적으로 MPU의 파이썬 애플리케이션으로 ‘알릴’ 수 있다. -
provide(제공) 및call(호출): 한쪽에서 특정 기능을 ’서비스’로 제공하면, 다른 쪽에서 이를 ’호출’하여 실행하고 결과를 받을 수 있다. 예를 들어, MPU의 파이썬 애플리케이션은 복잡한 계산을 수행하는 함수를 ’제공’하고, MCU는 필요할 때 이 함수를 ’호출’하여 결과를 받아 실시간 제어에 활용할 수 있다.
구체적인 코드 예시:
MCU의 아두이노 스케치에서 notify를 사용하여 MPU로 데이터를 보내는 방법은 다음과 같다.
// In sketch.ino (MCU)
#include <Arduino.h>
#include <Bridge.h>
void setup() {
Bridge.begin();
}
void loop() {
int sensorValue = analogRead(A0); // Read a sensor value
Bridge.notify("sensor_update", sensorValue); // Notify Python function with the value
delay(1000);
}
18
위 스케치는 1초마다 A0 핀의 아날로그 값을 읽어 “sensor_update“라는 이름으로 MPU에 알린다. MPU의 파이썬 스크립트에서는 이 알림을 받을 함수를 provide를 통해 등록한다.
# In main.py (MPU)
from arduino.bridge import Bridge
def on_sensor_update(data: int):
"""Callback function to handle data from MCU."""
print(f"Received sensor value from MCU: {data}")
def main():
Bridge.begin()
Bridge.provide("sensor_update", on_sensor_update)
# Keep the script running
while True:
pass
if __name__ == "__main__":
main()
18
이처럼 브리지는 두 이질적인 실행 환경 사이의 통신을 몇 줄의 코드로 단순화하여, 개발자가 시스템의 저수준 통신 구현이 아닌 애플리케이션 로직 자체에 집중할 수 있도록 돕는다.
4.3 브릭(Bricks)의 개념과 활용
’브릭(Bricks)’은 앱 랩의 생산성을 한 단계 더 끌어올리는 모듈식 소프트웨어 컴포넌트다.17 브릭은 AI 모델, 웹 UI 빌더, 외부 API 클라이언트와 같이 자주 사용되지만 구현이 복잡한 기능들을 미리 패키징하여 제공한다.19 개발자는 레고 블록을 조립하듯 필요한 브릭을 자신의 ’앱’에 추가하여 강력한 기능을 손쉽게 구현할 수 있다.
-
작동 방식: 브릭은 파이썬으로 작성된 코드 패키지로, 앱에 임포트되면 리눅스 시스템에서 별도의 프로세스로 실행된다. 특히 AI 모델을 포함하는 브릭은 기술적인 복잡성을 완전히 추상화하기 위해 도커(Docker) 컨테이너 기술을 활용하여 실행된다.19 사용자는 도커에 대한 사전 지식 없이도 컴퓨터 비전이나 음성 인식 모델을 자신의 프로젝트에 통합할 수 있다.
-
사용법: 앱 랩의 UI에서 ‘Add Bricks’ 버튼을 클릭하여 원하는 브릭을 선택하면 프로젝트에 추가된다. 이후
main.py파일에서 해당 브릭을 임포트하여 API를 호출하는 방식으로 사용한다.19 예를 들어, 객체 탐지 브릭을 사용하려면 다음과 같이 코드를 작성할 수 있다.
# In main.py (MPU)
from arduino.app_bricks.object_detection import ObjectDetection
import cv2 # Assuming a camera is set up
# Initialize the ObjectDetection Brick
object_detector = ObjectDetection()
# Capture an image frame
# (This part requires camera setup code)
camera = cv2.VideoCapture(0)
ret, frame = camera.read()
camera.release()
if ret:
# Convert frame to bytes
_, image_bytes = cv2.imencode('.jpg', frame)
# Use the Brick to detect objects
results = object_detector.detect(image_bytes.tobytes())
if results and results.get("detection"):
for detection in results["detection"]:
print(f"Detected: {detection.get('class_name')} with confidence {detection.get('confidence')}")
19
- 종류: 앱 랩은 AI(오디오, 컴퓨터 비전, 센서 데이터), API, IoT, 스토리지, 웹 사용자 인터페이스 등 다양한 카테고리의 브릭을 제공하여, 개발자가 광범위한 애플리케이션을 신속하게 구축할 수 있도록 지원한다.19
5. 실용 가이드: 시작부터 응용까지
이론적 분석을 넘어, 아두이노 우노 Q를 실제로 활용하기 위한 단계별 가이드를 제공한다. 최초 설정부터 기본적인 ‘Blink’ 예제 실행, 그리고 UNO Q의 고유한 기능을 활용한 고급 프로젝트 아이디어까지 다룬다.
5.1 최초 설정 및 ‘Blink’ 예제 실행
5.1.1 준비물 및 전원 공급
UNO Q를 시작하기 위해 필요한 기본 준비물은 다음과 같다 16:
-
아두이노 우노 Q 보드
-
USB-C 케이블 (5V, 3A 전송 가능)
-
인터넷에 연결된 PC (Windows, macOS, 또는 Linux)
단일 보드 컴퓨터(SBC) 모드로 사용하려면 추가로 다음이 필요하다:
-
HDMI를 지원하는 모니터
-
USB 키보드 및 마우스
-
전원 입력 및 주변기기 연결을 위한 USB-C 동글 또는 허브
전원은 USB-C 포트를 통해 5V 3A를 공급하거나, VIN 핀을 통해 7-24V의 외부 전원을 인가할 수 있다.15 무선 통신이나 디스플레이 초기화와 같이 순간적으로 전력 소모가 많은 작업을 안정적으로 수행하기 위해서는 정격에 맞는 전원 공급 장치를 사용하는 것이 중요하다.15
5.1.2 앱 랩 설치 및 보드 연결
-
아두이노 공식 웹사이트의 소프트웨어 페이지에서 자신의 운영체제에 맞는 아두이노 앱 랩을 다운로드하여 설치한다.18
-
USB-C 케이블을 사용하여 UNO Q를 PC에 연결한다.
-
앱 랩을 실행하면 자동으로 연결된 보드를 감지한다. 처음 연결 시, 보드의 Wi-Fi 네트워크 설정, 보드 이름 및 관리자 암호를 설정하는 초기 구성 마법사가 나타난다. 안내에 따라 설정을 완료한다.18
5.1.3 ‘Blink’ 예제 실행: 두 가지 제어 방식
‘Blink’ 예제는 UNO Q의 하이브리드 제어 능력을 보여주는 가장 기본적인 실습이다. MCU가 직접 LED를 제어하는 방식과 MPU가 제어하는 방식 모두를 앱 랩 내에서 구현할 수 있다.
1. MCU 제어 방식 (전통적인 아두이노 스케치)
이 방식은 MCU가 GPIO 핀을 직접 제어하여 LED를 점멸시킨다. 이는 실시간성과 정밀한 타이밍 제어에 대한 MCU의 역할을 보여준다.
-
앱 랩에서 새 앱(App)을 생성한다.
-
화면의 ‘sketch’ 탭(또는
sketch.ino파일)에 다음 코드를 입력한다.
/* Blink - MCU Controlled Turns an on-board LED on for one second, then off for one second, repeatedly. This code runs on the STM32U585 MCU.*/
// Most Arduino boards have an on-board LED you can control.
// On the UNO Q, we can control one of the user RGB LEDs.
// Let's use LED3_R (Red component of the third user LED).
// Note: These LEDs are active low, so HIGH turns them OFF and LOW turns them ON.
#define LED_PIN LED3_R
void setup() {
// Initialize the digital pin as an output.
pinMode(LED_PIN, OUTPUT);
// Initially turn the LED off (set the pin HIGH).
digitalWrite(LED_PIN, HIGH);
}
void loop() {
digitalWrite(LED_PIN, LOW); // Turn the LED ON by making the voltage LOW
delay(1000); // Wait for a second
digitalWrite(LED_PIN, HIGH); // Turn the LED OFF by making the voltage HIGH
delay(1000); // Wait for a second
}
16
- 앱 랩 우측 상단의 ‘Run’ 버튼을 클릭하여 코드를 업로드하고 실행한다. 보드의 사용자 LED 중 하나가 1초 간격으로 켜졌다 꺼지는 것을 확인할 수 있다.
2. MPU 제어 방식 (리눅스 파이썬 스크립트)
이 방식은 MPU에서 실행되는 파이썬 스크립트가 리눅스 커널의 파일 시스템 인터페이스를 통해 LED를 제어한다. 이는 MPU의 고수준 운영체제 제어 능력을 보여준다.
-
앱 랩에서 새 앱을 생성한다.
-
화면의 ‘python’ 탭(또는
main.py파일)에 다음 코드를 입력한다.
#
# Blink - MPU Controlled
# Turns a user LED on and off using Python script running on Debian Linux.
# This script accesses the LED via the Linux sysfs interface.
#
import time
# Path to the brightness control file for the red component of the first user LED
LED_PATH = "/sys/class/leds/red:user/brightness"
def set_led_brightness(path, value):
"""Writes a value (0 or 1) to the LED's brightness file."""
try:
with open(path, 'w') as led_file:
led_file.write(str(value))
except IOError as e:
print(f"Error writing to {path}: {e}")
def main():
"""Main function to blink the LED."""
print("Starting MPU-controlled LED blink...")
try:
while True:
# Turn LED ON
set_led_brightness(LED_PATH, 1)
time.sleep(1)
# Turn LED OFF
set_led_brightness(LED_PATH, 0)
time.sleep(1)
except KeyboardInterrupt:
# Clean up on exit
set_led_brightness(LED_PATH, 0)
print("\nExiting and turning off LED.")
if __name__ == "__main__":
main()
16
- ‘Run’ 버튼을 클릭하여 스크립트를 실행한다. 보드의 사용자 LED가 파이썬 스크립트에 의해 제어되어 1초 간격으로 점멸하는 것을 확인할 수 있다.
5.2 주요 기능 활용 프로젝트 아이디어
UNO Q의 하이브리드 아키텍처는 기존의 아두이노 프로젝트를 넘어서는 새로운 가능성을 연다.
-
아케이드 캐비닛 머신 (Arcade Cabinet Machine): MPU의 데비안 리눅스 환경과 Adreno GPU 성능을 활용하여 RetroArch와 같은 게임 에뮬레이터를 설치한다. USB-C 허브를 통해 모니터, 스피커, 아케이드 조이스틱 컨트롤러를 연결하여 완전한 레트로 게임 환경을 구축할 수 있다. 동시에, MCU는 아두이노 스케치를 통해 캐비닛의 화려한 RGB LED 조명 효과를 제어하거나 커스텀 버튼 입력을 처리하는 역할을 맡아, MPU와 MCU가 각자의 장점을 살려 협력하는 이상적인 프로젝트가 될 수 있다.21
-
로컬 기상 관측소 (Local Weather Station): MCU가 Qwiic 커넥터나 SPI/I2C를 통해 연결된 온도, 습도, 기압, 미세먼지 센서로부터 실시간으로 정밀한 데이터를 수집한다. 수집된 데이터는 ’브리지’를 통해 MPU로 전송된다. MPU의 파이썬 스크립트는 이 데이터를 받아 데이터베이스에 기록하고, 웹 서버 브릭을 사용하여 로컬 네트워크의 다른 장치에서 볼 수 있는 대시보드 웹 페이지를 제공한다. 또한 외부 날씨 API와 데이터를 비교 분석하는 등 복잡한 데이터 처리 작업을 수행할 수 있다.21
-
AI 기반 스마트 보안 카메라: MPU에 MIPI-CSI 카메라를 연결하고, 앱 랩의 컴퓨터 비전 ’브릭’을 사용하여 실시간 영상에서 사람이나 특정 물체를 탐지한다. 객체가 탐지되면, MPU는 ’브리지’를 통해 MCU에 신호를 보낸다. 신호를 받은 MCU는 즉시 서보 모터를 움직여 카메라의 방향을 바꾸거나, 고휘도 LED를 점등하고 경고음을 울리는 등 실시간 하드웨어 반응을 수행한다. 이는 MPU의 AI 추론 능력과 MCU의 결정론적 실시간 제어가 결합된 대표적인 엣지 AI 애플리케이션이다.9
-
음성 제어 로봇 팔: MPU에 USB 마이크를 연결하고 음성 인식 AI 브릭을 사용하여 “오른쪽으로”, “집어“와 같은 명령어를 인식한다. 인식된 명령어는 MPU에서 해석되어 로봇 팔의 각 관절이 움직여야 할 각도로 변환된다. 이 목표 각도 값들이 ’브리지’를 통해 MCU로 전달되면, MCU는 PWM 신호를 정밀하게 제어하여 여러 개의 서보 모터를 동시에 부드럽게 움직여 명령을 수행한다.25
6. 비교 분석: 라즈베리 파이 5와의 경쟁 구도
아두이노 우노 Q는 가격, 폼팩터, 리눅스 구동 능력 면에서 라즈베리 파이 5와 직접적인 경쟁 관계에 놓인다. 두 보드는 유사한 목표 시장을 공유하지만, 근본적인 아키텍처 철학과 개발 경험에서 뚜렷한 차이를 보인다. 어떤 보드가 더 나은 선택인지는 프로젝트의 구체적인 요구사항에 따라 달라진다.
6.1 아키텍처 및 성능 비교
순수한 컴퓨팅 성능 측면에서는 라즈베리 파이 5가 우위를 점한다. 라즈베리 파이 5는 더 높은 클럭 속도의 Arm Cortex-A76 CPU를 탑재하고 있으며, 더 많은 RAM 옵션을 제공하여 데스크톱 애플리케이션이나 연산 집약적인 작업에서 더 나은 성능을 보인다.5
그러나 UNO Q의 진정한 강점은 통합된 실시간 제어 능력에 있다. UNO Q는 고성능의 STM32U585 MCU를 내장하고 있으며, 아두이노 앱 랩의 ’브리지’를 통해 MPU와 MCU 간의 상호작용을 매우 쉽고 직관적으로 프로그래밍할 수 있도록 지원한다.10 이는 센서 데이터를 밀리초 단위의 정밀도로 읽어 들이면서 동시에 리눅스에서 웹 서버를 운영하는 것과 같은 하이브리드 작업을 원활하게 수행할 수 있음을 의미한다.
반면, 라즈베리 파이 5는 RP1이라는 자체 I/O 컨트롤러를 가지고 있지만, 이는 주로 표준 인터페이스(USB, 이더넷 등)를 관리하는 역할을 하며, 일반 사용자가 아두이노처럼 자유롭게 프로그래밍하여 실시간 제어에 활용하기에는 기술적 장벽이 높고 공식적인 지원도 미미하다.5 따라서 정밀한 실시간 제어가 필수적인 프로젝트에서는 UNO Q가 구조적으로 명백한 우위를 가진다.
6.2 소프트웨어 생태계 및 개발 경험
라즈베리 파이는 수년간 축적된 방대한 커뮤니티와 튜토리얼, 그리고 잘 정립된 라즈베리 파이 OS(Raspberry Pi OS)를 통해 강력한 소프트웨어 생태계를 구축했다.27 개발자는 터미널, VS Code 등 자신이 선호하는 표준 리눅스 개발 도구를 사용하여 높은 자유도 속에서 작업할 수 있다.
아두이노 우노 Q는 ’아두이노 앱 랩’이라는 새로운 접근 방식을 제시한다. 앱 랩은 복잡성을 추상화하여 초보자도 MPU-MCU 연동, AI 모델 배포와 같은 고급 기능을 쉽게 사용할 수 있도록 하는 데 초점을 맞추고 있다.5 ’브릭’과 ’브리지’는 이러한 철학의 핵심 요소로, 개발 경험을 단순화하고 프로토타이핑 속도를 극대화한다. 아두이노는 역사적으로 하드웨어만큼이나 소프트웨어의 사용 편의성에 많은 투자를 해왔으며, 앱 랩은 이러한 전통을 계승한다.5 UNO Q가 표준 데비안 리눅스를 채택한 점 또한 특정 OS에 종속되지 않고 폭넓은 리눅스 소프트웨어와의 호환성을 보장하는 장점이다.5
6.3 사용 사례에 따른 선택 가이드
6.3.1 표 2: Arduino UNO Q vs. Raspberry Pi 5 비교
| 항목 | Arduino UNO Q | Raspberry Pi 5 |
|---|---|---|
| 메인 프로세서 (MPU) | Qualcomm QRB2210 (Quad-core Cortex-A53 @ 2.0 GHz) 10 | Broadcom BCM2712 (Quad-core Cortex-A76 @ 2.4 GHz) 5 |
| 실시간 제어부 | STM32U585 MCU (Cortex-M33 @ 160 MHz), Zephyr OS, Arduino Core, 사용자가 직접 프로그래밍 5 | RP1 I/O Controller, 저수준 기능 담당, 일반 사용자 프로그래밍 어려움 5 |
| RAM | 2GB / 4GB LPDDR4 13 | 4GB / 8GB LPDDR4X |
| 운영체제 | 표준 Debian Linux 10 | Raspberry Pi OS (Debian 기반 최적화) 5 |
| 주요 I/O | 1x 다기능 USB-C, UNO 헤더, Qwiic, 하단 고속 커넥터 (허브 필요성 높음) 9 | 2x USB 3.0, 2x USB 2.0, 2x micro-HDMI, Gigabit Ethernet, PCIe 5 |
| 개발 환경 특징 | Arduino App Lab: MPU-MCU 통합 개발, ’브릭’을 통한 기능 추상화, 초보자 친화적 5 | 표준 Linux 환경: 터미널, CLI, 다양한 편집기 사용, 높은 자유도, 숙련자에게 유리 28 |
| 가격 (기본 모델 기준) | $44 (2GB RAM / 16GB eMMC) 4 | ~$60 (4GB RAM, 스토리지 별도 구매) |
Arduino UNO Q 추천 사례:
-
AI 비전 로봇: AI 추론(MPU)과 정밀한 모터 제어(MCU)가 실시간으로 연동되어야 하는 프로젝트.
-
인터랙티브 아트 설치물: 고품질 그래픽/사운드 처리(MPU)와 다수의 센서 및 액추에이터의 동기화된 제어(MCU)가 필요한 경우.
-
기존 아두이노 프로젝트의 확장: 기존 아두이노 쉴드와 코드를 재사용하면서 웹 서버, 데이터 로깅, 무선 통신 등 고성능 기능 추가가 필요한 경우.
Raspberry Pi 5 추천 사례:
-
소형 데스크톱 컴퓨터 또는 홈 서버: 순수 컴퓨팅 성능이 가장 중요하며, 다양한 주변기기를 직접 연결해야 하는 프로젝트.
-
네트워크 장비: NAS(Network Attached Storage), 광고 차단기(Pi-hole), 홈 자동화 허브(Home Assistant) 등 네트워킹 성능이 중요한 경우.
-
미디어 센터: 듀얼 4K 디스플레이 출력을 활용하여 고화질 비디오를 재생하는 프로젝트.
7. 결론: 아두이노 우노 Q의 미래와 전망
7.1 아두이노 생태계의 재정의
아두이노 우노 Q는 단순한 신제품 출시를 넘어, 아두이노 플랫폼의 정체성을 재정의하는 중요한 이정표다. 이 보드는 아두이노를 ’간단한 마이크로컨트롤러 보드’라는 기존의 인식에서 벗어나, 고성능 컴퓨팅과 결정론적 실시간 제어를 완벽하게 통합한 ’임베디드 컴퓨팅 플랫폼’으로 격상시킨다. 이는 전통적인 메이커와 교육 시장을 넘어, 전문적인 산업용 IoT 및 엣지 AI 시스템 개발 시장까지 공략하려는 아두이노의 분명한 의지를 보여준다.
7.2 소프트웨어가 이끄는 하드웨어의 미래
UNO Q의 성공 여부는 퀄컴 MPU의 강력한 하드웨어 성능뿐만 아니라, 아두이노 앱 랩이라는 소프트웨어 생태계가 얼마나 효과적으로 개발의 복잡성을 낮추고 안정적인 경험을 제공하는지에 달려있다. 특히, MPU와 MCU 간의 통신을 추상화하는 ’브리지’와 AI 모델 및 웹 서비스 통합을 단순화하는 ‘브릭’ 생태계의 지속적인 확장과 성숙이 관건이 될 것이다. 소프트웨어가 하드웨어의 잠재력을 이끌어내는 이 모델은 향후 임베디드 플랫폼 발전의 중요한 방향이 될 것이다.
7.3 새로운 가능성의 시작: “Blink“에서 “Think“으로
결론적으로, 아두이노 우노 Q는 “LED를 깜빡이는(Blink)” 수준의 간단한 입문 프로젝트부터, 스스로 “생각하고(Think)” 환경에 반응하는 지능형 AI 프로젝트까지, 단 하나의 보드로 폭넓은 스펙트럼을 포괄할 수 있는 전례 없는 잠재력을 지니고 있다.29 이는 차세대 개발자, 교육자, 그리고 엔지니어들에게 이전에는 상상하기 어려웠던 방식으로 아이디어를 현실로 만들 수 있는 강력하면서도 접근성 높은 도구를 제공한다. 아두이노 우노 Q는 아두이노가 열었던 ’만드는 즐거움’의 시대를 넘어, ’지능적으로 만드는 즐거움’의 새로운 장을 열 준비를 마쳤다.
8. 참고 자료
- Arduino Uno - Wikipedia, https://en.wikipedia.org/wiki/Arduino_Uno
- Arduino Uno R3 Microcontroller Board - Elektor, https://www.elektor.com/products/arduino-uno-rev3
- Arduino Uno Rev3 - The Pi Hut, https://thepihut.com/products/arduino-uno-rev-3
- Qualcomm Introduces The Arduino Uno Q Linux-Capable SBC - Hackaday, https://hackaday.com/2025/10/07/qualcomm-introduces-the-arduino-uno-q-linux-capable-sbc/
- Arduino UNO Q Takes On Raspberry Pi - I Programmer, https://www.i-programmer.info/news/91-hardware/18372-arduino-uno-q-takes-on-raspberry-pi.html
- Arduino - 나무위키:대문, https://namu.wiki/w/Arduino
- Arduino has just been acquired by Qualcomm, and they’re already launching a new product that runs Linux - XDA Developers, https://www.xda-developers.com/arduino-acquired-qualcomm-uno-q-launched/
- Arduino Official Store | Boards Shields Kits Accessories — Arduino Online Shop, https://store-usa.arduino.cc/
- Arduino UNO Q, https://store-usa.arduino.cc/products/uno-q
- UNO Q | Arduino Documentation, https://docs.arduino.cc/hardware/uno-q
- Introducing Arduino UNO Q - YouTube, https://www.youtube.com/watch?v=QxPBCBX8ac8
- UNO Q Microcontroller Board - Arduino - DigiKey, https://www.digikey.com/en/product-highlight/a/arduino/uno-q-microcontroller-board
- Arduino/하드웨어 - 나무위키, https://namu.wiki/w/Arduino/%ED%95%98%EB%93%9C%EC%9B%A8%EC%96%B4
- Arduino Products Category on Adafruit Industries, https://www.adafruit.com/category/17
- Arduino® UNO Q, https://docs.arduino.cc/resources/datasheets/ABX00162-datasheet.pdf
- UNO Q User Manual | Arduino Documentation, https://docs.arduino.cc/tutorials/uno-q/user-manual
- Welcome to Arduino UNO Q!, https://www.arduino.cc/en/uno-q/
- Getting Started with Arduino App Lab, https://docs.arduino.cc/software/app-lab/tutorials/getting-started
- Understanding Bricks: Building Blocks in the Arduino App Lab, https://docs.arduino.cc/software/app-lab/tutorials/bricks
- Arduino Uno Example Sketch: Blink - DigiKey TechForum, https://forum.digikey.com/t/arduino-uno-example-sketch-blink/2995
- Arduino Project Hub, https://projecthub.arduino.cc/
- Arduino Uno Q Arcade Cabinet Machine, https://projecthub.arduino.cc/jcarolinares/arduino-uno-q-arcade-cabinet-machine-39dd38
- Arduino Maker, https://www.arduino.cc/maker
- Top 30 Arduino Projects with Code and Circuit - Electronics For You, https://www.electronicsforu.com/arduino-projects-ideas
- 300+ Best Arduino Projects List Topics & DIY Arduino Ideas - Nevonprojects, https://nevonprojects.com/arduino-projects/
- Arduino Projects - Instructables, https://www.instructables.com/circuits/arduino/projects/
- Difference between Arduino and Raspberry Pi - GeeksforGeeks, https://www.geeksforgeeks.org/electronics-engineering/difference-between-arduino-and-raspberry-pi/
- Arduino vs Raspberry Pi: Key Features and Differences - Newhaven Display, https://newhavendisplay.com/blog/arduino-vs-raspberry-pi-key-features-and-differences/
- Arduino - Home, https://www.arduino.cc/