This website requires JavaScript.
쿠폰
배송지
블로그

KiCad MCP로 Claude Code를 이용해 PCB 설계하기: XL4015 사례

최초 게시일 Nov 11, 2026, 업데이트 되였습니다. Nov 11, 2026

3 분

표목(TOC)
  • 들어가며
  • Claude Code는 MCP로 KiCad PCB를 어떻게 설계하나요?
  • Claude Code와 KiCad MCP 사례: XL4015 5 A 벅 컨버터
  • KiCad MCP 서버를 안전하게 설정하는 방법
  • KiCad MCP 작업 순서: 회로도에서 완성된 PCB까지
  • KiCad MCP에서 발생한 문제와 수정 내역
  • KiCad MCP 설계에서 JLCPCB 주문까지: Gerber, BOM, 부품
  • 결론
  • KiCad MCP FAQ

핵심 요약

  • Claude Code와 KiCad로 PCB 설계: MCP 서버를 통해 Claude를 KiCad에 연결하면 설계 내용을 만들고 수정할 수 있습니다. 이 사례에서는 XL4015 기반 5 A 벅 컨버터 넷리스트를 63 × 33 mm 2층 PCB로 구현했습니다. 초기 문제를 수정한 뒤 ERC 위반과 DRC 오류는 각각 0건이었습니다.
  • 안전한 연결: 기본값이 읽기 전용인 KiCad MCP 서버를 선택하고 설치 전에 코드를 검토합니다. stdio로 연결하며, Git으로 추적하는 전용 프로젝트 폴더에서만 쓰기를 허용합니다.
  • 회로를 먼저 검증: 참고 회로와 데이터시트를 비교해 XL4015의 VC 핀 접지 연결과 최대 36 V 입력을 견디지 못하는 78L05 등 네 가지 문제를 찾았습니다.
  • ERC만으로는 부족: ERC가 놓친 전류 검출(ISENSE)·전류 제한 설정(ISET) 네트 간 연결 오류를 내보낸 넷리스트의 핀별 비교로 찾고 16개 네트를 확인했습니다.

Claude Code와 KiCad로 PCB를 설계하는 과정

들어가며

Claude Code에 KiCad PCB 설계를 요청하면 회로도를 만들고 부품을 배치하고 배선을 진행할 수 있을까요? KiCad MCP 서버를 연결하면 Claude가 KiCad 10의 설계 기능을 호출해 실제 프로젝트를 수정할 수 있습니다.

이 사례에서는 Claude Code로 XL4015 기반 5 A 벅 컨버터의 회로도부터 2층 PCB까지 설계했습니다. AI가 처리한 일과 오류가 발생한 지점, 엔지니어의 검증이 필요한 이유를 함께 살펴봅니다.

이 글에서 다루는 내용:

  • Claude Code와 KiCad의 연결 방식
  • KiCad MCP 서버를 안전하게 설정하는 방법
  • 회로도 생성부터 PCB 배선까지의 작업 순서
  • ERC를 통과해도 남을 수 있는 오류와 확인 방법

Claude Code와 KiCad 10으로 설계한 XL4015 벅 컨버터 PCB

그림: Claude Code와 KiCad 10으로 설계한 XL4015 벅 컨버터 PCB의 3D 화면.

Claude Code는 MCP로 KiCad PCB를 어떻게 설계하나요?

Claude Code는 모델 컨텍스트 프로토콜(MCP)을 통해 KiCad 설계 도구와 통신합니다. MCP 서버가 중간 연결 역할을 하므로 프로젝트 파일 읽기, 회로도 작성, 부품 배치, 배선, 설계 검사 같은 작업을 도구로 실행할 수 있습니다.

따라서 AI가 설계 제안만 작성하는 것이 아니라 KiCad 프로젝트를 실제로 변경할 수 있습니다. 다만 가능한 작업은 연결한 서버의 기능에 따라 다르고, 결과물에는 엔지니어의 검증이 필요합니다.

KiCad MCP 구성 요소는 세 가지입니다.

  • AI 클라이언트: Claude Code 또는 Claude 데스크톱 앱이 호출할 도구와 입력값을 선택합니다.
  • MCP 서버: 회로도 작성, 풋프린트 이동, DRC 실행 등의 KiCad 기능을 도구로 제공하는 로컬 프로그램입니다.
  • KiCad: 프로젝트가 열려 있으면 KiCad API로 편집기에 접근하고, 내보내기와 검사에는 kicad-cli를 사용합니다.

