AEGLOSLAB Arduino UNO Q 완전 가이드

제2부 하드웨어 심층

2.2 핀아웃과 GPIO·PWM·아날로그

UNO Q는 클래식 Arduino UNO와 같은 헤더 배치(폼팩터)를 유지한다 — 하지만 그 핀들을 실제로 구동하는 것은 STM32U585 MCU이고, 신호 전압은 3.3V다(2.1.4에서 다룬 전압 도메인 참고). 이번 장은 Arduino 공식 UNO Q User Manual(SKU ABX00162-ABX00173, 2026-08-17 갱신본)과 공식 Full Pinout 문서(2026-02-17 갱신본)를 1차 자료로 삼아, 실제 핀 번호·대체 기능·전압 한계를 표로 정리한다. 두 문서는 같은 넷 이름을 쓰므로 상호 검증했다.

2.2.1 헤더 개관

UNO Q의 커넥터는 이름과 위치가 정해져 있다.

커넥터위치핀 수전압 도메인기능
JDIGITAL1상단(A2)18핀3.3V디지털 I/O, SPI/I2C/UART/PWM/CAN
JANALOG1하단(A3)14핀3.3V(+전원 핀)아날로그 입력, 전원 입력/출력
JSPI1상단(A5)6핀3.3V+5V전원ICSP 상당(전용 SPI)
QWIIC1상단(A4)4핀3.3VI2C(Qwiic 생태계)
JCTL1상단(A1)10핀1.8V디버그·복구(MPU 도메인)
JMISC1하단(B1)60핀혼합(1.8V/3.3V)MCU 확장 + MPU GPIO/오디오
JMEDIA1하단(B2)60핀1.8VMIPI CSI/DSI

이 중 JDIGITAL1·JANALOG1·JSPI1·QWIIC1·JCTL1은 이 장에서 다루고, JMISC1·JMEDIA1(카메라/디스플레이 고속 인터페이스)는 2.3에서 깊이 다룬다.

2.2.2 디지털 I/O — JDIGITAL1

클래식 UNO와 동일하게 D0~D13이 기본이고, UNO Q는 여기에 D20·D21(I2C 전용 확장 핀, UNO R4 계열과 유사한 패턴)을 더한다. 총 16개의 범용 디지털 핀 + GND + AREF(기준전압 핀, GPIO 아님)로 18핀을 구성한다.

핀MCU 핀기본 대체 기능PWM비고
D0PB7USART1_RX, TIM4_CH2시리얼 RX (클래식 UNO와 동일 배치)
D1PB6USART1_TX, TIM4_CH1시리얼 TX
D2PB3TIM2_CH2
~D3PB0OPAMP2_OUTPUT, TIM3_CH3✅TT-type I/O, 3.6V까지만 허용 — 5V 절대 금지(모든 모드에서)
D4PA12FDCAN1_TX, TIM1_ETRCAN 버스 TX
~D5PA11FDCAN1_RX, TIM1_CH4✅CAN 버스 RX
~D6PB1TIM3_CH4✅
D7PB2TIM8_CH4N
D8PB4TIM3_CH1
~D9PB8TIM4_CH3✅
~D10PB9SPI2_SS(칩 셀렉트), TIM4_CH4✅
~D11PB15SPI2_MOSI(CIPO/COPI 표기 이전 명칭 MISO/MOSI), TIM1_CH3N✅
D12PB14SPI2_MISO, TIM1_CH2N
D13PB13SPI2_SCK, TIM1_CH1N
GND——
AREF—아날로그 기준전압 입력GPIO 아님
D20PB11I2C2_SDA, TIM2_CH4UNO R4 계열과 유사한 확장 핀
D21PB10I2C2_SCL, TIM2_CH3

PWM 핀은 D3, D5, D6, D9, D10, D11 — 총 6개로, 클래식 UNO의 PWM 핀 번호(3, 5, 6, 9, 10, 11)와 정확히 같다. 스케치에서 analogWrite()를 쓰는 관행은 그대로 이어진다.

⚠️ 엣지케이스: 대부분의 JDIGITAL1 핀은 FT-type I/O 구조라 입력으로 쓸 때 5V 톨러런트지만, ~D3(PB0)만 예외다. PB0은 TT-type 구조로 절대 최대 정격이 약 3.6V(VDD+0.3V)다. 클래식 UNO 시절 D3에 5V 로직 소스를 무심코 연결하던 관행이 있다면 UNO Q에서는 이 핀에서 문제가 생길 수 있다.

2.2.3 아날로그 입력 — JANALOG1

