목차
- 왜 3D 프린터 DIY 스마트 홈 기기가 편한가
- 프로젝트 개요: 이번에 만든 스마트 홈 센서 노드
- 핵심 개념: PCB 설계와 케이스 설계는 따로가 아니라 같이 갑니다
- 실전 구현 1: KiCad로 PCB 설계하기
- 실전 구현 2: 3D 프린팅 활용으로 케이스 만들기
- 케이스 설계 체크리스트
- 실전 구현 3: 조립, 펌웨어 업로드, Home Assistant 연동
- ⚠️ 실제 겪은 문제와 해결법
- 1. 센서 값이 튀는 문제
- 2. Wi-Fi 수신 감도 저하
- 3. 리드 스위치 방향 문제
- 4. 케이스 결합 불량
- 검증과 결과: 완성 후 실제로 얼마나 쓸 만했나
- 정리: 3D 프린터 DIY와 PCB 설계는 같이 배워야 합니다
- FAQ: 시작 전에 많이 헷갈리는 부분
- Q1. 브레드보드로 먼저 만들고 나중에 PCB로 넘어가도 될까요?
- Q2. 3D 프린터가 꼭 있어야 하나요?
- Q3. 어떤 CAD가 좋나요?
- Q4. 처음 만드는 스마트 홈 기기로 어떤 걸 추천하나요?
[메이커 프로젝트] 3D 프린터 DIY 스마트 홈 기기 제작기
집에서 3D 프린터 DIY를 조금이라도 해보신 분들은 한 번쯤 이런 생각 하실 겁니다. “센서는 많은데 왜 딱 우리 집에 맞는 모양은 없지?” 저도 그랬습니다. 홈랩에서 스마트 홈 장비를 늘리다 보니, 시중 제품은 기능은 괜찮아도 설치 위치가 애매하거나 케이블 정리가 깔끔하지 않은 경우가 많더라고요. 그래서 이번에는 제가 직접 PCB 설계부터 케이스 제작, 펌웨어 업로드, 실제 벽면 설치까지 한 사례를 정리해보려고 합니다. 결과적으로는 문 열림 상태와 실내 환경 데이터를 함께 보내는 소형 센서 노드를 만들었고, 3D 프린팅 활용 덕분에 배선과 고정 문제를 꽤 말끔하게 해결했습니다.
이 글은 완성품 자랑보다는 과정 위주입니다. 처음부터 완벽하게 되진 않았고, 중간에 보드 홀 위치 잘못 잡아서 다시 출력도 했습니다 ㅎㅎ 그런데 그런 삽질이 결국 다음 프로젝트 시간을 확 줄여주더라고요. 혹시 메이커 프로젝트를 시작하고 싶은데 어디서부터 손대야 할지 막막하셨다면, 이 흐름대로 따라가시면 감이 꽤 빨리 오실 겁니다.
센서 PCB, 3D 프린트 케이스, Home Assistant 연동 구조를 한눈에 보여주는 개요 이미지입니다.
왜 3D 프린터 DIY 스마트 홈 기기가 편한가
쉽게 말해 3D 프린터 DIY의 장점은 “기능”보다 “형태”에 있습니다. 센서는 결국 데이터를 읽어서 보내는 장치인데, 실제 현장에서는 센서 값보다 어디에, 어떻게, 얼마나 깔끔하게 붙일 수 있느냐가 더 중요할 때가 많거든요.
- 벽면 몰딩에 딱 맞는 길이로 케이스를 만들 수 있습니다.
- PCB 고정 기둥(standoff, 기판 지지 기둥)을 케이스 안쪽에 바로 설계할 수 있습니다.
- 자석, 나사, 양면테이프용 홈을 처음부터 넣을 수 있습니다.
- 나중에 센서가 바뀌어도 외형만 조금 수정해 재출력하면 됩니다.
제가 직접 해보니, 시중 케이스를 억지로 가공하는 시간보다 처음부터 CAD로 그리는 쪽이 오히려 덜 피곤했습니다. 특히 케이블 빠지는 방향, 리셋 버튼 누르는 구멍, LED 확인 창 같은 디테일은 직접 만들어야 만족도가 올라갑니다.
프로젝트 개요: 이번에 만든 스마트 홈 센서 노드
이번 사례는 ESP32 마이크로컨트롤러와 BME280 환경 센서를 이용해 온도, 습도, 기압을 읽고, 문 열림은 리드 스위치(reed switch, 자석식 접점 센서)로 감지하는 구조입니다. 통신은 Wi-Fi, 상위 연동은 Home Assistant와 ESPHome 조합으로 구성했습니다. 이 조합은 이미 널리 검증된 편이라, 처음 시작하시는 분께도 추천드릴 만합니다.
| 구성 요소 | 역할 | 선정 이유 |
|---|---|---|
| ESP32 | 메인 제어 | Wi-Fi 내장, 생태계가 넓음 |
| BME280 | 온도/습도/기압 측정 | I2C 배선이 단순하고 자료가 많음 |
| Reed Switch | 문 열림 감지 | 구조가 단순하고 설치가 쉬움 |
| Custom PCB | 배선 정리 및 내구성 확보 | 브레드보드보다 안정적 |
| PLA 케이스 | 외형 및 고정 | 출력이 쉽고 수정이 빠름 |
여기서 중요한 포인트는, 이번 프로젝트가 엄청 복잡한 기능을 넣는 방향이 아니라는 점입니다. 대신 PCB 설계와 3D 프린팅 활용이 실제로 어떤 식으로 만나는지 보여주는 데 초점을 맞췄습니다.
핵심 개념: PCB 설계와 케이스 설계는 따로가 아니라 같이 갑니다
저도 처음엔 회로 먼저 그리고 케이스는 나중에 생각했었는데요, 그렇게 하면 높은 확률로 다시 하게 됩니다. 이유는 간단합니다. USB 포트 위치, 센서 통풍 구멍, 나사 체결 위치, 벽면 고정 방향이 전부 PCB와 연결돼 있기 때문입니다.
그래서 저는 보통 아래 순서로 갑니다.
- 센서가 설치될 위치와 외형 제약부터 정합니다.
- 필요한 포트 방향과 버튼 접근 위치를 스케치합니다.
- 그 다음에 회로도(schematic, 회로 연결도)를 그립니다.
- PCB 외곽선(board outline)을 케이스 기준으로 잡습니다.
- 마지막으로 케이스 내부 고정 구조를 PCB 실측 기준으로 맞춥니다.
이 순서로 바꾸고 나서는 시행착오가 많이 줄었습니다. 특히 통풍이 필요한 환경 센서는 케이스를 예쁘게만 만들면 안 되고, 센서 구멍 주변에 공기 흐름을 고려해야 하더라고요.
실전 구현 1: KiCad로 PCB 설계하기
PCB 툴은 KiCad를 사용했습니다. 오픈소스고, 개인 프로젝트에는 정말 충분합니다. 회로는 단순합니다. ESP32에 3.3V 전원을 공급하고, BME280은 I2C로 연결, 리드 스위치는 GPIO 입력으로 받는 구조입니다.
회로를 그릴 때 제가 실제로 신경 쓴 부분은 아래와 같습니다.
- I2C 라인인 SDA, SCL은 너무 길게 꼬지 않기
- 센서 쪽에 디커플링 캐패시터(decoupling capacitor, 전원 안정화용 콘덴서) 배치
- 리드 스위치 입력은 풀업(pull-up, 기본 High 유지) 기준으로 설계
- USB 포트 방향과 케이스 개구부 위치 일치시키기
- 나사홀은 보드 모서리보다 약간 안쪽에 배치
부품 배치를 잡을 때는 기능보다 조립성을 먼저 봤습니다. 처음엔 센서를 가운데 뒀다가, 통풍 구멍과 안 맞아서 다시 옮겼거든요. 실제로 써보니까 환경 센서는 케이스 벽 쪽에 붙이는 편이 설계가 쉬웠습니다.
# ESPHome 설치 예시
python3 -m venv .venv
source .venv/bin/activate
pip install esphome
esphome version
esphome:
name: room-sensor-node
friendly_name: room-sensor-node
esp32:
board: esp32dev
framework:
type: arduino
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
logger:
api:
ota:
i2c:
sda: GPIO21
scl: GPIO22
scan: true
binary_sensor:
- platform: gpio
pin:
number: GPIO27
mode: INPUT_PULLUP
inverted: true
name: "Door Contact"
device_class: door
sensor:
- platform: bme280_i2c
temperature:
name: "Room Temperature"
pressure:
name: "Room Pressure"
humidity:
name: "Room Humidity"
address: 0x76
update_interval: 30s
펌웨어 쪽은 복잡하게 짜지 않았습니다. 이 프로젝트의 포인트는 펌웨어 최적화보다는 하드웨어 통합이었기 때문입니다. 나중에 Deep Sleep(딥 슬립, 저전력 대기)이나 배터리 전원으로 확장할 수 있게 GPIO 여유를 조금 남겨둔 정도입니다.

