AEGLOSLAB Arduino UNO Q 완전 가이드

제10부 서드파티 생태계

10.2 UNO 실드 호환성과 3.3V 주의점

UNO Q는 클래식 Arduino UNO와 같은 실드 헤더 배치를 계승했다. 그래서 서랍 속에 있던 UNO 실드를 그대로 장착해 보려는 경우가 많다. 물리적 장착은 가능하다. 문제는 "장착된다"와 "안전하게 동작한다"가 별개의 문제라는 점이다. 이 장은 그 차이를 정확히 구분하고, 실드를 손상시키지 않고 확인하는 절차를 단계별로 제시한다.

10.2.1 기계적 호환과 전기적 호환은 별개의 문제다

UNO Q 공식 사용자 매뉴얼은 상단 헤더에 대해 다음과 같이 명시한다.

"The Arduino UNO Q features the classic UNO form factor, ensuring compatibility with the wide range of UNO shields developed by us and the community over time." — UNO Q 공식 사용자 매뉴얼

이것은 기계적·핀 배치 호환성을 말하는 것이지, 전압을 포함한 전기적 호환성을 보장한다는 뜻이 아니다. 같은 매뉴얼이 바로 이어서 경고한다.

"since UNO Q uses 3.3 V logic instead of 5 V, you should double-check voltage compatibility before connecting older shields."

즉 핀 위치는 맞는데 신호 전압이 다를 수 있다. 클래식 UNO(ATmega328P, 5V 로직)용으로 설계된 실드를, 3.3V 로직인 UNO Q에 그대로 장착하면 실드가 UNO Q의 GPIO 핀에 5V를 인가하는 상황이 생길 수 있다 — 이것이 이 장에서 다루는 핵심 위험이다.

10.2.2 UNO Q의 전압 도메인 — 공식 스펙

UNO Q 공식 전원 사양 문서(Power Specification)는 헤더별 전압 도메인을 다음과 같이 표로 정리한다.

신호 뱅크공칭 전압절대 최대 정격
Maker I/O — JDIGITAL1, JANALOG1 (실드가 연결되는 클래식 헤더)3.3 V3.6 V
Processor I/O — JMEDIA1, JMISC1(하단 메자닌), JCTL1(상단 디버그 헤더 — 2.2 참고)1.8 V2.1 V

실드가 연결되는 곳은 Maker I/O다. 공칭 3.3V, 절대 최대 정격 3.6V($V_{DD} + 0.3\text{V}$)를 못박고 있다 — 즉 문서상으로도 "이 이상 넣으면 손상 가능"이라는 하드 리밋이 명시돼 있다.

또한 아날로그 입력(A0/A1, STM32U585 핀 PA4/PA5)에 대해서는 더 엄격하다.

"A0 (PA4) and A1 (PA5) on JANALOG1 are direct STM32U585 ADC inputs referenced to VREF+ on the 3.3 V rail. They are not 5 V tolerant. Valid input range is 0 V to VREF+. Do not exceed VDD + 0.3 V at these pins... Above this level, the on-chip protection network clamps and injection current can flow, which can damage the device or corrupt measurements."

⚠️ 정리하면: 디지털 겸용 핀 중 일부는 디지털 모드에서 5V 허용(tolerant)일 수 있지만, 그 동일한 핀이 아날로그(ADC)나 DAC로 설정되어 있으면 5V를 절대 허용하지 않는다. 공식 문서는 "some STM32U585 pads are 5 V tolerant in digital mode, but when configured for ADC or any analog function... they are not"라고 명시한다. 어떤 핀이 디지털 모드에서 5V-tolerant인지 보드 차원의 핀별 목록이 공개 문서에 정리되어 있지는 않으므로(확인 필요), 다음 원칙으로 접근하는 것이 안전하다.

  • A0–A5(D14–D19 겸용, DAC0/DAC1 포함) 라인은 무조건 3.3V 이내로 취급한다.
  • D0–D13 디지털 전용 라인도 확실하지 않으면 5V로 취급하지 않는다 — "아마 괜찮을 것"이라는 추측으로 연결하지 않는다.

