아두이노 우노 Q 시작하기
Arduino UNO Q를 처음 사용하세요? 이 단계별 가이드는 개봉부터 첫 프로그램 업로드까지 Arduino UNO Q를 시작하고 실행하는 데 필요한 모든 것을 안내합니다.
이 튜토리얼에서 배우게 될 내용:
- Arduino UNO Q가 무엇이고 어떤 특징이 있는지
- 시작하는 데 필요한 하드웨어
- Arduino App Lab을 설치하고 설정하는 방법
- 첫 MCU 스케치 업로드 (내장 LED 깜박이기)
- Linux 측에서 첫 Python 프로그램을 실행하는 방법

필요한 하드웨어
| 1 | × | Arduino UNO Q | 아마존 | |
| 1 | × | USB Cable for Arduino Uno Q | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 스크루 터미널 블록 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) Sensors/Servo Expansion Shield for Arduino Uno | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 브레드보드 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 케이스 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 프로토타이핑 베이스 플레이트 & 브레드보드 키트 | 아마존 |
Arduino UNO Q 정보
Arduino UNO Q는 단일 보드에 두 개의 강력한 프로세서를 결합한 차세대 Arduino 보드입니다:
- STM32U585 MCU — Zephyr OS에서 실행되는 Arduino 스케치(C/C++)를 실행하고 디지털 I/O, PWM, SPI, I2C, UART 등 실시간 하드웨어 제어를 담당하는 160MHz까지 실행되는 ARM Cortex-M33 마이크로컨트롤러입니다. 표준 Arduino UNO 핀 레이아웃과 호환됩니다.
- Qualcomm QRB2210 MPU — 2.0GHz에서 실행되는 쿼드코어 ARM Cortex-A53 프로세서로 완전한 Debian Linux를 실행합니다. Wi-Fi, Python, Telegram, REST API 및 클라우드 연결을 지원합니다. 내부 Bridge를 통해 MCU와 통신합니다.
이러한 듀얼 프로세서 설계를 통해 Arduino UNO Q는 하드웨어 제어와 인터넷 연결을 모두 처리할 수 있습니다. 이는 IoT 프로젝트, 원격 제어 및 Linux 기반 자동화에 이상적입니다.
주요 특징:
- Arduino UNO 호환 핀 레이아웃 (디지털, 아날로그, PWM, SPI, I2C, UART)
- 내장 Wi-Fi
- MPU 측에서 Debian Linux 실행
- Arduino App Lab (데스크톱 IDE - USB 또는 Wi-Fi를 통해 연결)을 사용한 프로그래밍 가능
- Arduino_RouterBridge를 통한 MCU와 MPU 간의 Bridge 통신
- USB-C 커넥터

개발 환경
Arduino UNO Q를 프로그래밍하는 방법은 세 가지가 있습니다:
- Arduino IDE를 사용하여 PC에서: 컴퓨터에 Arduino IDE를 설치하고 USB를 통해 STM32 MCU에 스케치를 업로드할 수 있습니다. 그러나 이 방법은 MCU 측만 프로그래밍합니다. 이 방법으로는 Linux 측을 프로그래밍하거나 상호작용할 수 없습니다. Arduino UNO Q 프로젝트에는 이 접근 방식이 권장되지 않습니다.
- Arduino App Lab을 사용하여 PC에서 (권장): Arduino App Lab은 PC에 설치하는 데스크톱 애플리케이션입니다. USB 또는 Wi-Fi를 통해 보드의 Linux 측에 연결하고 STM32 MCU에 Arduino 스케치(C/C++)를 작성하고 업로드하며, Linux 측에서 Python 스크립트를 작성하고 실행하고, 라이브러리를 관리하고, 양쪽 프로세서의 출력을 모니터링할 수 있습니다. 이것이 권장되는 접근 방식입니다.
- PC 없이 Arduino UNO Q에서 직접: Arduino UNO Q는 Debian Linux를 실행하므로 독립형 컴퓨터로 취급할 수 있습니다. 보드에 USB 허브를 연결하고 키보드, 마우스 및 모니터를 연결합니다. 그러면 별도의 PC 없이 보드에서 직접 프로그램을 개발하고 실행할 수 있습니다.
이 튜토리얼에서는 두 번째 접근 방식을 사용합니다. PC의 Arduino App Lab입니다.
Arduino App Lab 설정
다음 단계에 따라 Arduino App Lab을 설치하고 Arduino UNO Q에 처음 연결합니다.
※ 주의:
Arduino App Lab의 다양한 버전은 UI나 단계 순서가 약간 다를 수 있지만 주요 설정 프로세스는 동일합니다.
단계 1: Arduino App Lab 다운로드 및 설치
- 운영 체제(Windows, macOS 또는 Linux)에 맞는 Arduino App Lab 설치 프로그램을 다운로드합니다.
- 설치 프로그램을 실행하고 화면의 지시를 따라 설치를 완료합니다.
- 설치 후 Arduino App Lab을 엽니다. 연결된 보드가 없음을 알 수 있습니다:

단계 2: 보드에 전원 공급
- USB-C 케이블을 사용하여 Arduino UNO Q를 컴퓨터에 연결합니다.
- 보드는 MPU 측에서 Debian Linux를 부팅합니다. 첫 부팅 시 약 1~2분 소요됩니다 (때로는 10분까지 소요될 수 있습니다).
- 부팅 후 Arduino App Lab은 자동으로 보드를 감지하고 연결됨으로 표시합니다:

- 보드를 클릭하여 연결합니다.

단계 3: 보드 설정
- 설정 마법사가 열립니다. 보드의 이름을 입력합니다 (예: Newbiely), 그리고 다음을 클릭합니다.

단계 4: 네트워크 설정
- Arduino App Lab은 사용 가능한 Wi-Fi 네트워크를 스캔합니다. 목록에서 Wi-Fi 네트워크를 선택합니다.

단계 5: Wi-Fi 자격증명 입력
- Wi-Fi 비밀번호를 입력합니다, 그리고 연결 (또는 다음)을 클릭합니다.

단계 6: 펌웨어 업데이트
- 보드는 펌웨어 업데이트를 검색할 수 있습니다.

- 업데이트 설치 버튼을 클릭하고 프로세스가 완료될 때까지 기다립니다.

단계 7: Arduino App Lab 다시 시작
- 업데이트 후 Arduino App Lab 다시 시작 버튼을 클릭합니다.

단계 8: 보드 연결 선택
- 다시 시작한 후 앱은 보드의 사용 가능한 연결 목록 (USB를 통한 하나와 Wi-Fi를 통한 하나)을 표시합니다. 하나를 선택하여 연결합니다.

단계 9: 두 번째 업데이트 확인
- 앱은 다른 업데이트를 확인할 수 있습니다. 메시지가 표시되면 완료될 때까지 기다립니다.

단계 10: Linux 자격증명 설정
- 앱에서 Linux 측의 비밀번호를 설정하도록 요청합니다. 원하는 비밀번호를 입력하고 확인을 클릭합니다.

단계 11: 환영 화면
- 설정이 완료됩니다. 앱은 환영 메시지를 표시합니다. 확인했습니다를 클릭하여 완료합니다.

이제 Arduino UNO Q가 연결되고 프로그래밍할 준비가 되었습니다.
첫 프로그램: 내장 LED 깜박이기
STM32 MCU에 첫 Arduino 스케치를 업로드해 봅시다. 내장 LED를 켜고 끄는 클래식 blink 프로그램입니다.
Arduino UNO Q에는 MCU로 제어되는 내장 RGB LED가 있습니다. 표준 Arduino UNO와 달리 이 LED는 능동 LOW입니다. 즉, LED를 켜려면 LOW를 작성하고 끄려면 HIGH를 작성합니다.
MCU 코드
아래 스케치는 내장 LED를 500ms마다 켜고 끕니다:
빠른 단계
- 연결: USB-C 케이블로 Arduino UNO Q를 컴퓨터에 연결합니다.
- Arduino App Lab 열기: Arduino App Lab 데스크톱 애플리케이션을 실행하고 보드가 감지될 때까지 기다립니다.
- 새로운 앱 만들기: 새 앱 만들기 버튼을 클릭합니다.

- 앱의 이름을 입력합니다, 예: Newbiely
- 만들기를 클릭하여 확인합니다.
- 새 앱 내에서 폴더 및 파일 세트가 생성된 것을 볼 수 있습니다.

- sketch/sketch.ino 파일을 찾습니다. 여기에 MCU 스케치를 붙여넣습니다.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for Arduino_RouterBridge created by Arduino and click the Install button.
- 업로드: Arduino App Lab에서 Run 버튼을 클릭하여 컴파일하고 STM32에 업로드합니다.