PCB 부품 배치와 트레이스 연결 방향, 나사홀 위치를 설명하는 중간 설계 이미지입니다.
실전 구현 2: 3D 프린팅 활용으로 케이스 만들기
케이스는 CAD에서 두 조각 구조로 만들었습니다. 앞판은 센서 통풍 홀과 상태 LED 확인창, 뒷판은 벽면 고정과 PCB 지지 구조를 담당하게 했습니다. 이때 진짜 중요한 게 공차(clearance, 부품 간 여유 치수)입니다. 화면상으로는 딱 맞아 보여도 출력하면 안 맞는 경우가 많습니다.
제가 잡은 방식은 이렇습니다.
- PCB 실측 치수에 여유를 약간 둡니다.
- USB 포트 구멍은 실제 커넥터보다 조금 넓게 뺍니다.
- 나사 체결보다 스냅핏(snap-fit, 끼워 맞춤) 구조를 먼저 시도합니다.
- 첫 출력은 저품질 초안으로 빠르게 확인합니다.
- 문제 없을 때만 최종 출력으로 넘어갑니다.
여기서 제가 한 번 크게 삽질했습니다. 나사홀 중심을 보드 외곽 기준으로 계산했는데, 실제 부품 라이브러리 풋프린트와 미세하게 차이가 있었거든요. 결국 홀 위치가 안 맞아서 케이스를 다시 뽑았습니다. 드디어 됐다 싶었는데 한쪽이 뜨는 걸 보고 허탈하더라고요. 그 뒤로는 무조건 종이 출력이나 임시 출력으로 먼저 맞춰봅니다.
소재는 PLA로 갔습니다. ABS나 PETG도 좋지만, 이번 케이스는 실내 고정형이라 PLA로도 충분했습니다. 다만 직사광선이 강한 창가라면 소재 선택을 다시 고민하셔야 합니다.
케이스 설계 체크리스트
- 센서 통풍홀은 너무 작게 만들지 않기
- 벽면 부착용 양면테이프 홈 확보
- 리셋 버튼 접근 구멍 추가
- 상태 LED를 볼 수 있는 작은 창 확보
- 배선이 꺾이지 않도록 내부 공간 확보
실전 구현 3: 조립, 펌웨어 업로드, Home Assistant 연동
보드가 도착하면 제일 먼저 전원 단락(short, 합선) 여부부터 확인했습니다. 이 과정 생략했다가 연기 나는 분들 꽤 계시거든요. 저도 예전에 다른 프로젝트에서 한 번 당해봐서, 여기선 멀티미터부터 들었습니다.
# 설정 검증
esphome config room-sensor-node.yaml
# USB 연결 상태에서 최초 업로드
esphome run room-sensor-node.yaml
# 이후 네트워크 OTA 업로드
esphome upload room-sensor-node.yaml
Home Assistant에서는 ESPHome 장치가 비교적 자연스럽게 붙습니다. 엔티티(entity, 개별 센서/스위치 객체)가 생성되면 문 열림 상태, 온도, 습도 값을 바로 자동화에 연결할 수 있습니다. 저는 아래처럼 간단한 자동화를 붙였습니다.
alias: Door Open Alert
trigger:
- platform: state
entity_id: binary_sensor.door_contact
to: "on"
action:
- service: notify.mobile_app_phone
data:
message: "문이 열렸습니다."
mode: single
이 단계에서 중요한 건, 센서값이 잘 들어오는지만 볼 게 아니라 설치 후에도 유지보수가 쉬운 구조인지 보는 겁니다. USB 포트를 완전히 막아버리면 나중에 디버깅할 때 꽤 답답합니다.
실제 조립 후 벽면 설치 모습과 대시보드 연동 결과를 함께 보여주는 이미지입니다.
⚠️ 실제 겪은 문제와 해결법
이 부분은 좀 현실적으로 적어보겠습니다. 검색하면 다들 깔끔하게 성공한 것처럼 보이는데, 실제론 자잘한 문제가 계속 나옵니다.
1. 센서 값이 튀는 문제
BME280을 케이스 안쪽 깊숙이 넣었더니 값 반응이 느렸습니다. 처음엔 센서 불량인가 싶었는데, 알고 보니 통풍홀 설계가 부족했습니다. 앞판에 슬릿(slit, 길쭉한 통풍 구멍)을 더 넣고 개선했습니다.
2. Wi-Fi 수신 감도 저하
보드를 벽면 금속 프레임 근처에 설치했더니 연결이 불안정했습니다. 안테나 방향과 설치 위치가 생각보다 중요하더라고요. 이럴 땐 PCB 방향을 90도 돌릴 수 있게 케이스 내부 구조를 유연하게 잡아두는 게 좋습니다.
3. 리드 스위치 방향 문제
문틀 자석 위치를 너무 대충 맞췄더니 닫혀 있어도 간헐적으로 열림으로 인식했습니다. 센서류는 소프트웨어보다 물리 정렬이 더 중요할 때가 많습니다. 자석과 스위치 축을 맞추는 게 핵심입니다.
4. 케이스 결합 불량
스냅핏 구조를 너무 타이트하게 잡으면 첫 조립 때는 잘 맞아도, 두 번째 분해부터 흰 자국(stress mark, 응력 자국)이 생깁니다. 저는 최종 버전에서 아예 작은 나사 체결 방식으로 바꿨습니다. 덕분에 유지보수가 훨씬 편해졌습니다.
| 문제 | 원인 | 해결 |
|---|---|---|
| 센서 반응 지연 | 통풍 부족 | 케이스 슬릿 확대 |
| Wi-Fi 불안정 | 설치 위치 영향 | 안테나 방향 조정, 위치 이동 |
| 오검출 | 자석 정렬 불량 | 리드 스위치 위치 재조정 |
| 케이스 파손 | 공차 부족 | 결합부 여유 확보, 나사 방식 전환 |
⚠️ 여기서 중요한 포인트! 전자회로 문제처럼 보여도, 실제 원인은 기구물인 경우가 정말 많습니다. 저도 처음엔 펌웨어 로그만 계속 봤었는데, 나중에 보니 케이스 홀 하나가 문제였던 적이 많았습니다.
검증과 결과: 완성 후 실제로 얼마나 쓸 만했나
완성 후에는 단순히 “작동한다”에서 끝내지 않고, 일주일 정도 홈랩 환경에서 굴려봤습니다. 문 상태 이벤트가 빠지지 않는지, 환경 값이 너무 뜀박질하지 않는지, OTA가 잘 되는지 정도를 확인했습니다. 숫자 성능을 과장할 필요는 없더라고요. 중요한 건 안정적으로 반복 동작하는지였습니다.
- 문 열림 감지는 일상 사용에서 충분히 안정적이었습니다.
- 온습도 값은 실내 변화 흐름을 보기엔 만족스러웠습니다.
- PCB로 정리하니 점퍼선 방식보다 훨씬 깔끔했습니다.
- 3D 프린트 케이스 덕분에 설치 완성도가 크게 올라갔습니다.
실제로 써보니까 제일 좋았던 건 “보는 사람이 상용 제품으로 착각할 정도의 마감”이었습니다. 이거 은근 중요합니다. 홈랩 장비는 결국 집 안에 놓이는 거라서, 기능만큼 외형이 주는 만족감이 크거든요. 🎉
완성 후 운영하면서 확인한 대시보드와 상태 변화 흐름을 보여주는 검증 이미지입니다.
정리: 3D 프린터 DIY와 PCB 설계는 같이 배워야 합니다
이번 프로젝트를 하면서 다시 느낀 건, 3D 프린터 DIY는 단순히 케이스 예쁘게 만드는 취미가 아니라는 점입니다. 스마트 홈 장비를 내 환경에 맞게 최적화하는 실전 도구에 가깝습니다. 그리고 PCB 설계를 조금만 같이 익히면, 브레드보드 단계에서 늘 겪던 불안정함을 꽤 많이 줄일 수 있습니다.
만약 이제 시작하신다면 이렇게 추천드립니다.
- 처음엔 기능 욕심내지 말고 센서 1~2개만 붙입니다.
- ESPHome 같이 검증된 도구부터 씁니다.
- 케이스는 한 번에 완벽하게 만들 생각보다 반복 수정 전제로 갑니다.
- 보드와 케이스를 따로 보지 말고 동시에 설계합니다.
다음 글에서는 이번 노드를 배터리 구동 중심으로 바꾸면서 저전력 설계와 Deep Sleep 적용 과정을 다뤄볼까 합니다. 이전 글에서 다뤘던 홈랩 네트워크 분리 구성과 같이 보시면 더 재미있을 겁니다.