10.2.3 클래식 UNO(5V) vs UNO Q(3.3V) 비교

항목클래식 Arduino UNO (R3)Arduino UNO Q
로직 컨트롤러ATmega328PSTM32U585 (MCU 측, Zephyr 기반)
실드 헤더 로직 전압5 V3.3 V (절대 최대 3.6 V)
아날로그 입력 허용 범위0–5 V0–3.3 V (5V 비허용, 손상 위험)
실드 헤더 물리 배치기준동일(기계적 호환)
5V 실드 직결 시 위험해당 없음핀 손상 가능 — 레벨 시프터 필요

이 표에서 "동일"은 단 한 줄, 물리 배치뿐이다. 나머지는 전부 다르다.

10.2.4 실드 확인 절차 — 데이터시트에서 로직 레벨 읽는 법

실드를 연결하기 전, 다음 순서로 확인한다.

3.3V 또는 3.3~5V 겸용 명시 5V 전용으로 명시 명시 없음 / 데이터시트 없음 새 실드를 UNO Q에 연결하기 전 실드 데이터시트/회로도에 로직 전압이 명시되어 있는가? 직접 연결 가능 (전원 핀 배치만 재확인) 레벨 시프터 필요 10.2.5의 멀티미터 절차로 실드 단독 구동 후 실측
아니오, 또는 판단 불가 예 10.2.5의 멀티미터 절차로 실드 단독 구동 후 실측 로직 출력이 3.6V 이하로 측정되는가? 직접 연결 가능 (전원 핀 배치만 재확인) 레벨 시프터 필요 양방향 레벨 시프터로 3.3V ↔ 5V 변환 후 연결

1단계 — 핵심 IC를 찾는다. 실드에서 신호를 UNO 헤더로 직접 구동하는 IC(레벨 컨버터, 시프트 레지스터, 트랜시버, 센서 자체 등)를 찾는다. 순수 수동소자(저항·LED·버튼)만 있는 프로토타이핑 실드는 대개 문제가 없다.

2단계 — 해당 IC 데이터시트에서 다음 값을 확인한다.

  • $V_{CC}$ (동작 전원 전압) — 5V 고정인가, 3.0–5.5V 같은 범위 지원인가.
  • $V_{OH}$ (출력 HIGH 전압) — 이 값이 실드가 UNO 헤더로 출력하는 실제 전압이다. $V_{CC}$가 5V 고정 IC라면 $V_{OH}$도 5V 근처다.
  • $V_{IH}$/$V_{IL}$ (입력 인식 임계값) — UNO Q가 3.3V를 출력했을 때 실드 쪽 IC가 이를 HIGH로 인식하는지도 함께 확인한다(양방향 신호일 때 중요).

3단계 — 실드가 자체 레귤레이터를 갖는지 확인한다. 최근 실드·모듈은 5V 헤더 전원을 받아 내부에서 3.3V로 낮춰 로직을 구동하는 경우가 많다(특히 무선 모듈, 최신 센서 브레이크아웃). 이런 실드는 로직 신호 자체는 이미 3.3V이므로 UNO Q와 직결해도 대체로 안전하다 — 다만 이는 데이터시트로 확인해야 하는 사항이지 겉모습으로 짐작할 수 없다.

10.2.5 멀티미터로 안전하게 확인하는 절차

데이터시트가 없거나(오래된 실드, 해외 노브랜드 제품 등) 애매하면 실측한다. 중요: UNO Q에 꽂은 채로 실측하지 않는다 — 이미 손상 위험에 노출시키는 셈이다. 실드를 별도 전원으로 단독 구동한 뒤 측정한다.

  1. 실드를 UNO Q에서 분리한 채, 실드의 5V/GND 핀에 별도 5V 전원(다른 UNO 보드, USB 5V 어댑터 등)을 연결해 실드만 단독으로 동작시킨다.
  2. 실드가 UNO 헤더로 내보내는 디지털 출력 핀(예: 센서의 데이터 핀, 인터럽트 핀)에 멀티미터 DC 전압 레인지를 대고, 실드를 정상 동작 상태로 두었을 때의 HIGH 전압을 측정한다.
  3. 측정값이 3.6V를 넘으면 UNO Q Maker I/O의 절대 최대 정격을 넘으므로 레벨 시프터 없이 직결하면 안 된다.
  4. 실드의 로직 전원 핀(보통 VCC 테스트 포인트 또는 IC의 전원 핀) 전압도 함께 측정해, 3.3V 레귤레이터가 내장된 것인지 5V가 그대로 로직에 인가되는 것인지 교차 확인한다.
  5. I2C 라인(SDA/SCL)은 오픈드레인 방식이라 별도 취급이 필요하다 — 10.2.7에서 이어진다.