Claude Code·MCP 서버·KiCad 사이의 연결 구조

그림: KiCad MCP의 동작 구조.

KiCad MCP는 하나의 제품명이 아닙니다. 여러 오픈소스 서버가 있으며 쓰기 권한과 기능 범위가 다릅니다. AI PCB 설계 도구 중 KiCad 프로젝트를 직접 다루는 방식입니다.

Claude Code와 KiCad MCP 사례: XL4015 5 A 벅 컨버터

한 작업 세션에서 Claude Code와 KiCad MCP 서버는 63 × 33 mm 2층 XL4015 벅 컨버터 PCB를 만들었습니다. KiCad 10.0.4에서 ERC 위반과 DRC 오류는 0건으로 보고됐습니다. 일반적인 5 A CC/CV 모듈을 다시 설계한 사례이며, 아직 제작하거나 실물 시험을 하지는 않았습니다.

항목값
컨버터 ICXL4015E1 벅 컨버터, 180 kHz
입력DC 8~36 V, XL4015의 정격 입력 범위
출력1.25~32 V, 가변저항 RV1로 설정
출력 전류정격 5 A; 전류 제한용 RV2의 조정 범위는 약 5.9 A까지
전류 제어저측 션트와 LM358 전류 루프, TL431 2.5 V 기준
상태 표시CC 모드, 충전 중, 완충을 표시하는 LED 3개
PCB63 × 33 mm, 2층, 동박 1 oz, M3 홀 4개
상태KiCad 10.0.4에서 DRC 통과; 제작 및 실물 시험 미실시

참고 XL4015 모듈에서 수정한 네 가지 사항

회로도를 만들기 전에 참고 모듈과 데이터시트를 비교해 네 가지 문제를 찾았습니다. 판매 페이지의 좁은 입력 범위 대신 XL4015의 최대 운전 입력인 36 V를 기준으로 입력측 부품을 검토했습니다. MCP는 제공된 넷리스트를 바탕으로 회로도를 만들기 때문에 사전 검토가 중요합니다.

참고 모듈의 문제위험이 설계의 수정
XL4015 VC 핀(4번)을 GND에 연결VC와 VIN 사이에 1 µF 커패시터를 요구하는 데이터시트와 다름VC-VIN 사이에 C3 1 µF 배치
입력 정격이 30 V인 78L05 사용XL4015의 최대 운전 입력 36 V보다 낮음입력 정격 40 V의 BL8078 LDO 사용
0.05 Ω 션트 한 개5 A에서 1.25 W 소모0.1 Ω·2 W 저항 두 개 병렬, 각 약 0.63 W 소모
35 V 벌크 커패시터XL4015의 최대 운전 입력 36 V보다 낮음220 µF·50 V 커패시터 사용

KiCad MCP 서버를 안전하게 설정하는 방법

기본값이 읽기 전용인 서버를 선택하고, 코드를 검토한 복사본에서 설치합니다. stdio로 연결한 뒤 Git으로 추적하는 프로젝트 폴더 한 곳에만 접근을 제한합니다. 서버가 열린 편집기에 접근하도록 KiCad API도 활성화합니다.

KiCad MCP 서버별 접근 권한 비교

서버를 선택할 때는 기본적으로 무엇을 변경할 수 있는지 확인해야 합니다.

서버기본 접근 권한보드 설계 지원참고
oaslananka/kicad-mcp-pro읽기 전용 검토 도구쓰기 프로필에서 지원쓰기·제조 프로필을 명시적으로 활성화
Seeed-Studio/kicad-mcp-server주로 ERC·DRC·네트 추적 등 분석제한적; 회로도 편집은 실험 단계설계 검토에 적합
mixelpixx/KiCAD-MCP-Server읽기·쓰기 전체기능 범위가 넓음처음부터 쓰기 권한 부여
lamaalrajih/kicad-mcp읽기와 일부 편집부분 지원원문 작성 당시 약 1년 동안 업데이트 없음

이 사례에서는 기본 읽기 전용 범위를 제공하는 kicad-mcp-pro를 사용했습니다. 서버 기능과 업데이트 상태는 설치 시점에 다시 확인해야 합니다.

MCP 서버 설치와 Claude Code 연결

