제2부 하드웨어 심층
2.3 고속 인터페이스 — MIPI CSI/DSI, 메자닌 커넥터, Qwiic 커넥터
2.3.1 먼저 정정 — "40핀 헤더"는 UNO Q가 아니라 VENTUNO Q의 사양이다
이 책의 초기 취재 메모에는 "40핀 GPIO 헤더가 라즈베리파이 액세서리와 전기적·기계적으로 완전 호환된다"는 내용이 있었다. Arduino 공식 UNO Q User Manual(2026-08-17 갱신본)과 공식 Full Pinout 문서(2026-02-17 갱신본)를 직접 대조한 결과, 이 표현은 UNO Q에는 해당하지 않는다 — 정직성을 최우선하는 이 책의 원칙(BOOK.md BK-04)에 따라 바로잡는다.
혼동의 원인은 확인된다. Arduino 공식 VENTUNO Q(UNO Q의 상위 라인, 0.3에서 개관) 제품 페이지는 "Standard 40-pin GPIO header provides full electrical and mechanical compatibility with Raspberry Pi accessories."라고 명시한다 — 즉 40핀 라즈베리파이 호환 GPIO 헤더는 VENTUNO Q의 사양이지, 이 장이 다루는 UNO Q의 사양이 아니다. 0.2·0.3에서 다룬 두 제품의 차이를 놓치면 이 둘이 쉽게 뒤섞인다.
UNO Q 자체에서 실제로 확인되는 것은 다음과 같다.
- UNO Q의 상단 실드 헤더(JDIGITAL1·JANALOG1)는 클래식 Arduino UNO 폼팩터를 그대로 따른다. 라즈베리파이의 40핀 GPIO 헤더와는 핀 배치·핀 수·용도가 전혀 다르다. Arduino User Manual 원문: "the classic UNO form factor, ensuring compatibility with the wide range of UNO shields."
- 대신 보드 하단에 JMISC1과 JMEDIA1이라는 이름의 60핀 고밀도 board-to-board 커넥터 2개가 있다. 이 둘은 GPIO 헤더가 아니라 MIPI CSI/DSI 차동쌍, 카메라 제어 I2C, 병렬 카메라(PSSI), SDIO, 오디오 아날로그 신호를 실어나르는 커넥터다. 공식 문서는 이 두 커넥터의 신호를 "regular GPIO로 쓸 수 없다"고 명시한다. ⚠️ 확인 필요: 이 커넥터의 정확한 제조사·부품번호·핀 피치는 Arduino 공식 문서에 명시되어 있지 않다 — 커뮤니티 리버스엔지니어링 자료마다 다른 부품명이 언급되므로(10.1 참고), 실제 캐리어 보드를 직접 설계할 계획이라면 공식 캐리어 보드의 레퍼런스 설계나 실측을 우선한다.
- 라즈베리파이와 "호환"이라는 말이 UNO Q에 실제로 적용되는 대상은 GPIO 헤더가 아니라 MIPI CSI 카메라·DSI 디스플레이의 22핀 FPC 커넥터 핀아웃이다 — 단, 이 FPC 커넥터는 UNO Q 본체에 바로 실장되어 있지 않고, 캐리어 보드(공식 UNO Media Carrier 등)를 통해서만 나타난다.
즉 "라즈베리파이 카메라를 UNO Q에 바로 연결한다"가 아니라, "JMEDIA1/JMISC1 → 캐리어 보드 → 표준 22핀 FPC 커넥터 → 라즈베리파이 카메라/디스플레이"라는 한 단계를 거친다. 아래 절에서 이 경로를 상세히 다룬다. 라즈베리파이 생태계 전반과의 호환 범위(어디까지 되고 어디부터 안 되는지)는 10.1에서 더 폭넓게 정리한다.
2.3.2 MIPI CSI — 카메라 두 대 연결하기
QRB2210은 듀얼 ISP를 내장해 카메라 2대(13MP+13MP)를 동시에, 또는 25MP 카메라 1대를 지원한다(2.1.2.1). 이 카메라 신호는 JMEDIA1 커넥터 위에 두 세트의 4레인 MIPI-CSI 버스(CSI0, CSI1)로 각각 노출된다 — 공식 핀맵에 CSI0 데이터레인 0~3+클럭, CSI1 데이터레인 0~3+클럭이 모두 개별 핀으로 확인된다.
| 신호군 | 개수 | 비고 |
|---|---|---|
| CSI0 (카메라 0) | 4데이터레인 + 클럭, 차동쌍 | 카메라 제어 I2C: CCI_I2C_SCL0(GPIO_23) / CCI_I2C_SDA0(GPIO_22) |
| CSI1 (카메라 1) | 4데이터레인 + 클럭, 차동쌍 | 카메라 제어 I2C: CCI_I2C_SCL1(GPIO_30) / CCI_I2C_SDA1(GPIO_29) |
| 카메라 마스터클럭 | 2개(MCLK0/MCLK1) | GPIO_20 / GPIO_21 |
CCI(Camera Control Interface)는 카메라 센서 레지스터를 설정하는 전용 I2C 버스로, 리눅스 디바이스 트리에 카메라 드라이버 전용으로 예약되어 있다 — 일반 I2C 센서 용도로 재사용할 수 없다(2.2.8에서 다룬 "SoC_GPIO는 범용 GPIO가 아니다"의 연장선).
실전 경로: 표준 Raspberry Pi Camera Module(예: IMX219, IMX708 등)을 연결하려면 ① 공식 UNO Media Carrier(또는 동등한 서드파티 캐리어)를 JMEDIA1+JMISC1에 장착 → ② 캐리어의 22핀 FPC 커넥터에 카메라 리본 케이블을 연결한다. 캐리어 보드는 라즈베리파이 5와 동일한 22핀/4레인 FPC 핀아웃을 채택했다고 명시되어 있어, 라즈베리파이 5용 카메라 케이블·모듈이 그대로 맞는다.
⚠️ 확인 필요: 공식 카메라 지원(정식 드라이버·App Lab 예제)은 이 조사 시점 기준 Arduino가 순차적으로 확대하고 있는 단계다. 특정 센서(IMX219 등)의 지원 여부와 시점은 릴리스마다 바뀔 수 있으므로, 프로젝트를 시작하기 전 Arduino 공식 포럼·릴리스 노트에서 사용하려는 정확한 카메라 모델의 지원 상태를 재확인할 것을 권한다.
2.3.3 MIPI DSI — 디스플레이 연결하기 (그리고 USB-C와의 경합)
디스플레이 경로는 두 가지다 — 그리고 동시에 쓸 수 없다.
- JMEDIA1 헤더의 MIPI-DSI0(4레인, 1.8V): 캐리어 보드를 통해 22핀 FPC DSI 디스플레이(라즈베리파이 호환 패널)로 나간다.
- USB-C의 DisplayPort Alt-Mode: 보드 위의 ANX7625 칩이 QRB2210의 MIPI-DSI 출력을 DisplayPort 신호로 변환해, USB-C 커넥터의 SuperSpeed 차동쌍에 실어 보낸다. USB-C 허브·어댑터를 통해 HDMI 모니터에 바로 영상을 낼 수 있다.
공식 User Manual은 이 둘이 "멀티플렉싱되어 있어 동시에 하나만 활성화된다"고 명시한다 — 즉 USB-C로 외부 모니터를 쓰는 동안에는 JMEDIA1의 DSI 디스플레이가 꺼지고, 그 반대도 마찬가지다. USB-C DP Alt-Mode가 활성화되면 USB 3.1 데이터 대역폭도 줄어든다(SuperSpeed 차동쌍을 DP와 나눠 쓰기 때문).
| 경로 | 해상도 | 비고 |
|---|---|---|
| USB-C DisplayPort Alt-Mode | Full HD(1920×1080) 지원, SBC 모드 최적 해상도 1280×720p | USB-C 허브/케이블 필요, USB 데이터 대역폭과 트레이드오프 |
| JMEDIA1 MIPI-DSI0 | 캐리어·패널 사양에 따름 | 캐리어 보드 필요, USB-C DP와 배타적 |
2.3.4 캐리어 보드 생태계
JMEDIA1/JMISC1를 실제로 쓰려면 대부분 캐리어 보드가 필요하다. 2026년 3월 Arduino가 공개한 공식 액세서리 라인업 중 이 인터페이스와 직결된 제품:
| 제품 | 역할 |
|---|---|
| UNO Media Carrier | JMEDIA1+JMISC1에 장착. 듀얼 MIPI-CSI 카메라 커넥터, MIPI-DSI 디스플레이 커넥터, 3.5mm 오디오 잭 3개(마이크/헤드폰/라인아웃 계열)를 UNO 폼팩터로 제공. 패스스루 설계라 다른 실드/캐리어를 위에 더 쌓을 수 있다. |
| UNO Breakout Carrier | JMEDIA1/JMISC1의 신호를 이름표가 붙은 일반 핀헤더로 그대로 노출 — 프로토타이핑·테스트·직접 배선용. |
| Arduino Bug Hopper | JMEDIA1/JMISC1가 아니라 JCTL1(2.2.6)에 연결하는 USB-UART 브리지 — 시스템 콘솔 접근용. |
이 외에 커뮤니티에서 JMEDIA1 핀맵을 그대로 활용해 라즈베리파이 5와 동일한 22핀 FPC 커넥터를 노출하는 오픈하드웨어 보드(예: Camemake Vision Adaptor)도 공개되어 있다 — 공식 지원은 아니므로 "커뮤니티 방법(비공식)"으로 분류한다. 서드파티 캐리어·HAT 생태계 전반의 상세 비교와 구매처는 10.1에서 다룬다.
2.3.5 Qwiic 커넥터 실전
Qwiic 커넥터(QWIIC1)의 물리적 사양·핀맵은 2.2.5에서 이미 다뤘다. 이 절에서는 실전 활용 관점만 다룬다.
- 극성 보호: JST-SH 1.0mm 피치 커넥터라 역방향으로 연결되지 않는다. 납땜 없이 데이지체인으로 여러 Qwiic 모듈을 연결할 수 있다(각 모듈이 통과 커넥터를 가진 경우).
- 3.3V 전용: Qwiic 생태계 대부분의 센서·브레이크아웃이 3.3V 로직이라 UNO Q의 3.3V MCU 도메인과 잘 맞는다. 다만 SparkFun 등에서 나오는 일부 5V 전용 Qwiic 보드는 확인이 필요하다.
- Modulino 노드: Arduino 자체 Qwiic 생태계 제품군(Modulino)이 이 커넥터를 표준 연결 방식으로 채택했다 — 센서를 스케치 몇 줄로 바로 읽을 수 있다.
- I2C 주소 충돌에 주의: 여러 Qwiic 장치를 체인으로 연결할 때 동일 I2C 주소를 가진 모듈이 섞이면 충돌한다(하드웨어 특유의 문제는 아니지만 UNO Q에서도 동일하게 적용되는 일반 I2C 원칙).
2.3.6 엣지케이스와 주의사항
- JMEDIA1/JMISC1 핀은 "GPIO"가 아니다. 공식 문서가 두 커넥터 모두에 "These pins can not be used as regular GPIOs"라고 명시한다. 임의로 이 커넥터에 로직 신호를 인가해 범용 확장 핀처럼 쓸 수 없다 — 지정된 인터페이스(MIPI, I2C, SDIO, 오디오, 전원)로만 동작한다.
- JMISC1는 혼합 전압이다. 같은 60핀 안에 3.3V MCU 신호와 1.8V MPU 신호가 함께 있다(2.1.4, 2.2 참고). 캐리어 보드를 직접 설계할 때는 핀 단위로 전압을 확인해야 한다.
- 디스플레이 경로는 배타적이다. USB-C DP Alt-Mode와 JMEDIA1 MIPI-DSI를 동시에 쓸 수 없다 — 프로젝트 설계 초기에 "외부 모니터로 디버그"와 "패널 캐리어로 최종 제품"을 동시에 운용하는 시나리오를 계획하고 있다면 이 제약을 반영해야 한다.
- 캐리어 없이는 카메라·DSI 패널을 물리적으로 연결할 방법이 없다. UNO Q 단품 구매 시 카메라/디스플레이를 계획한다면 캐리어 보드(또는 서드파티 대안)를 함께 예산에 넣어야 한다 — 구매 계획은 1.1~1.3에서 다룬 범위와 함께 고려한다.
교차참조: 전압 도메인 전체 그림은 2.1.4, JMISC1/JMEDIA1 핀맵과 나머지 헤더(JDIGITAL1 등)는 2.2, 전원(VIN이 JMEDIA1에도 나온다)은 2.4, 카메라 비전 예제·추론 성능은 9.5, 라즈베리파이 호환 HAT·카메라 생태계 상세는 10.1, UNO 실드 3.3V 호환성은 10.2, Qwiic·커뮤니티 확장보드는 10.3.