⚠️ 멀티미터로 "UNO Q에 연결한 채 실드 출력을 활성화해서" 확인하는 방법은 권장하지 않는다. 짧은 순간이라도 3.6V를 넘는 전압이 핀에 인가되면 그 자체로 손상 조건을 만족하기 때문이다. 반드시 분리 상태에서 실드만 먼저 확인한다.

10.2.6 아날로그 신호를 3.3V로 낮추기

기존 5V 시스템에서 쓰던 아날로그 센서(가변저항, 포텐셔미터, 5V 기준 전압분배 센서 등)를 A0–A5에 연결해야 한다면, 저항 분배기로 전압을 낮춘다. UNO Q 공식 문서가 예시로 제시하는 값을 그대로 쓸 수 있다.

$$V_{out} = V_{in} \times \frac{R_2}{R_1 + R_2}$$

5V 신호를 약 3.3V로 낮추려면 $R_1 = 10\text{k}\Omega$(신호선 쪽, 직렬), $R_2 = 20\text{k}\Omega$(GND 쪽)로 구성한다.

$$V_{out} = 5\text{V} \times \frac{20\text{k}\Omega}{10\text{k}\Omega + 20\text{k}\Omega} \approx 3.33\text{V}$$

공식 문서는 여기에 더해 ADC 핀 보호를 위한 추가 소자도 권장한다.

  • ADC 핀 – GND 사이에 100nF 커패시터(안티앨리어싱·노이즈 저감).
  • 분배기와 ADC 핀 사이에 약 $1\text{k}\Omega$ 직렬 저항(과전압 시 유입 전류 제한).
  • 유효 소스 임피던스를 50kΩ 이하로 유지하거나, analogReadResolution()과 함께 ADC 샘플링 시간을 늘려 보정한다.

이 값들은 UNO Q 공식 전원 사양 문서(Power Specification, docs.arduino.cc)에 실린 예시이며, 회로 전체는 공식 회로도(UNO Q schematics, ABX00162)를 참고하면 더 정확하다.

10.2.7 레벨 시프터 사용법

디지털 신호(특히 출력 방향)가 5V로 확인되면 양방향 레벨 시프터를 넣는다.

  • 단방향이 명확한 라인(예: 실드 → UNO Q로만 흐르는 인터럽트 핀): 간단한 저항 분배기 또는 단방향 레벨 시프터로 충분하다.
  • 양방향 라인(I2C의 SDA/SCL, 일부 SPI 겸용 핀): 74LVC245류 트랜시버, TXB0104/TXB0108류 자동 방향 감지 트랜시버, 또는 BSS138 MOSFET 기반 양방향 모듈(SparkFun BOB-12009류)을 쓴다.

배선 원칙은 공통이다.

  • 레벨 시프터의 HV(고전압) 측 전원 핀 → 실드의 5V 핀.
  • 레벨 시프터의 LV(저전압) 측 전원 핀 → UNO Q Maker I/O의 3.3V 핀(5V 핀이 아니다 — UNO Q 헤더의 5V 핀은 USB/DC 입력에서 그대로 통과되는 전원 핀이지 로직 레퍼런스가 아니다).
  • 양쪽 GND는 반드시 공통으로 묶는다.
  • 신호선은 HV 측에 실드, LV 측에 UNO Q 핀을 각각 연결한다.

