강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

kvivvvk22923 のプロフィール画像
kvivvvk22923

投稿した質問数

PCB HW設計実務:STM32を活用したMixed-signalボード設計プロジェクト

ADC回路図設計 - データシートの読み込み

kicad 라이브러리 추가 방법

解決済みの質問

作成

·

27

0

안녕하세요 선생님, mixed signal 보드에서 부품도 바꿔보고 제 프로젝트를 준비해보려고 합니다.

그런데, 깔려있는 기본 kicad global library 에 없는 부품들은 symbol 과 footprint를 어떻게 불러와야 할까요?

부품 검색과 데이터시트와 같은 경우에는 digikey에서 찾는다고 말씀주셨는데, 다른 부품들을 가져올때는 보통 어떤 사이트에서 어떻게 검색해서 가져오는지 궁금합니다.

MCUstm32hardwareartworkkicadorcad

回答 2

0

samcoach님의 프로필 이미지
samcoach
インストラクター

안녕하세요, 답변 남겨드립니다.

KiCad에서 기본 글로벌 라이브러리에 없는 부품을 쓰는 표준적인 방법은 “심볼 라이브러리 테이블(sym-lib-table)”과 “풋프린트 라이브러리 테이블(fp-lib-table)”에 내가 가진 라이브러리를 등록해 두고, 회로도에서는 심볼을, PCB에서는 풋프린트를 각각 선택해서 매칭시키는 방식입니다. 이때 글로벌 테이블에 추가하면 모든 프로젝트에서 공용으로 보이고, 프로젝트 테이블에 추가하면 해당 프로젝트에서만 보이는데, KiCad 공식 문서에서도 이 두 테이블 구조(글로벌/프로젝트)를 전제로 설명하고 있습니다.

실무 관점에서는 “프로젝트 재현성” 때문에 프로젝트 전용 라이브러리를 우선 권합니다. 예를 들어 mixed-signal 보드처럼 MCU, ADC/DAC, PHY, 전원IC, 커넥터가 섞이면 부품 수가 80~250개 수준으로 금방 커지고, 팀원/PC/OS가 바뀌는 순간 글로벌 라이브러리 경로가 깨지면 하루가 통째로 날아갈 수 있습니다. 그래서 보통 프로젝트 폴더 아래에 라이브러리 폴더를 같이 넣고, 경로는 ${KIPRJMOD}(현재 프로젝트 디렉터리 변수) 기반으로 잡습니다. KiCad는 이런 “경로 치환 변수(path substitution variables)”로 라이브러리 위치를 유연하게 관리하는 워크플로우를 공식 문서에서 권장합니다.

구체적인 추가 절차는 다음 흐름으로 이해하시면 됩니다. 먼저 심볼은 .kicad_sym 파일(또는 심볼 라이브러리 폴더) 형태로 준비하고, 풋프린트는 보통 xxx.pretty 폴더 안에 .kicad_mod들이 들어있는 형태로 준비합니다. 그런 다음 회로도 편집기에서 “설정/Preferences → 심볼 라이브러리 관리(Manage Symbol Libraries…)”로 들어가 프로젝트 탭에 심볼 라이브러리를 추가하고, PCB 편집기에서 “설정/Preferences → 풋프린트 라이브러리 관리(Manage Footprint Libraries…)”로 들어가 프로젝트 탭에 xxx.pretty 폴더를 추가하시면 됩니다. 이 글로벌/프로젝트 테이블 편집 위치 자체는 KiCad 문서에 그대로 정리돼 있습니다. 이후 회로도에서 심볼을 배치한 뒤, 해당 심볼의 속성에서 Footprint 필드에 방금 등록한 풋프린트를 지정하면 매칭이 끝납니다. 실무에서 자주 하는 방식은 “심볼은 제조사/부품군 단위로 묶은 하나의 .kicad_sym 라이브러리”, “풋프린트는 패키지군(LQFP.pretty, QFN.pretty, SOT.pretty 등) 단위 라이브러리”로 관리해서 검색 시간을 줄이는 쪽입니다.

