StackPulse
홈스터디소개
EN로그인
홈스터디소개
EN
© 2026 StackPulse. Built by Henry.
← 스터디 목록

ZED X Mini + Jetson Orin NX: 30일간의 침묵하는 실패들

ZED X Mini 스테레오 카메라를 Jetson에 연결하기 위해 보드, 케이블, JetPack 버전을 1달간 조합했다. 뭐가 실패했고, 왜 실패했고, 유일하게 동작하는 스택은 무엇인지 전부 기록.

2026-04-058분 읽기by Henry
jetsonzed-cameraroboticsgmsl2stereolabs

ZED X Mini를 로보틱스 프로젝트용으로 샀다. Stereolabs 공식 문서엔 "Jetson에 연결하고 SDK 깔면 끝"이라고 써있다.

단 한 프레임 얻는 데 30일 걸렸다.

내가 느려서가 아니다 — 실패 모드가 침묵이기 때문이다. 에러 메시지 없음. 크래시 로그 없음. 카메라가 그냥 존재하지 않는다. 꽂고, 명령어 치고, 아무 일도 안 일어난다.

이 글은 그 한 달 동안 배운 모든 것이다. 같은 삽질을 반복하지 않도록.

디버깅 여정 — 혼돈에서 성공까지


정답 (바쁘면 이것만 보세요)

| 컴포넌트 | 버전 | |----------|------| | 보드 | Waveshare Orin NX (22핀 CSI 네이티브) | | JetPack | 6.2.1 (L4T 36.4.0) | | ZED SDK | 5.2.1 | | ZED Link | 1.4.0-L4T36.4.0 |

명령어 3개. 끝:

sudo apt install zed-link
sudo apt install zed-sdk
zed-explorer

지금 뎁스 영상이 보이면 — 축하한다. 이 탭 닫아도 된다.

안 보이면 계속 읽어라. 나도 거기 있었다.


왜 이게 이렇게 헷갈리는가

ZED X Mini는 GMSL2 (Gigabit Multimedia Serial Link)를 사용한다. USB가 아니다. 즉:

  • Jetson 캐리어 보드의 CSI 커넥터로 연결된다
  • 캐리어 보드에 GMSL2 디시리얼라이저 칩이 있어야 한다
  • 디시리얼라이저는 I2C 버스 9번으로 Jetson과 통신한다

아무도 안 알려주는 핵심: CSI 커넥터가 다 같은 게 아니다.

전체 신호 경로: ZED X Mini → GMSL2 캡처 카드 → Jetson Orin NX

실제 하드웨어 연결 모습 — GMSL2 캡처 카드가 카메라와 Jetson 보드 사이에서 FFC 리본 케이블로 연결된다:

실제 하드웨어: Jetson Orin NX와 GMSL2 캡처 카드의 FFC 리본 연결


1-2주차: 어댑터의 함정

몇 주간의 실패의 현실

첫 보드는 Seeed reComputer J4012. 좋은 보드다 — 15핀 CSI 포트, 컴팩트, 문서화 잘 되어있다.

ZED X Mini는 22핀 커넥터. 그래서 22→15핀 어댑터 케이블을 주문했다. 물리적으로 꽂힌다. 겉보기엔 완벽하다.

sudo i2cdetect -y -r 9
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

전부 대시. 카메라가 버스에 존재하지 않는다.

시도한 것들:

  • 어댑터 케이블 3종류
  • 커넥터 재장착 (확대경까지 동원)
  • I2C 버스 번호 0~30 전수조사
  • 커널 디바이스 트리 수정

아무 것도 안 됐다.

문제는 핀 수가 아니다. reComputer의 15핀 CSI 커넥터가 라우팅하는 신호와 GMSL2 디시리얼라이저가 기대하는 신호가 완전히 다르다. 어댑터는 물리적 형태만 바꿀 뿐 전기 신호를 다시 매핑하지 못한다.

15핀(틀림) vs 22핀(정답) CSI 커넥터 — 비슷해 보이지만 완전히 다른 신호를 라우팅한다

비유하면 이렇다: Lightning→USB-C 어댑터는 있어도, "PCIe 레인을 I2C로 변환하는" 어댑터는 없다. 실리콘 위의 경로 자체가 다른 프로토콜이다.