이번 메이커 프로젝트의 전체 흐름과 핵심 체크포인트를 요약하는 마무리 이미지입니다.
FAQ: 시작 전에 많이 헷갈리는 부분
Q1. 브레드보드로 먼저 만들고 나중에 PCB로 넘어가도 될까요?
네, 그게 보통 맞습니다. 저도 처음 동작 확인은 임시 배선으로 했습니다. 다만 형태가 정해졌다면 너무 오래 끌지 말고 PCB로 넘어가는 편이 좋습니다.
Q2. 3D 프린터가 꼭 있어야 하나요?
꼭 그렇진 않습니다. 다만 3D 프린팅 활용이 들어가면 설치 자유도가 확실히 올라갑니다. 외주 출력으로 시작해도 충분합니다.
Q3. 어떤 CAD가 좋나요?
정답은 없습니다. 중요한 건 복잡한 기능보다 치수 관리와 반복 수정이 편한 툴입니다. 저도 처음엔 툴보다 공차 개념이 더 어렵더라고요.
Q4. 처음 만드는 스마트 홈 기기로 어떤 걸 추천하나요?
문 열림 센서나 환경 센서가 가장 무난합니다. 전력도 많이 안 먹고, 결과 확인도 쉬워서 학습 곡선이 완만합니다.
처음엔 이게 뭔가 싶어도, 한 번 직접 만들어보면 시중 제품을 보는 눈도 달라집니다. 결국 하드웨어 프로젝트는 손으로 부딪혀봐야 감이 옵니다. 저도 아직 배울 게 많지만, 이런 식의 작은 성공 경험이 쌓이면 다음 프로젝트가 훨씬 덜 무섭습니다.
![[3D Printer] 3D 프린터로 만드는 스마트 홈 기기: PCB 설계부터 조립까지 실제 사례](https://blog.pswq.net/wp-content/uploads/2026/08/3d-printer-smart-home-device-diy-case-study-thumbnail.jpg)
![[HomeLabs] Matter 프로토콜, 홈 자동화의 미래: 1년 사용 후기 및 실제 적용 사례](https://blog.pswq.net/wp-content/uploads/2026/06/matter-protocol-home-automation-1-year-review-case-study-thumbnail.jpg)