부품을 어디서 가져오느냐가 핵심인데, 디지키처럼 유통사에서 바로 KiCad 심볼/풋프린트를 제공하는 경우도 있지만, 그렇지 않은 부품이 훨씬 많습니다. 이때 현업에서 많이 쓰는 경로는 크게 세 갈래입니다. 첫째는 SnapEDA 같은 CAD 라이브러리 검색 서비스를 통해 KiCad용 심볼/풋프린트/3D 모델을 받아오는 방식입니다. SnapEDA는 KiCad 심볼/풋프린트 다운로드를 직접 지원한다고 안내하고 있고, 내려받은 압축파일 구조(.pretty, .kicad_sym 등)를 유지하라는 가이드도 제공합니다. 둘째는 제조사 공식 페이지의 “CAD Models / ECAD” 리소스를 활용하는 방식이고, 셋째는 GitHub에 공개된 검증된 라이브러리(회사/커뮤니티가 관리하는 KiCad 라이브러리 리포지토리)를 서브모듈처럼 붙여 쓰는 방식입니다. 특히 팀 단위로는 라이브러리를 Git으로 버전관리하면서 sym-lib-table/fp-lib-table을 같이 관리하는 패턴이 포럼에서도 자주 언급됩니다.

다만 외부에서 받아온 라이브러리는 “그대로 믿고 쓰면 안 되고, 데이터시트로 치수를 역검증”하시는 게 mixed-signal 보드에서는 사실상 필수입니다. 예를 들어 STM32 LQFP-64(0.5 mm pitch) 같은 경우 핀피치가 촘촘해서 패드 폭을 0.30 mm로 잡는지 0.28 mm로 잡는지에 따라 솔더 브리징 리스크가 달라지고, 패드 길이도 리드 토(Toe) 여유를 0.3~0.5 mm 정도 확보하느냐에 따라 리워크 난이도가 달라집니다. 또 QFN(0.4~0.5 mm pitch)은 패드 아래 솔더마스크 정의(NSMD/SMD) 정책에 따라 솔더량이 크게 변해서, 외부 풋프린트가 IPC-7351 nominal을 따르는지, 아니면 특정 제조사 추천랜드패턴인지 확인하셔야 합니다. 실무에서는 “데이터시트의 recommended land pattern”이 있으면 그 치수를 1순위로 두고, 없으면 IPC-7351을 기준으로 하되 제조 공정(예: 4/4 mil 라우팅 한계, 마스크 정밀도, 드릴 공차)에 맞춰 미세 조정합니다. 정량적으로는 풋프린트 검증 체크리스트를 최소한 이런 수준으로 잡으면 사고가 확 줄어듭니다. 패드 간격과 패드 폭은 데이터시트 대비 오차를 ±0.05 mm 이내로 맞추고, 드릴 홀 부품은 finished hole 기준으로 공차를 고려해 0.10~0.20 mm 정도 여유를 두며, 코트야드(courtyard)는 조립 여유를 포함해 바디 외곽에서 0.25 mm 이상 확보하는 식으로 룰을 고정해두는 방식입니다. 이렇게 숫자를 정해두면 부품이 100개가 넘어가도 검증 기준이 흔들리지 않습니다.

실제 예시로, 질문 주신 STM32 기반 mixed-signal 보드에서 “기본 글로벌 라이브러리에 없는 부품”은 보통 전원IC(특히 DFN/QFN), 아날로그 프런트엔드(ADC/DAC), 특수 커넥터, 특정 EMI 필터/커먼모드 초크 같은 것들입니다. 예를 들어 어떤 ADC가 WLCSP라면 외부 라이브러리에서 풋프린트를 구하는 것보다, 데이터시트를 보고 KiCad 풋프린트 에디터로 직접 만드는 쪽이 결과적으로 더 빠를 때가 많습니다. WLCSP는 볼 직경과 볼 피치(예: 0.35 mm pitch, ball 0.20 mm)가 제조 난이도를 결정하고, 솔더마스크 정의와 패드 형태가 수율을 좌우하므로 “내 보드 제조사 공정능력(최소 마스크댐, 레이저 비아 가능 여부)”에 맞춰 커스텀하는 게 안전합니다. 반대로 RJ45나 USB-C처럼 표준 커넥터류는 SnapEDA나 제조사 STEP/ECAD를 받아서 3D까지 포함해 쓰는 게 시간을 크게 줄여줍니다.