I2C의 SDA/SCL은 오픈드레인 + 풀업 구조라는 특수성이 있다. 풀업 저항이 3.3V 쪽에 있고 두 장치가 모두 오픈드레인으로 동작한다면 레벨 시프터 없이도 동작하는 경우가 실무에서 종종 보고되지만, 이는 각 장치의 오픈드레인 구현과 임계 전압에 따라 달라지는 사안이라 일반화할 수 없다(확인 필요) — 안전하게는 I2C 전용 양방향 레벨 시프터(예: PCA9306류)를 쓰는 편을 권한다.

10.2.8 알려진 위험 신호 — 흔한 5V-only 부품

다음은 5V 시스템에서 자주 쓰이지만 UNO Q에 직결 시 주의가 필요하다고 널리 알려진 부품·모듈이다(개별 제품 로트마다 설계가 다를 수 있으므로 각 제품은 10.2.4 절차로 개별 확인한다).

부품/모듈흔한 위험 신호비고
HC-SR04 초음파 센서Echo 핀이 5V 로직으로 응답대표적인 5V-only 사례로 널리 알려짐. 저항 분배기 또는 레벨 시프터 필요
WS2812/NeoPixel 5V LED 스트립데이터 입력 임계값이 5V 기준으로 설계된 로트 존재3.3V 데이터로도 동작하는 경우가 보고되나 배선 길이·개체마다 다름(확인 필요) — 안전하게는 레벨 시프터
릴레이 모듈(5V 코일 + 옵토커플러)트리거 입력이 5V 기준으로 설계된 경우옵토커플러 입력측 임계값을 데이터시트로 확인
문자 LCD(HD44780 계열, 1602 등)로직·백라이트가 5V 고정인 모듈 다수3.3V 겸용 모듈도 있으므로 구매 시 확인
MAX232 기반 RS-232 실드IC 자체가 5V 로직 전용최신 3.3V 대응 트랜시버(MAX3232 등)로 교체하지 않는 한 직결 비권장

10.2.9 체크리스트 요약

실드를 UNO Q에 연결하기 전 마지막 확인.

  1. 실드 핵심 IC의 데이터시트에서 $V_{CC}$·$V_{OH}$ 확인했는가(10.2.4).
  2. 데이터시트가 없으면 실드를 단독 구동해 멀티미터로 실측했는가(10.2.5) — UNO Q에 꽂은 채로 실측하지 않았는가.
  3. 아날로그 라인은 저항 분배기로 3.3V 이내로 낮췄는가(10.2.6).
  4. 5V로 확인된 디지털·양방향 라인에 레벨 시프터를 넣었는가(10.2.7).
  5. 10.2.8의 알려진 위험 부품 목록에 해당하는지 먼저 확인했는가.
  6. 첫 연결 시 전원 라인보다 신호 라인을 나중에, 필요하면 한 핀씩 순차로 연결해 이상 유무를 확인했는가.

10.2.10 요약 — 확인됨과 확인 필요

항목상태
UNO Q Maker I/O 공칭 3.3V, 절대 최대 3.6V확인됨(공식 Power Specification 문서)
A0/A1(아날로그) 5V 비허용, VDD+0.3V 초과 시 손상 가능확인됨(공식 문서 원문 인용)
일부 STM32U585 핀이 디지털 모드에서 5V-tolerant확인됨(공식 문서에 원칙 언급) — 어떤 핀인지 보드 차원의 전체 목록은 확인 필요
저항 분배기 값(10kΩ/20kΩ) 예시확인됨(공식 문서 예시 그대로 인용)
I2C 오픈드레인 레벨 시프터 생략 가능 여부확인 필요 — 장치별 상이, 일반화 금지
표에 든 개별 실드·모듈(HC-SR04 등)의 정확한 로직 사양업계에서 널리 알려진 통념 — 실제 구매 제품은 개별 확인 필요

교차참조: 2.2(핀아웃·GPIO 상세), 2.4(전원 설계), 4.3(GPIO 예제), 10.1(라즈베리파이 HAT 활용), 10.3(Qwiic — 3.3V 전용 커넥터로 이 문제를 원천적으로 피하는 대안).