6장 Arduino UNO Q를 ADB로 연결하는 방법 완벽 가이드
다시 보는 Arduino Uno Q개요
Arduino UNO Q 보드에는 리눅스 기반 운영체제가 포함되어 있으며, 이를 통해 보드를 일종의 소형 리눅스 컴퓨터처럼 사용할 수 있습니다. 이 리눅스 쉘에는 네트워크(SSH)뿐 아니라 USB 케이블과 ADB(Android Debug Bridge)를 이용해 직접 접속할 수도 있습니다.

ADB는 원래 안드로이드 기기 디버깅용 도구이지만, USB를 통해 외부 장치의 쉘에 접속하고 명령을 실행할 수 있다는 점에서 UNO Q에도 매우 유용하게 사용할 수 있습니다. 이 노트에서는 ADB 설치부터 UNO Q에 접속하는 방법, 접속 후에 할 수 있는 작업, 접속 종료까지 전체 흐름을 단계별로 정리합니다.
강사과정 모집 -> 아두이노 강의 | Arduino Uno로 배우는 임베디드 개발 | Arduino Uno Club
UNO Q와 ADB 연결 개념 이해
Arduino UNO Q는 리눅스 OS를 탑재한 보드로, 사용자는 이 리눅스에 직접 접속해 패키지를 설치하거나, 파일을 수정하고, 스크립트를 실행하는 등 일반적인 리눅스 운영 작업을 수행할 수 있습니다. 이때 ADB를 사용하면 별도의 네트워크 설정 없이 USB 케이블만으로 보드의 쉘에 들어갈 수 있습니다.
ADB는 "Android Debug Bridge"라는 이름 그대로, PC와 외부 장치 사이를 연결해 주는 브리지 역할을 합니다. 호스트 컴퓨터(여러분의 PC)에 ADB를 설치해 두면, adb shell 명령을 통해 UNO Q의 리눅스 쉘을 바로 열 수 있고, 마치 보드에 직접 키보드를 연결한 것처럼 명령을 실행할 수 있습니다.
준비물: 하드웨어와 소프트웨어
UNO Q에 ADB로 접속하기 위해 필요한 하드웨어 준비물은 다음과 같습니다.
Arduino UNO Q 보드
데이터 전송이 가능한 USB-C 케이블 (단순 충전 전용 케이블이 아니라 데이터 전송 지원 케이블)
소프트웨어 측면에서는 다음이 필요합니다.
호스트 컴퓨터용 ADB(Android Debug Bridge)
지원 운영체제: MacOS, Windows, Linux
보통 "Android SDK Platform Tools"에 포함되어 있으며, 각 운영체제의 패키지 관리 도구(homebrew, winget, apt-get 등)로 설치할 수 있습니다.
터미널(명령줄) 프로그램
MacOS: 기본 Terminal 또는 iTerm 등
Windows: PowerShell, 명령 프롬프트(cmd), Windows Terminal 등
Linux: 기본 터미널
이 준비물만 갖추면, 네트워크 설정 없이 USB만으로 UNO Q의 리눅스 쉘에 접속할 수 있습니다.
운영체제별 ADB 설치 방법
공통: 설치 여부 확인
먼저 ADB가 이미 설치되어 있는지 확인하는 것이 좋습니다. 터미널(또는 PowerShell, cmd)을 열고 다음 명령을 실행합니다.
adb versionADB 버전 정보가 출력되면 이미 설치된 것입니다.
"command not found" 또는 "adb is not recognized..."와 같은 오류가 나오면 아직 설치되지 않은 상태입니다.
이제 운영체제별 설치 방법을 살펴보겠습니다.
MacOS에서 ADB 설치 (Homebrew 사용)
MacOS에서는 Homebrew를 이용해 ADB를 간편하게 설치할 수 있습니다. Homebrew가 설치되어 있다는 전제하에 다음 명령을 실행합니다.
brew install android-platform-tools설치가 끝난 뒤, 제대로 설치되었는지 확인합니다.
adb version버전 정보가 나오면 준비 완료입니다. android-platform-tools 패키지 안에 adb 명령이 포함되어 있습니다.
Windows에서 ADB 설치 (winget 사용)
Windows 11 및 일부 Windows 10에서는 winget 패키지 관리자를 사용할 수 있습니다. PowerShell 또는 명령 프롬프트를 열고 다음 명령을 실행합니다.
winget install --id Google.AndroidSDK.PlatformTools -e설치가 완료되면, 새 터미널을 열어 다음을 입력하여 설치 상태를 확인합니다.
adb versionADB 버전이 보이면 정상적으로 설치된 것입니다. 만약 winget 자체가 인식되지 않는다면, Windows 버전이 오래되었거나 App Installer가 설치되지 않은 상황일 수 있으므로, Microsoft Store에서 App Installer를 설치하거나 다른 방식으로 ADB를 설치해야 합니다.
Debian / Ubuntu Linux에서 ADB 설치 (apt-get 사용)
Debian/Ubuntu 계열 리눅스에서는 apt-get으로 ADB를 설치할 수 있습니다. 터미널을 열고 다음 명령을 실행합니다.
sudo apt-get update
sudo apt-get install adb설치가 완료되면 다음으로 버전을 확인합니다.
adb version버전 정보가 출력되면 설치가 성공한 것입니다. 다른 리눅스 배포판(Fedora, Arch 등)을 사용 중이라면 그 배포판의 패키지 관리자를 이용해 adb 패키지를 설치하면 됩니다.
ADB로 UNO Q에 접속하는 절차
ADB 설치가 끝났다면 이제 실제로 UNO Q에 접속해 보겠습니다.
1. UNO Q를 USB로 연결
먼저 UNO Q 보드를 USB-C 케이블로 PC에 연결합니다. 보드의 전원 LED가 켜져 있는지 확인해 보드가 정상적으로 전원이 공급되고 있는지 확인합니다.
운영체제에 따라 새 USB 장치가 인식되는 데 몇 초에서 최대 1분 정도 걸릴 수 있습니다. 연결 직후에는 잠시 기다렸다가 다음 단계를 진행합니다.
2. adb devices로 장치 인식 확인
터미널(또는 PowerShell)을 열고 다음 명령을 실행합니다.
adb devices처음 실행하면 ADB 서버를 시작한다는 메시지가 잠시 나타날 수 있습니다. 이후 다음과 유사한 출력이 보입니다.
List of devices attached
XXXXXXXXXXXX deviceXXXXXXXXXXXX부분은 UNO Q 보드의 식별자(시리얼처럼 보이는 문자열)입니다.목록에 아무 장치도 보이지 않으면:
USB 케이블이 제대로 연결됐는지,
다른 포트로 바꿔보거나,
장치 인식까지 시간이 조금 더 필요한지 등을 확인한 뒤
adb devices를 다시 실행해 봅니다.
UNO Q가 제대로 연결되어 있다면 결국 한 줄 이상이 출력되면서 device 상태로 표시됩니다.
3. adb shell로 UNO Q 리눅스 쉘 접속
장치가 인식되었다면 이제 보드의 리눅스 쉘에 접속할 수 있습니다. 다음 명령을 실행합니다.
adb shell정상적으로 접속되면 프롬프트가 바뀌면서, 이제부터 입력하는 명령이 PC가 아니라 UNO Q 보드에서 실행됩니다. 마치 보드에 직접 터미널을 띄운 것과 같은 상태입니다.
4. 초기 비밀번호(arduino) 입력 가능성
보드를 처음 사용하는 경우, 또는 Arduino App Lab 등을 통해 사전 설정을 하지 않은 상태라면 adb shell 접속 시 비밀번호를 요구할 수 있습니다. 이때 기본 비밀번호가 arduino인 경우가 있습니다.
비밀번호 프롬프트가 보이면
arduino를 입력한 뒤 Enter를 누릅니다.보안상 실제로 사용할 때에는 가능하면 초기 비밀번호를 변경해 두는 것이 좋습니다.
로그인이 성공하면 일반적인 리눅스 쉘 프롬프트 형태(예: arduino@uno-q:~$와 유사한 형태)가 나타납니다.
ADB 쉘에서 할 수 있는 작업
ADB 쉘에 접속한 이후에는 UNO Q를 하나의 리눅스 시스템처럼 다룰 수 있습니다. 대표적으로 다음과 같은 작업이 가능합니다.
패키지 설치 및 시스템 관리
UNO Q가 사용하는 리눅스 배포판에서 제공하는 패키지 관리 도구(예: apt-get)를 이용해 필요한 패키지를 설치할 수 있습니다.
sudo apt-get update
sudo apt-get install nano python3이런 방식으로 편집기, 개발 도구, 런타임 환경 등을 추가해 보드를 자신에게 맞게 꾸밀 수 있습니다.
또한, 일반적인 리눅스 명령을 이용해 시스템 상태를 확인할 수 있습니다.
df -h # 디스크 사용량 확인
top # 프로세스/CPU 사용량 확인
journalctl -xe # 시스템 로그 확인파일 편집과 스크립트 실행
리눅스에서 하듯이 파일을 생성·편집하고, 스크립트를 실행할 수 있습니다.
nano test.sh
chmod +x test.sh
./test.sh또는 Python, Shell, 기타 스크립트 언어를 이용해 자동화 작업을 구현하는 것도 가능합니다.
arduino-app-cli를 통한 앱 실행
UNO Q에는 arduino-app-cli라는 도구를 통해 보드에 설치된 앱을 명령줄에서 관리하고 실행할 수 있는 기능이 제공됩니다. ADB 쉘 안에서 이 도구를 직접 사용할 수 있습니다.
예를 들어 다음과 같이 도움말을 확인할 수 있습니다.
arduino-app-cli --help이를 바탕으로 앱 목록을 확인하거나, 특정 앱을 실행/중지하는 명령을 사용할 수 있습니다. 이렇게 하면 보드에 설치된 애플리케이션을 GUI 없이도 터미널만으로 제어할 수 있습니다.
접속 종료와 ADB 사용의 장점 정리
ADB 쉘 접속 종료 방법
ADB 쉘에서 빠져나와 다시 호스트 컴퓨터의 터미널로 돌아가려면 다음과 같이 입력하면 됩니다.
exit또는 Ctrl + D를 눌러도 쉘이 종료됩니다. 그러면 다시 PC 쪽 프롬프트로 돌아오고, 더 이상 입력한 명령이 UNO Q에서 실행되지 않습니다.
ADB 서버(adb server) 자체는 백그라운드에서 계속 돌 수 있지만, 특별히 문제가 되지는 않으며 필요하다면 adb kill-server로 종료할 수도 있습니다.
ADB 사용의 요약적 장점
정리하면, ADB를 이용해 UNO Q에 접속하는 것의 장점은 다음과 같습니다.
네트워크 설정 없이 USB만으로 리눅스 쉘 접근 SSH처럼 IP 설정, 포트 개방, Wi-Fi 연결 등을 미리 준비하지 않아도 됩니다.
설치와 사용이 비교적 간단 각 운영체제의 패키지 관리 도구(homebrew, winget, apt-get 등)로 쉽게 설치할 수 있으며, 핵심 명령은
adb devices,adb shell,exit정도로 단순합니다.보드 제어와 디버깅에 유리 패키지 설치, 파일 편집, 로그 확인, 스크립트 실행,
arduino-app-cli사용 등 대부분의 작업을 터미널에서 바로 수행할 수 있어 개발·디버깅 효율이 높습니다.
마지막으로, UNO Q를 자주 사용하는 개발 환경이라면 ADB를 기본 도구로 설치해 두고, 필요할 때마다 adb shell로 들어가 작업하는 습관을 들이면 보드를 훨씬 능숙하게 다룰 수 있습니다.