원문 사례의 설치 절차는 다음 다섯 단계입니다. AI에 설치를 맡기더라도 각 권한과 코드 변경은 사람이 확인해야 합니다.

KiCad MCP 서버에 사용한 격리 프로젝트 폴더

그림: KiCad MCP 서버용 격리 프로젝트 폴더 구조.

  1. 코드 검토: 네트워크 통신과 텔레메트리, 실행하는 하위 프로세스(kicad-cli, git, ngspice), 파일 경로가 작업 폴더 안에 머무는지 확인합니다.
  2. 검토한 버전 고정: 검토한 릴리스를 비공개 저장소에 복사하고 해시가 고정된 의존성 파일을 사용해 설치합니다.
  3. stdio로 등록: 네트워크 포트를 열지 않는 로컬 표준 입출력 연결로 Claude Code에 등록합니다.
  4. 폴더 제한: Git으로 추적하는 격리 폴더 한 곳에서만 서버의 쓰기 프로필을 켭니다. AI 변경 사항을 Git에서 검토할 수 있습니다.
  5. KiCad API 활성화: KiCad에서 Preferences > Plugins로 이동해 Enable KiCad API를 선택합니다.

KiCad 10 설정의 Enable KiCad API 옵션

그림: KiCad 10의 API 활성화 설정.

KiCad MCP 연결 문제와 해결 방법

증상원인해결
오류 메시지 없이 서버 연결 실패다른 프로젝트의 KiCad 창이 API 연결을 점유KiCad 인스턴스를 하나만 열어 확인
API 호출에 응답 없음파일 열기 경고 같은 모달 창이 대기 중대화상자 닫기
보드 편집 도구가 보이지 않음PCB 편집기에 보드가 열려 있지 않음PCB 편집기에서 보드 열기
서버가 KiCad에 전혀 접근하지 못함KiCad API 비활성화Preferences > Plugins에서 활성화

KiCad MCP 작업 순서: 회로도에서 완성된 PCB까지

넷리스트에서 보드까지 네 단계로 진행했습니다. 각 단계에서 AI가 편집하고, 다음 단계로 넘어가기 전에 결과를 검사했습니다.

1단계: 넷리스트로 KiCad 회로도 생성

Claude Code는 16개 네트의 넷리스트를 입력으로 sch_build_circuit MCP 호출 한 번에 회로도를 생성했습니다. 각 핀에 짧은 선과 이름이 지정된 네트 라벨을 붙여 같은 이름끼리 연결했습니다.

KiCad MCP로 생성한 XL4015 5 A CC/CV 벅 컨버터 회로도

그림: KiCad MCP로 생성한 XL4015 5 A CC/CV 벅 컨버터 회로도.

이 과정에서 두 가지 문제가 발생했습니다.

  • LM358 유닛 겹침: 자동 배치 과정에서 LM358의 여러 회로도 유닛이 같은 위치에 겹쳤고 서버가 유닛별 핀을 구분하는 데도 어려움을 겪었습니다.
  • 네트 라벨 겹침: 두 라벨이 겹쳐 전류 검출(ISENSE)과 전류 제한 설정(ISET) 네트가 잘못 연결됐습니다. KiCad ERC는 경고만 표시했고 오류로 판정하지 않았습니다. 내보낸 넷리스트를 핀별로 비교해 수정했습니다.

최종 회로도는 ERC 위반 0건이었고 의도한 16개 네트와 내보낸 넷리스트가 모두 일치했습니다.

2단계: 보드 크기 결정과 부품 배치

부품의 코트야드 면적은 약 1,500 mm²로 참고 모듈의 50.5 × 25.2 mm 외곽(1,272 mm²)을 초과했습니다. 그래서 M3 홀 네 개가 있는 63 × 33 mm 보드로 크기를 늘렸습니다.

겹침을 검사하고 랫스네스트 미리보기를 생성하는 스크립트로 배치를 계획한 다음, pcb_move_footprint 도구로 KiCad에 위치를 적용했습니다.코트야드와 랫라인을 표시한 XL4015 PCB 부품 배치 계획

그림: XL4015 벅 컨버터의 코트야드와 랫라인 배치도.