3주차: JetPack 미궁

22핀 보드(Waveshare Orin NX)를 새로 구매하고 다음 벽에 부딪혔다: 어떤 JetPack 버전?

Stereolabs 포럼, NVIDIA 포럼, 레딧 — 전부 답이 다르다:

| 출처 | 주장 | |------|------| | 포럼 글 (2025) | "JetPack 6.1에서만 됨" | | Stereolabs 공식 문서 | "JetPack 6.x 필요" | | 레딧 유저 | "6.2.0에서 성공함" | | 내 경험 | 6.2.1만 실제로 동작 |

JetPack 6.1은 플래싱 자체가 실패했다. JetPack 6.2.0은 플래싱은 됐지만 ZED Link 설치 시 L4T 버전과 디펜던시 충돌.

JetPack 6.2.1이 모든 것이 맞아떨어지는 유일한 버전이다: L4T 커널 버전(36.4.0)이 ZED Link가 기대하는 것과 일치하고, GMSL2 드라이버가 정상 로드되고, i2cdetect에 드디어 뭔가 나온다.


4주차: 된다

Waveshare 보드에 JetPack 6.2.1 플래싱 후:

sudo i2cdetect -y -r 9
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- 2d -- --
30: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

주소가 보인다. 0x2d와 0x30 (UU) — GMSL2 디시리얼라이저다. 카메라가 버스에 존재한다.

설치 3줄:

sudo apt install zed-link        # GMSL2 드라이버
sudo apt install zed-sdk          # 카메라 SDK + CUDA 뎁스 엔진
zed-explorer                      # 라이브 카메라 피드

뎁스맵, 포인트 클라우드, 전부 — 첫 시도에 성공.

동작하는 뎁스맵 — 30일 만에 드디어 본 레인보우 시각화


전체 소프트웨어 스택

하드웨어부터 애플리케이션까지 5개 레이어 아키텍처

각 레이어가 반드시 일치해야 한다. 버전 결합도가 매우 높다:

  • ZED Link은 특정 L4T 커널 버전에 맞춰 컴파일됨
  • L4T 버전은 JetPack 버전이 결정함
  • ZED SDK는 특정 ZED Link 버전 필요

어떤 레이어든 불일치하면 카메라가 조용히 사라진다. 친절한 에러 메시지 같은 건 없다. 그냥 빈 i2cdetect.


시작 전에 알았으면 좋았을 것들

  1. 어댑터 케이블은 막다른 길이다. 보드가 15핀 CSI면 보드를 바꿔야 한다. 어떤 케이블도 신호 라우팅 불일치는 못 고친다.

  2. i2cdetect -y -r 9이 진단 도구다. 소프트웨어 설치 전에 하드웨어 연결부터 확인해라. 버스 9가 비어있으면 SDK 설치해봤자 의미 없다.

  3. 포럼 버전 추천을 믿지 마라. Stereolabs가 공식 지원하는 최신 JetPack을 플래싱해라. 이 글 기준으로는 6.2.1이다.

  4. Waveshare Orin NX 캐리어 보드가 된다. 22핀 CSI + 네이티브 GMSL2 디시리얼라이저. 직결, 어댑터 불필요.

  5. JetPack 플래싱은 매번 ~45분 걸린다. 4번째 재플래싱에 이르면 체감이 다르다. 처음부터 맞는 버전을 쓰자.


내 하드웨어 셋업

| 항목 | 사용한 것 | |------|-----------| | 카메라 | ZED X Mini (스테레오, GMSL2) | | 컴퓨트 모듈 | NVIDIA Jetson Orin NX 16GB | | 캐리어 보드 | Waveshare Orin NX carrier (22핀 CSI) | | 케이블 | 22핀 GMSL2 케이블 (ZED X 기본 포함) | | 전원 | 19V DC 배럴잭 | | 플래시 툴 | NVIDIA SDK Manager (Ubuntu 22.04 호스트) |

개봉부터 뎁스 피드 성공까지 총 소요 시간: 30일 (원래 30분이면 됐어야 했다).


로보틱스 프로젝트 실제 하드웨어 기록. 내가 삽질한 만큼 당신은 안 해도 되도록. — Henry

Stereolabs, NVIDIA와 무관합니다.

Comments

Sign in to comment

Loading comments...