본문으로 이동
원문 확인

Microduck XL330 DIY: 부품부터 조립과 첫 보행까지

AI-FanGe Microduck을 12단계로 제작합니다. 출력, XL330 ID, 배선, SD 이미지, Wi-Fi, 보정 확인, 첫 보행과 종료를 안내합니다.

AI-FanGe의 Raspberry Pi Zero 2 W, OpenRB-150, XL330 구성용입니다. 12단계를 순서대로 진행하고 전원 투입 전 배선을 확인하며 첫 동작은 기체를 지지합니다. 같은 경로의 이미지, 모델과 서보 ID를 사용하세요.

적용 기종과 출처

AI-FanGe 원본을 정리한 독립 편집 가이드입니다. 조립 보충은 wslengzhicheng 문서, 전기 규격은 ROBOTIS를 참고해 2026년 10월 30일 확인했습니다. 제작자의 영상과 실기 시연은 있지만 이 사이트는 조립하거나 실험하지 않았습니다. 일부 보충 배선 사진은 미등록 상태이므로 실제 보드 표시와 제조사 도면을 확인하세요.

1. 같은 구성의 부품과 공구 준비

  1. Pi Zero 2 W, OpenRB-150, XL330-M288-T 14개, BNO080/085/086 IMU, 16 GB 이상 microSD, 스위치와 적합한 전원을 준비합니다. 입 서보는 선택 사항이며 ID 15입니다.
  2. 리더기, USB 데이터 케이블, 멀티미터, 작은 드라이버, M2/M2.5 나사와 절연 배선도 필요합니다. 구매 전 전원과 커넥터 정격을 확인하세요. HD1910 부품과 이미지는 다른 경로입니다.

다음 단계 전 확인

모든 보드, 서보, 커넥터와 전원 모델이 목록에 있다.

2. 출력 파일 확인과 시험 출력

  1. 고정 버전 루트의 microduck3D打印.3mf를 슬라이서로 열고 모든 판과 부품을 확인합니다. 방향은 제작자 영상을 보고 문서의 PLA를 기준으로 자신의 프린터 설정을 맞춥니다.
  2. README의 microduck/cad 폴더는 삭제되었습니다. 아래 실제 3MF 링크를 사용하고 시뮬레이션 메시를 출력 키트로 대체하지 마세요. 지지대를 제거하고 서보를 시험 장착한 뒤 전체를 출력합니다.

다음 단계 전 확인

좌우 부품과 나사가 구분되고 구멍과 서보가 무리 없이 맞는다.

3. 서보 ID를 한 개씩 설정

  1. 조립 전 서보 하나만 적합한 전원 인터페이스에 연결합니다. Dynamixel Wizard 2.0에서 Protocol 2.0과 현재 속도로 검색하고 ID, 1 Mbps, Return Delay Time 0을 설정한 뒤 새 속도로 재검색하고 라벨을 붙입니다.
  2. 오른쪽은 1 발목, 2 무릎, 3 고관절 피치, 4 롤, 5 요, 왼쪽은 같은 순서로 6–10입니다. 11 머리 피치, 12 목 피치, 13 머리 요, 14 머리 롤입니다. 전압 오류는 보호 정지를 해제하지 말고 전원을 점검하세요.

다음 단계 전 확인

ID가 중복되지 않고 14개 모두 1 Mbps에서 응답한다.

4. 중심을 맞추고 관절 장착

  1. 맨축 주위에 장애물이 없을 때 Wizard로 중심으로 이동한 뒤 토크를 끄고 전원을 분리합니다. 축 위치를 유지하며 도면의 기계 기준에 혼을 맞추고 구조를 닫기 전에 장착합니다.
  2. 반대쪽 아이들러와 맞는 나사를 사용합니다. 혼 나사가 기어까지 들어가거나 아이들러를 과하게 조여 걸리지 않게 하세요. 전원을 끈 상태에서 각 관절의 범위를 확인합니다.

다음 단계 전 확인

정렬이 맞고 허용 범위에서 걸림 없이 움직인다.

5. 발부터 다리와 몸통 조립

  1. 발과 발목은 오른쪽 ID 1, 왼쪽 6입니다. 무릎 2/7, 고관절 피치 3/8, 롤 4/9, 요 5/10 순으로 조립합니다. 좌우는 로봇 자신의 기준입니다.
  2. 고관절을 몸통에 연결하고 배터리 구조를 고정합니다. 덮개를 조이기 전 홈에 배선하고 다리를 움직여 끼임과 당김을 확인하세요. 나사 위치는 원본 영상과 조립 장을 따릅니다.

다음 단계 전 확인

양쪽 ID 순서와 방향이 맞고 전선이 당겨지거나 끼이지 않는다.

6. 머리·목과 전자 부품 고정

  1. 분해도에 따라 머리·목 11–14를 맞추고 Pi, OpenRB, IMU를 고정합니다. IMU는 문서의 설치 방향을 유지하며 다른 로봇의 회전 설정을 복사하지 않습니다.
  2. USB, microSD와 스위치 접근 공간을 남깁니다. 지정 위치에 보드를 고정하고 노출 접점을 절연한 뒤 머리 움직임을 확인하고 케이스를 닫습니다.

다음 단계 전 확인

보드가 고정되고 머리 운동과 유지보수 접근에 문제가 없다.