배치는 PCB 레이아웃의 짧고 직접적인 전력 경로 원칙을 따랐습니다.

  • 왼쪽에서 오른쪽으로 흐르는 전력 경로: J1 > C1 > XL4015 > 스위칭 노드 > L1·D1 > 출력 커패시터 C4·C5 > J2.
  • 스위칭 루프: 입력 세라믹 커패시터 C2를 XL4015 VIN 핀과 프리휠 다이오드 D1의 애노드 사이에 두어 대전류 루프를 작게 만들었습니다.
  • 전류 검출: 션트 저항은 리턴 경로에, 가변저항은 조작하기 쉬운 아래쪽 가장자리에 배치했습니다.

3단계: 전력·피드백 네트 배선

사용한 KiCad MCP 서버에는 자동 배선기가 없어 Claude Code가 Python으로 기본 배선 도구를 만들었습니다. A* 경로 탐색으로 두 PCB 층의 0.1 mm 격자에서 경로를 찾았습니다. 대전류 연결에는 좁은 트레이스 대신 구리 폴리곤을 사용했습니다.

첫 배선에서 SW 노드 가까이를 지난 FB 트레이스

그림: 첫 번째 배선에서 스위칭 노드 옆을 지난 피드백(FB) 트레이스.

  • 구리 폴리곤: VIN, SW, VOUT, 전류 검출 경로에 적용했습니다.
  • 그라운드: 하단 GND 면과 상단 GND 채움 영역을 사용했습니다.

첫 번째 배선에서는 FB 트레이스가 SW 노드 바로 옆을 지나 스위칭 잡음이 제어 루프에 결합될 수 있었습니다. 아날로그 네트에 SW 주변 1.2 mm 배선 금지 영역을 설정하고 재배선했습니다. 이는 일반적인 PCB 배선 규칙과도 맞습니다. 수정 후 FB는 왼쪽으로 나가 하단층의 VIN 아래를 지납니다.

4단계: KiCad DRC와 실크 인쇄 정리

첫 설계 규칙 검사에서는 구리와 보드 가장자리 간격 오류 7건이 나왔습니다. 배선기는 0.35 mm를 사용했지만 보드 규칙은 0.5 mm였기 때문입니다. 배선기를 수정하고 재배선한 뒤 최종 DRC는 오류 0건, 미연결 0건, 회로도와 PCB의 대응 문제 0건이었습니다.

정격·가변저항·LED 의미를 표시한 KiCad PCB 실크 인쇄

그림: 정격과 가변저항·LED 기능을 표시한 보드 하단 실크 인쇄.

라벨 배치 스크립트로 참조 지정자를 패드와 다른 실크에서 떨어뜨렸습니다. 실크 관련 경고는 47건에서 2건으로 줄었고, 남은 두 건은 보드 가장자리의 터미널 블록 몸체와 관련됐습니다.

KiCad MCP에서 발생한 문제와 수정 내역

작업 중 AI 또는 서버에서 일곱 가지 문제가 생겼습니다. 각각 넷리스트 비교, DRC, 레이아웃 검토, 부품 직접 조회로 확인했습니다.

문제영향수정
LM358 유닛 세 개가 겹침핀 겹침으로 의도하지 않은 연결 발생각 유닛을 빈 위치에 배치하고 16/16 네트 재검사
서버가 다중 유닛 부품을 배선하지 못함LM358 유닛이 미연결로 남음비공개 서버 복사본에 9줄 패치를 적용해 모든 유닛의 핀 확인
네트 라벨 충돌ISENSE와 ISET 단락, ERC는 경고만 표시핀별 넷리스트 비교로 발견
FB가 SW 옆으로 배선됨스위칭 잡음이 피드백으로 결합될 수 있음아날로그 네트용 1.2 mm 금지 영역 설정 후 재배선
배선기가 가장자리 간격 0.35 mm 사용0.5 mm 규칙 대비 구리-가장자리 DRC 오류 7건배선기 수정 후 재배선
서버의 부품 검색 결과가 불안정부품 매칭을 신뢰하기 어려움JLCPCB 부품 데이터 직접 조회
배치 작업이 두 번 실행됨보드 외곽선 중복중복 외곽선 삭제

AI 설계에서 ERC만으로 부족한 이유: KiCad 넷리스트 검증