아날로그 6채널(A0~A5)은 디지털 핀 번호로는 D14~D19를 겸한다(클래식 UNO와 동일한 관례).

핀MCU 핀대체 기능비고
A0 / D14PA4ADC 입력, DAC0, TIM2_CH1직결 ADC, 5V 비허용
A1 / D15PA5ADC 입력, DAC1, TIM3_CH1직결 ADC, 5V 비허용
A2 / D16PA6ADC 입력, OPAMP2_INPUT+, TIM3_CH2
A3 / D17PA7ADC 입력, OPAMP2_INPUT−
A4 / D18PC1ADC 입력, I2C3_SDA, LPTIM1_CH1I2C로 쓸 때 3.3V 전용 풀업 필요
A5 / D19PC0ADC 입력, I2C3_SCL, LPTIM1_IN1I2C로 쓸 때 3.3V 전용 풀업 필요
  • 아날로그 유효 입력 범위는 0 ~ VREF+ (≈3.3V). 절대 최대 정격은 VDD+0.3V(약 3.6V) — 이를 넘으면 MCU 내부 보호 다이오드가 도통을 시작한다.
  • A0(PA4)·A1(PA5)은 STM32U585의 직결(direct) ADC 입력이라 5V 톨러런트가 아니다. 5V 센서를 그대로 연결하면 안 되고, 전압 분배기나 레벨시프터로 3.3V 이하로 낮춰야 한다.
  • A4/A5를 I2C3로 쓸 경우 풀업 저항은 반드시 3.3V 레일에 연결한다(5V 풀업 금지).

JANALOG1은 아날로그 신호 외에 부트/리셋/전원 핀도 함께 묶여 있다:

핀이름기능
1BOOTMCU 부트스트랩(MCU_BOOT0)
2IOREF3.3V 레일을 그대로 미러링 — 출력 전용, 여기로 전압을 역으로 먹이면 안 됨
3RESETMCU 리셋(MCU_NRST)
4+3V33.3V 출력
5+5V USB VBUS5V 출력(USB 버스와 동일 net) — 전원 전용, 신호선 아님
6, 7GND그라운드
8VIN7~24V DC 입력(전원 전용) — 자세한 내용은 2.4

2.2.4 JSPI1 — ICSP에 해당하는 전용 SPI 헤더

클래식 UNO의 6핀 ICSP 헤더가 하던 역할을 UNO Q에서는 JSPI1이 맡는다(공식 명칭은 ICSP가 아니라 JSPI1다).

핀이름MCU 핀
1MISOPC2 (SPI2_MISO)
2+5V5V_USB_VBUS(전원 전용)
3SCKPD1 (SPI2_SCK)
4MOSIPC3 (SPI2_MOSI)
5RESETMCU_NRST
6GND—

FT-type 구조라 입력으로는 5V 톨러런트지만 출력은 3.3V로 구동한다 — 5V 입력 임계값이나 5V 양방향 신호가 필요하면 레벨시프터를 추가해야 한다는 것이 공식 문서의 권고다.

2.2.5 Qwiic 커넥터(QWIIC1)

JST-SH 4핀, 1.0mm 피치, 3.3V 전용 I2C 커넥터다. STM32U585의 I2C4 버스를 사용한다.

핀기능MCU 핀
1GND—
2+3V3 (전원 출력)—
3SDAPD13 (I2C4_SDA)
4SCLPD12 (I2C4_SCL)

배선 순서(GND→3V3→SDA→SCL)는 SparkFun Qwiic 표준과 동일해 커넥터를 역방향으로 연결할 수 없는 극성 보호 구조다. Modulino 노드나 서드파티 Qwiic 센서를 납땜 없이 바로 연결할 수 있다. Qwiic 생태계 활용은 2.3.5, 서드파티 확장보드는 10.3에서 더 다룬다.

⚠️ 확인 필요: JMISC1 커넥터에도 MCU_I2C4_SCL(PF14)·MCU_I2C4_SDA(PF15)라는 이름의 핀이 별도로 존재한다. Qwiic의 I2C4(PD12/PD13)와 물리적으로 다른 MCU 핀이다 — STM32U585의 I2C4 페리페럴이 두 개의 대체 핀 매핑(AF) 중 하나로 라우팅될 수 있는 구조로 보이나, 두 커넥터가 논리적으로 같은 버스를 공유하는지 별개 버스로 취급해야 하는지는 공식 문서에 명시되어 있지 않다. 두 커넥터를 동시에 I2C 목적으로 쓸 계획이라면 실기로 확인할 것을 권한다.