마지막으로 운영 팁을 하나 더 드리면, 프로젝트 라이브러리를 쓰실 때는 프로젝트 폴더 아래를 libs/symbols, libs/footprints, libs/3dmodels처럼 고정해 두고, 심볼/풋프린트 라이브러리 테이블에는 절대경로 대신 ${KIPRJMOD}/libs/... 형태로만 등록하시면 협업성과 재현성이 크게 좋아집니다. 그리고 외부에서 받은 풋프린트는 첫 적용 때 3D 뷰와 실제 부품 도면을 맞대서 “핀1 방향, 바디 외곽, 코트야드, 실크 간섭”까지 확인한 다음, 첫 제작에서는 동일 패키지 1~2개는 리워크가 쉬운 위치로 배치해 두는 식으로 리스크를 줄이시는 게 현업적으로는 훨씬 효율적입니다.

0

안녕하세요, 인프런 AI 인턴입니다. kvivvvk22님.

KiCad를 사용하여 새로운 부품의 심볼(symbol)과 풋프린트(footprint)를 추가하는 것은 PCB 설계 시 자주 경험하게 되는 상황입니다. 새로운 부품을 라이브러리에 추가하는 과정은 다음과 같은 단계로 진행할 수 있습니다:

  1. 부품 검색:

    • Digi-Key, Mouser, Element14, RS Components 와 같은 사이트를 통해 필요한 부품의 데이터시트를 받을 수 있습니다. 이 사이트들은 일반적으로 부품의 심볼 및 풋프린트 파일(종종 Eagle, Altium 등 다양한 CAD 포맷)을 제공합니다.
  2. KiCad와 호환되는 라이브러리 찾기:

    • SnapEDA, Ultralibrarian 같은 라이브러리 제공 사이트를 활용하여 KiCad 또는 변환 가능한 포맷의 라이브러리를 찾을 수 있습니다. 이 사이트들은 무료로 커스텀 심볼 및 풋프린트를 제공하며, 특정 부품의 이름이나 번호로 검색하여 관련 정보를 다운로드할 수 있습니다.
  3. 수동으로 심볼과 풋프린트 생성:

    • KiCad에는 심볼 에디터와 풋프린트 에디터가 내장되어 있습니다.
    • 데이터시트에 기반하여 심볼 에디터를 열고, 새로운 심볼을 생성하며 각각의 핀을 데이터시트에 맞춰 정의합니다.
    • 풋프린트 에디터에서 부품의 패드와 크기를 데이터시트에 맞춰 설계합니다.
  4. 설정 및 경로 등록:

    • Preferences → Manage Symbol Libraries 또는 Manage Footprint Libraries 메뉴에서 라이브러리를 등록할 수 있습니다. 등록 시 라이브러리 경로와 포맷(KiCad 포맷 여부)을 지정하여 불러올 수 있습니다.

다음은 관련 질문들을 통해 더욱 구체적인 정보와 유사한 경험을 참고할 수 있습니다:
- KiCad에서 커스텀 라이브러리 생성 가이드
- PCB 설계 시 새로운 부품 라이브러리 만들기

위의 정보를 바탕으로 조금 더 수월하게 새로운 부품을 KiCad 프로젝트에 통합하실 수 있을 것입니다. 저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

kvivvvk22923 のプロフィール画像
kvivvvk22923

投稿した質問数

質問する