ERC는 미연결 핀이나 충돌하는 출력 같은 전기적 규칙을 확인합니다. 그러나 어떤 핀끼리 연결돼야 하는지는 알지 못하므로 두 유효한 네트의 잘못된 연결을 놓칠 수 있습니다. ERC 후 다음 세 가지를 수행합니다.

  1. 의도한 넷리스트 작성: AI가 설계하기 전에 모든 네트와 포함되는 핀을 기록합니다.
  2. kicad-cli로 넷리스트 내보내기: 계획 문서가 아니라 AI가 실제로 만든 회로도에서 내보냅니다.
  3. 네트와 핀을 하나씩 비교: 이 사례에서는 ISENSE 단락 수정 후 16개 네트가 모두 일치했습니다.

참고

DRC 오류 0건은 설정한 보드 규칙을 충족한다는 뜻입니다. 회로도가 설계 의도와 일치하거나 부품 핀 배열이 올바르다는 증명은 아니므로 제조 파일을 만들기 전에 넷리스트와 핀 배열을 확인해야 합니다.

KiCad MCP 설계에서 JLCPCB 주문까지: Gerber, BOM, 부품

이 설계는 아직 주문 준비가 끝나지 않았습니다. 서버의 제조 프로필이 꺼져 있어 Gerber, BOM, CPL 파일을 생성하지 않았기 때문입니다. 부품은 LCSC 번호로 선정했으며 가능한 경우 JLCPCB Basic 부품을 사용했습니다.

JLCPCB 부품 라이브러리에서 확인한 주요 부품:

  • XL4015E1 (C51661): 벅 컨버터 IC
  • LM358DR2G (C7950): 전류 루프 연산 증폭기, Basic 부품
  • BL8078CC3TR50 (C692269): 입력 정격 40 V의 5 V LDO
  • TL431 (C181103): 2.5 V 기준
  • CYA1265-33UH (C19268671): 33 µH, 6 A 인덕터
  • SS54 (C5204950): 프리휠 다이오드
  • 0.1 Ω·2 W·2512 (C160587): 두 개를 병렬로 쓰는 전류 검출 션트

다음 단계는 KiCad의 일반적인 제조 파일 내보내기입니다. KiCad Gerber·드릴 파일 안내와 KiCad BOM·CPL 파일 안내를 참고해 SMT 조립에 필요한 파일을 준비합니다.

결론

Claude Code는 MCP를 통해 넷리스트에서 KiCad PCB까지 작업해 DRC를 통과하는 레이아웃을 만들었습니다. 하지만 AI가 놓친 오류는 데이터시트와 넷리스트를 사람이 비교하면서 발견됐습니다.

KiCad MCP는 회로도 입력, 부품 배치, 규칙 위반 수정에 활용할 수 있습니다. 설계자는 넷리스트, 핀 배열, 레이아웃을 계속 검토해야 합니다. 제조 파일을 만들고 설계를 검증한 뒤 JLCPCB 견적을 확인할 수 있습니다.

JLCPCB PCB 조립 견적 안내

KiCad MCP FAQ

Q. Claude Code만으로 KiCad PCB 설계를 완성할 수 있나요?

회로도와 보드 레이아웃을 만드는 데 활용할 수 있지만, ERC를 통과하는 미묘한 오류를 찾으려면 엔지니어의 넷리스트 비교와 데이터시트 검증이 필요합니다.

Q. 어떤 KiCad MCP 서버를 선택해야 하나요?

kicad-mcp-pro처럼 기본값이 읽기 전용인 서버부터 검토하고, 쓰기 권한은 Git으로 추적하는 격리 프로젝트에만 허용합니다. 설치 전에 실제 코드와 권한 범위를 확인해야 합니다.

Q. 사용한 MCP 서버에 자동 배선기가 있나요?

이 사례에 사용한 서버에는 없었습니다. Claude Code가 작업 중 만든 Python 격자 배선기로 트레이스를 만들고 전력 네트에는 구리 폴리곤을 사용했습니다.

Q. DRC 오류가 0건이면 바로 제조할 수 있나요?

아닙니다. DRC는 설정된 레이아웃 규칙을 확인할 뿐 회로 의도, 부품 핀 배열, 제조업체의 모든 공정 제한을 검증하지 않습니다.

Q. KiCad MCP는 KiCad 10에서 동작하나요?

이 사례는 Preferences > Plugins에서 KiCad API를 켠 KiCad 10.0.4를 사용했습니다. 서버마다 지원 버전이 다를 수 있으므로 호환성 안내를 확인하십시오.

지속적인 성장