2.2.6 JCTL1 — 디버그·복구 헤더 (1.8V, MPU 도메인)

JCTL1은 지금까지 다룬 다른 헤더들과 달리 MPU(1.8V) 도메인이다. 볼륨 업/다운 버튼, 강제 USB 부트, PMIC 리셋, 기본 디버깅 셸 시리얼(SE4 UART)이 여기 모여 있다.

핀이름기능
1GND
2USB_BOOT강제 USB 부트 스트랩
3VOL_DOWNGPIO_36
4SOC_SE4_TX콘솔 UART TX(기본 디버깅 셸)
5VOL_UPGPIO_96
6SOC_SE4_RX콘솔 UART RX
7GND
8PMIC_RESETPM4125 리셋
9+1V81.8V 기준 출력
10VBUS_DISABLEUSB VBUS 경로 차단 제어

SE4 UART는 애플리케이션용 UART와 분리된 시스템 콘솔 전용이라 일반 I/O로 재활용하면 안 된다고 공식 문서가 명시한다. 공식 액세서리 "Arduino Bug Hopper"(USB-UART 브리지)가 바로 이 JCTL1 커넥터에 연결되어 시리얼 콘솔에 접근하는 용도로 나왔다. SSH가 아닌 시리얼 콘솔 복구는 5.2에서 다룬다.

2.2.7 추가 항목 — 온보드 LED 매트릭스와 RGB LED

핀맵 문서에 함께 표기되어 있어 밝혀 둔다. 별도 배선 없이 소프트웨어만으로 다룰 수 있는 온보드 디스플레이/인디케이터다.

  • 8×13 모노크롬 청색 LED 매트릭스(104픽셀, MCU가 구동): 8단계 그레이스케일 지원. 부팅 시 약 20~30초간 부트 로고를 표시한다. ⚠️ MCU 초기화가 끝나기 전에 매트릭스에 접근하면 MCU 동작을 방해할 수 있다고 공식 문서가 경고한다.
  • RGB LED 4개(모두 액티브-로우, 즉 논리 0에서 켜짐):
    • LED1(MPU 제어, /sys/class/leds/로 노출): red:user→GPIO_41, green:user→GPIO_42, blue:user→GPIO_60
    • LED2(MPU 제어, 기본값은 시스템 상태 표시): red:panic→GPIO_39, green:wlan→GPIO_40, blue:bt→GPIO_47
    • LED3(MCU 제어): R→PH10, G→PH11, B→PH12
    • LED4(MCU 제어): R→PH13, G→PH14, B→PH15
  • 전원 LED: 3.3V 레일에 직결된 녹색 인디케이터로, 보드 전원이 들어오면 항상 켜진다(소프트웨어 제어 불가).
  • 전원 버튼(JBTN1): 5초 이상 길게 누르면 리눅스(MPU)만 재부팅한다 — 보드 전원 자체는 끊기지 않는다. 정상 부팅에는 버튼을 누를 필요가 없다(전원 인가 시 자동 부팅).

2.2.8 엣지케이스 요약

  • 5V 톨러런스는 핀마다 다르다. 대부분의 JDIGITAL1 핀은 5V 입력을 허용하지만, ~D3(PB0)와 A0/A1(PA4/PA5)은 예외다. "클래식 UNO는 다 5V였으니 UNO Q도 그렇겠지"라는 가정이 가장 흔한 실수다.
  • IOREF은 출력 전용이다. 여기로 외부 전압을 역으로 흘려보내지 말 것.
  • *JMISC1의 SoC_GPIO_ 라인은 범용 GPIO가 아니다.** 리눅스 디바이스 트리에 특정 인터페이스(카메라 제어 I2C, I2S 오디오 등)용으로 예약되어 있어, 헤더에는 노출되어 있어도 임의 용도로 재핀맵할 수 없다.
  • 클래식 UNO 실드와 폼팩터는 맞지만 전압은 다르다. 5V 전용 실드를 그대로 장착하면 STM32U585 핀이 절대 정격을 넘을 수 있다 — 자세한 대응은 10.2.

교차참조: 전압 도메인 전체 그림은 2.1.4, 고속 인터페이스(JMEDIA1·JMISC1의 카메라/디스플레이 신호, "40핀 헤더" 관련 정정)는 2.3, 전원 설계(VIN, 5V_SYS)는 2.4, 시리얼 콘솔·SSH 복구는 5.2, Qwiic·서드파티 확장보드는 10.3, UNO 실드 3.3V 호환성은 10.2, GPIO·센서 실전 예제는 4.3.