- 결과 확인: 내장 RGB LED는 500ms마다 켜고 꼽니다 (빨간색으로 켜집니다).
축하합니다. Arduino UNO Q에 첫 프로그램을 성공적으로 업로드했습니다!
듀얼 프로세서 아키텍처 이해
Arduino UNO Q에는 Bridge를 통해 함께 작동할 수 있는 두 개의 프로세서가 있습니다:
| 기능 | STM32 MCU | Qualcomm MPU (Linux) |
|---|---|---|
| 언어 | C/C++ (Arduino sketch) | Python |
| 역할 | 실시간 하드웨어 제어 | 인터넷, 클라우드, Wi-Fi |
| 제어 대상 | 디지털 핀, 센서, 액추에이터 | REST API, Telegram, MQTT |
| 통신 방식 | Bridge.provide_safe() | Bridge.call() |
- ⚠️ 예약됨: /dev/ttyHS1 (Linux) 및 Serial1 (MCU)는 Arduino Router에서 내부적으로 사용되므로 코드에서 절대 열지 마십시오.
- 두 프로세서는 Arduino_RouterBridge 라이브러리를 통해 RPC를 사용하여 통신합니다.
첫 Bridge 프로그램: Linux에서 LED 제어
이제 Linux 측(Python)이 Bridge를 통해 MCU 측(STM32)의 LED를 제어하는 프로그램을 작성해 봅시다. 이는 모든 Arduino UNO Q IoT 프로젝트에서 사용되는 핵심 패턴을 보여줍니다.
MCU 코드 (Bridge)
MCU 스케치는 Linux 측의 Bridge 호출을 기다리고 내장 LED를 켜거나 끕니다:
Python 코드 (Bridge)
Python 스크립트는 Linux(MPU) 측에서 실행되고 Bridge 명령을 MCU로 전송합니다:
빠른 단계
- Arduino App Lab 열기: Arduino App Lab 데스크톱 애플리케이션을 실행합니다.
- 새로운 앱 만들기: 새 앱 만들기를 클릭하고, GettingStartedBridge라고 이름을 지정한 다음 만들기를 클릭합니다.
- MCU 스케치 붙여넣기: 위의 MCU Bridge 코드를 복사하고 sketch/sketch.ino에 붙여넣습니다.
- Python 코드 붙여넣기: 위의 Python Bridge 코드를 복사하고 앱의 Python 파일에 붙여넣습니다.
- 업로드: Arduino App Lab에서 Run 버튼을 클릭합니다.

App Lab 콘솔 출력
홈 Wi-Fi에 연결
초기 설정 후 Arduino UNO Q를 가정 또는 사무실 Wi-Fi 네트워크에 연결할 수 있습니다. 설정 마법사 중에 이미 수행했을 수도 있습니다. 그렇지 않은 경우:
- Arduino App Lab을 열고 보드에 연결합니다.
- App Lab 인터페이스의 우측 상단 모서리에 있는 네트워크 아이콘을 클릭합니다.
- 목록에서 Wi-Fi 네트워크를 선택하고 비밀번호를 입력합니다.
- 보드는 네트워크에 연결됩니다.
연결되면 Arduino App Lab은 Wi-Fi(네트워크 모드)를 통해 보드를 감지하고 연결할 수 있습니다. 더 이상 USB 케이블이 필요하지 않습니다.
다음 단계
이제 Arduino UNO Q가 설정되었으므로 다음과 같은 훌륭한 튜토리얼을 탐색해야 합니다:
- 아두이노 우노 Q - LED - 깜박임 — 타이밍을 제어하여 외부 LED 깜박이기
- 아두이노 우노 Q - 버튼 — MCU에서 버튼 입력 읽기
- 아두이노 우노 Q - DHT11 온도 및 습도 센서 — MCU에서 센서 데이터 읽기
- 아두이노 우노 Q - 릴레이 — 높은 전압의 장치를 안전하게 제어
문제 해결
Arduino UNO Q가 Device Manager (Windows)에서 감지되지 않음:
- 3A 이상 규격의 USB 케이블을 사용하고 있는지 확인하세요. 3A 미만의 케이블은 다른 Arduino 보드 (예: UNO R4)에서는 작동할 수 있지만 Arduino UNO Q에 안정적으로 전원을 공급할 수 없습니다.
보드가 Arduino App Lab에서 감지되지 않음:
- 연결한 후 1~2분 기다리세요. Linux를 완전히 부팅해야 시간이 걸립니다.
- USB-C 케이블을 분리했다가 다시 연결하고 감지될 때까지 기다리세요.
- Windows에서 Windows Defender가 mdns-discovery.exe에 대해 묻는 경우 허용을 클릭하세요. 이는 보드를 발견하는 데 필요합니다.
스케치 업로드 실패:
- Arduino_RouterBridge 라이브러리가 Arduino App Lab에 설치되어 있는지 확인하세요.
- 업로드 전에 보드 상태 표시등이 준비됨을 표시하는지 확인하세요.
내장 LED가 업로드 후 깜박이지 않음:
- 스케치를 sketch/sketch.ino에 붙여넣었는지 확인하세요 (다른 파일이 아님).
- Run 버튼을 다시 클릭하여 다시 업로드하세요.