제11부 3D 프린팅 활용
11.2 커스텀 설계 vs 공개 STL 활용
11.1에서 짚은 포트 배치·방열 원칙을 실제 인클로저로 옮기는 방법은 크게 두 가지다. ① 이미 만들어진 공개 STL을 그대로(또는 약간 수정해서) 쓰는 방법, ② Fusion 360·OpenSCAD 같은 CAD 도구로 직접 설계하는 방법. 이 장은 둘 중 하나를 강요하지 않는다 — 실제로 찾은 UNO Q용 공개 설계를 소개하고, 두 접근의 장단점을 견줘, 누구에게 어느 쪽이 맞는지 판단 재료를 제공한다.
11.2.1 공개 STL — 실제로 찾은 UNO Q 커뮤니티 설계
UNO Q는 2025년 하반기에 출시된 신제품이라 커뮤니티 자산이 라즈베리파이나 클래식 UNO만큼 두텁지 않다. 그럼에도 Thingiverse·Printables·MakerWorld·Arduino 포럼을 검색한 결과, UNO Q 전용으로 만들어진 실제 설계가 여러 건 확인됐다. 예상보다 이른 시점에 커뮤니티가 반응한 셈이다 — 다만 각 설계의 다운로드·리믹스·인쇄 후기 수는 아직 클래식 UNO 케이스(수천 건 단위)에 비할 바가 못 된다는 점은 감안해야 한다.
| 이름 | 제작자 | 플랫폼 | 특징 |
|---|---|---|---|
| Case for Arduino UNO Q | schreinerman | Thingiverse · Printables | 2파트 구조, 모든 커넥터 노출, M3×5mm 스크류 4개로 조립. 보드를 전면(前面)에만 고정해 향후 나올 베이스보드용으로 하단 공간을 비워둔 설계 |
| Case for the new Arduino Uno Q | Jonathan Beri | Thingiverse · Printables | 리드에 LED 매트릭스용 창, 접착식 인셋 디퓨저(빛 확산판) 옵션 |
| Arduino UnoQ Case | paulrbarnard | Thingiverse | 정밀 핏(precision fit) 케이스, 모든 커넥터 접근 가능 |
| Protective Case for Arduino UNO Q | AD3D | Printables | 얇지만 튼튼한 보호 케이스, USB-C·Qwiic용 개구부 |
| Arduino Uno Q case | MakerWorld 게시자 | MakerWorld | LED 매트릭스 창이 있는 리드 + 디퓨저 옵션(Jonathan Beri 설계 계열로 보임) |
| Modular Enclosure for Arduino UNO Q | danpeirce | Arduino Forum · GitHub(소스) | 모듈형 — USB 동글 수납부, 통풍 슬롯, 벽/랙 마운트(행어) 옵션, LED 매트릭스 창 리드. Blender로 설계, TPU95A로 출력, 소스 파일 공개 |
| 3D Printed Protective Case (상용) | 52Pi | 52pi.com | 완성품 판매 — 무료 STL이 아니라 참고용으로만 소개 |
몇 가지 정직하게 밝혀 둘 점이 있다.
- 라이선스는 설계마다 다르다. Thingiverse·Printables는 제작자가 개별적으로 라이선스(대개 CC-BY 계열)를 지정한다. 다운로드 전 각 페이지에서 라이선스를 반드시 확인한다 — 이 책에서 일괄적으로 단정하지 않는다.
- STL은 편집이 어렵다. STL은 메쉬(삼각형 폴리곤) 파일이라 파라메트릭 수정이 안 된다. 부분 수정이 필요하면 원본 소스 파일(Fusion 360
.f3d, OpenSCAD.scad, Blender.blend등)을 제공하는 설계를 고르는 것이 유리하다 — 위 표에서는 danpeirce의 설계가 소스(Blender)를 공개하고 있다. - danpeirce 본인이 밝힌 한계: 포럼 답글에서 그는 Arduino의 공식 UNO Q 3D 모델(STEP)이 "부품을 단순화·부정확하게 표현하고 있고 방열 설계가 반영돼 있지 않다"고 지적했다. 공개 STL을 그대로 믿기보다, 받은 뒤 한 번은 직접 프린트해 실제 보드와 맞춰보는 검증 과정을 권한다.
11.2.2 공개 STL 활용 vs 커스텀 설계 — 트레이드오프
| 기준 | ① 공개 STL 활용 | ② 커스텀 설계(직접 CAD) |
|---|---|---|
| 소요 시간 | 짧음 — 다운로드 후 바로 슬라이싱 | 김 — 설계·검토·재출력 반복 필요 |
| 검증 상태 | 대개 최소 1회 이상 프린트·조립 성공 사례가 있음(단, 11.2.1 표의 설계들은 아직 후기 수가 적음) | 처음엔 미검증 — 직접 실물로 확인해야 함 |
| 내 프로젝트 요구 반영 | 특정 카메라 마운트·특수 거치 구조 등은 대개 안 맞음 | 정확히 필요한 대로 만들 수 있음 |
| 수정 난이도 | STL만 있으면 사실상 불가(리믹스는 원본 소스가 있어야 수월) | 파라미터·코드만 바꾸면 됨 |
| 후속 리비전 대응 | 새 버전 나오면 처음부터 다시 찾아야 함 | 파라미터만 바꿔 재출력 가능 |
| 학습 부담 | 없음 | CAD 도구 학습 필요 |
11.2.3 커스텀 설계 도구 — Fusion 360 vs OpenSCAD
직접 설계하기로 했다면 도구 선택이 남는다. 메이커 커뮤니티에서 가장 널리 쓰이는 두 도구를 인클로저 설계 맥락에서 비교한다.
| 기준 | Fusion 360 | OpenSCAD |
|---|---|---|
| 인터페이스 | GUI, 스케치+피처 기반 3D 모델링 | 코드(스크립트) 기반, 텍스트 편집 후 렌더 |
| 파라메트릭 방식 | 타임라인 히스토리 + 치수 파라미터 | 변수·모듈을 코드로 작성, 전체가 텍스트 이력 |
| 비용 | 개인/취미 용도 무료 라이선스(사용 조건 제한), 상업용은 유료 | 완전 무료·오픈소스 |
| STEP 파일 가져오기 | 지원 — Arduino 공식 UNO Q STEP(있다면)을 불러와 참조 형상으로 활용 가능 | 미지원(변환 필요, 정밀도 저하 가능) |
| 정밀 컷아웃 다수 배치(예: 11.1의 커넥터별 구멍) | 가능하지만 스케치 좌표를 반복 입력 | translate()+배열 문법으로 좌표 목록을 스크립트화하기 쉬움 |
| 버전 관리 | 클라우드 문서(바이너리) — git diff 어려움 | 텍스트 파일 — git diff·리뷰 자연스러움 |
| 곡면·유기적 형상(손잡이, 힌지 등) | 강점 | 약함(다각형 근사, $fn 해상도 조정 필요) |
| 학습 곡선 | 중간(3D 모델링 경험이 있으면 유리) | 코드에 익숙하면 낮음, 아니면 불리언 연산 개념부터 필요 |
필자 견해: 11.1처럼 좌표 기반 반복 작업(커넥터별 컷아웃)이 많은 설계는 OpenSCAD가 수정·재현에 유리하고, 11.3에서 다룰 카메라 힌지 마운트처럼 곡면·움직이는 부품이 얽힌 설계는 Fusion 360이 다루기 쉽다는 것이 필자의 판단이다. 두 도구는 배타적이지 않다 — 케이스 본체는 OpenSCAD로, 카메라 힌지 같은 특수 부품만 Fusion 360으로 만들어 조합하는 것도 실전에서 흔한 절충이다.
표에서 언급한 "translate()+배열 문법으로 좌표 목록을 스크립트화"하는 감각을 실제 코드로 보면 다음과 같다. 11.2.1의 공개 STL(예: schreinerman 설계)을 참고해 마운팅홀 배치를 직접 재현하고, 그 위에 스탠드오프+나사홀만 파라미터로 생성하는 최소 예시다 — 공개 STL을 그대로 쓰지 않고 일부만 커스텀할 때 이런 식으로 "참조판"만 먼저 출력해 실물 STL과 맞춰보는 방법을 쓸 수 있다.
// ================================================================
// 11.2.3 예시 — 공개 STL을 참고한 커스텀 스탠드오프 모듈
// 공개 STL(예: schreinerman 설계, 11.2.1)의 마운팅홀 배치를 참고해
// 스탠드오프+나사홀만 직접 파라메트릭으로 재현하는 최소 예다.
// 마운팅홀 좌표는 11.1.1 근사치를 재사용하며, 실제 참고 STL의
// 정확한 홀 좌표는 해당 STL을 출력·실측해 대조하는 편이 안전하다.
// ================================================================
$fn = 32;
// 확인 필요 — 근사 좌표(11.1.1). 참고 STL을 출력해 실측 후 갱신할 것.
hole_positions = [
[3.0, 2.7],
[68.58 - 3.0, 2.7],
[3.0, 53.34 - 2.7],
[68.58 - 3.0, 53.34 - 2.7]
];
standoff_dia = 6.5; // mm
standoff_h = 3.4; // mm, 11.1.3 공식(바닥부품 2mm + 여유 1mm)
screw_hole_dia = 2.6; // mm, 셀프탭 나사용(11.1.3: 셀프탭 2.5~2.8mm)
base_t = 1.6; // mm, 스탠드오프를 배치하는 얇은 참조판 두께(테스트 출력용)
module standoff_with_hole(dia, h, hole_d) {
difference() {
cylinder(d = dia, h = h);
translate([0, 0, -0.5])
cylinder(d = hole_d, h = h + 1);
}
}
module standoff_array(positions, dia, h, hole_d) {
for (p = positions)
translate([p[0], p[1], 0])
standoff_with_hole(dia, h, hole_d);
}
// 참조판(얇은 테스트 조각) 위에 스탠드오프 4개를 배치 —
// 이 판만 먼저 출력해 공개 STL의 실제 홀 패턴과 맞춰볼 수 있다.
module reference_plate() {
union() {
cube([68.58, 53.34, base_t]);
standoff_array(hole_positions, standoff_dia, standoff_h + base_t, screw_hole_dia);
}
}
reference_plate();
11.2.4 클래식 UNO 인클로저를 재활용할 수 있는가
UNO Q는 외곽 치수(68.58×53.34 mm)와 마운팅홀 패턴이 클래식 UNO 폼팩터와 호환된다고 데이터시트가 명시한다(11.1.1). 그렇다면 시중에 이미 많은 클래식 UNO용 인클로저(예: Thingiverse의 오래된 "Arduino Uno Case", "Arduino Uno Snug Case" 등)를 그대로 재활용할 수 있을까?
부분적으로만 가능하다. 외곽·마운팅홀은 호환되지만, 포트 벽면은 세대가 바뀌며 크게 달라졌다.
- USB 커넥터: 클래식 UNO는 USB-B(정사각형에 가까운 큰 커넥터), UNO Q는 USB-C다. 위치도 모양도 다르므로 기존 케이스의 USB 컷아웃은 그대로 쓸 수 없다.
- 전원 잭: 클래식 UNO는 배럴 잭(DC 전원 입력) 구멍이 있지만, UNO Q에는 이 커넥터 자체가 없다(전원은 USB-C 또는 JANALOG1의 VIN 핀으로 입력받는다 — 2.4 참고). 이 구멍은 막거나 통풍 슬롯으로 재활용할 수 있다.
- LED 매트릭스 창: 클래식 UNO에는 8×13 LED 매트릭스가 없으므로, 기존 리드 디자인에는 당연히 이 창이 없다. 그대로 쓰면 부팅 로고·상태 표시가 완전히 가려진다.
- 바닥면 JMEDIA1/JMISC1: 클래식 UNO에는 없던 60핀 커넥터 두 쌍이 UNO Q 바닥면에 새로 생겼다. 기존 케이스의 막힌 바닥판을 그대로 쓰면 캐리어 보드 확장이 원천적으로 막힌다.
현실적인 절충안은 "마운팅홀·전체 실루엣만 기존 클래식 UNO 설계에서 가져오고, 포트가 뚫리는 벽면과 상판(LED 매트릭스 창 포함)은 새로 그리는" 방식이다. 이때도 마운팅홀 좌표가 정말 일치하는지는 실측 대조 없이는 장담할 수 없다 — 세대를 거치며 미세하게 조정됐을 가능성을 배제하지 않는다.
11.2.5 선택 가이드
강요하지 않는 선에서 정리하면 다음과 같다.
- 빠르게 보호 케이스만 있으면 되는 경우 → 11.2.1의 공개 STL(schreinerman, AD3D 등)을 그대로 출력. 별도 프로젝트 통합이 필요 없다면 가장 시간 대비 효율이 높다.
- 카메라 모듈·모터 마운트 등 특정 부품과 통합해야 하는 경우 → 커스텀 설계가 사실상 필수다. 컷아웃 좌표가 많다면 OpenSCAD, 곡면·힌지가 필요하면 Fusion 360을 고려한다(11.3).
- 공개 설계를 베이스로 일부만 고치고 싶은 경우 → 소스 파일을 제공하는 설계(예: danpeirce의 Blender 소스)를 우선 고른다. STL만 있는 설계는 처음부터 다시 그리는 것과 큰 차이가 없을 수 있다.
- 벽걸이·로봇 마운트 등 파생 부품을 여러 개 만들어야 하는 경우 → 처음부터 파라메트릭 커스텀 설계를 택하는 편이 장기적으로 유리하다(11.3).
다음 장(11.3)에서는 이 판단을 실제 마운트·거치대·카메라 마운트 설계로 옮긴다.