7. 전원·버스를 연결하고 측정

  1. 배터리를 분리한 상태에서 Pi와 OpenRB를 USB 데이터 케이블로 연결합니다. XL330 버스와 분기는 제조사 핀 배치를 따르세요. Pi는 안정된 5 V로 공급하고 공통 접지와 OpenRB 전원 선택을 확인합니다.
  2. ROBOTIS의 XL330 입력 범위는 3.7–6.0 V, 권장은 5.0 V입니다. 완충 배터리까지 실제 최대 전압을 측정하며 6 V 표기만 믿지 마세요. 2S 팩을 XL330이나 Pi에 직접 연결하지 않고 전압 보호를 유지합니다.

다음 단계 전 확인

부하 연결 전 극성, 도통과 두 전원 레일의 실측 전압을 확인했다.

8. IMU와 전체 배선 점검

  1. 대상 BNO08x 모듈의 전원 단자 정격을 확인해 Pi 3.3 V에, GND는 접지, SDA는 GPIO2/물리 3번, SCL은 GPIO3/물리 5번에 연결합니다. VIN과 3V3 표시를 구분하세요.
  2. I²C 배선을 짧게 하고 IMU를 문서 방향으로 고정한 뒤 납땜을 점검합니다. 미등록 사진은 핀 순서의 근거가 될 수 없습니다. 첫 점검 때는 케이스를 열 수 있게 둡니다.

다음 단계 전 확인

노출 단락, 역삽입이나 느슨한 센서가 없다.

9. SD 이미지 검증과 기록

  1. 제작자의 image.v1에서 microduck.img.xz를 받고 SHA-256을 아래 배포값과 비교합니다. 배포자의 체크섬이며 이 사이트가 이미지를 부팅해 보았다는 뜻은 아닙니다.
  2. Raspberry Pi Imager에서 Pi Zero 2 W, Use custom, 해당 이미지와 올바른 microSD를 선택합니다. 이 이미지에는 OS customization을 적용하지 않고 기록·검증 후 안전하게 제거합니다. 선택한 카드는 지워집니다.
SHA-256: 096885dc32fb5b1db2ad69ba6bea868d8ab988f2b47c0d884eb63ba0dfdcb5c4
shasum -a 256 microduck.img.xz

다음 단계 전 확인

체크섬이 일치하고 Imager 검증이 성공했다.

10. 2.4 GHz Wi-Fi와 첫 로그인

  1. 카드를 다시 넣고 bootfs/network-config의 국가 코드, SSID와 암호를 YAML 들여쓰기 그대로 수정합니다. 이 Pi는 2.4 GHz용이며 KISS의 5 GHz 권장은 적용되지 않습니다. 모니터·키보드와 nmcli도 가능합니다.
  2. 부팅 후 1–3분 기다리고 microduck.local 또는 공유기에서 찾은 IP로 연결합니다. 초기 user/password로 로그인한 직후 passwd로 변경합니다. PC도 같은 네트워크에 연결하세요.
ssh user@microduck.local
passwd

다음 단계 전 확인

새 암호로 SSH 연결되며 Pi가 IP를 받았다.

11. 버스, 방향과 모델 확인

  1. 동작 전에 OpenRB 직렬 장치와 필요한 모든 ID의 응답을 확인합니다. 제어기를 멈춘 상태에서 I²C bus 1을 검사하면 BNO08x는 보통 0x4a/0x4b에 나타납니다. 주소만으로 방향은 확인되지 않습니다.
  2. 실제 조립과 IMU_MOUNT_QUAT, 관절 offset, 특히 무릎을 비교하고 이미지에 맞는 walk.onnx를 사용합니다. 반대 관절, 잘못된 IMU 방향과 누락 ID는 토크를 넣기 전에 수정합니다.
ls /dev/serial/by-id/
i2cdetect -y 1

다음 단계 전 확인

서보, 기계 정렬, 센서 방향과 모델이 이 구성에 맞는다.

12. 첫 보행, 정지와 종료

  1. 빈 바닥에서 기체를 지지하고 아래 명령을 실행합니다. 시작 시 토크가 켜지고 neutral로 움직입니다. 자세가 맞으면 v로 보행 전환 후 방향키로 작게 조작하세요. x는 속도 0, q는 정지, i는 IMU 표시 전환입니다.
  2. 필요하면 두 번째 SSH에서 src/stop.py를 실행합니다. sudo shutdown -h now 후 종료를 기다려 전원을 끕니다. 이미지의 게임패드 모드는 패드 연결 중 Wi-Fi를 끄므로 SSH를 쓰려면 패드를 끊으세요. 이미지, ID, offset과 결과를 기록합니다.

Pi에서 시작

cd ~/microduck
PYTHONPATH=src .venv/bin/python src/main.py

다른 SSH에서 정지

cd ~/microduck
PYTHONPATH=src .venv/bin/python src/stop.py

Pi 종료

sudo shutdown -h now

다음 단계 전 확인

확실히 정지할 수 있고 이상 동작·응답 누락·재부팅을 해결한 후 재시도한다.

제작 계속하기

출처와 확인 날짜

자료 확인일 2026년 10월 30일 · 원문 확인

  1. 원문 자료 1 · github.com / README.md ↗
  2. 원문 자료 2 · github.com / microduck3D打印.3mf ↗
  3. 원문 자료 3 · www.youtube.com / watch ↗
  4. 원문 자료 4 · github.com / README.md ↗
  5. 원문 자료 5 · github.com / README.md ↗
  6. 원문 자료 6 · emanual.robotis.com / xl330-m288 ↗
  7. 원문 자료 7 · emanual.robotis.com / openrb-150 ↗
  8. 원문 자료 8 · github.com / README.md ↗
  9. 원문 자료 9 · github.com / image.v1 ↗
  10. 원문 자료 10 · github.com / main.py ↗
  11. 원문 자료 11 · github.com / stop.py ↗