회로 및 PCB 설계 #2: KiCad 시작하기

기운찬곰·2025년 11월 11일

회로 및 PCB 설계

목록 보기
9/10
post-thumbnail

Getting Started in KiCad

💻 KiCad 공식 문서: https://docs.kicad.org/
💻 Getting Started in KiCad: https://docs.kicad.org/9.0/en/getting_started_in_kicad/getting_started_in_kicad.html

공식 문서를 읽어보면서 KiCad 9.0 에 대해 시작해보겠습니다.

Introduction to KiCad 9.0

KiCad는 회로도 및 PCB 설계를 위한 오픈소스 소프트웨어 입니다.

  • 최대 32층 PCB를 지원하며 모든 복잡도의 전문 설계에 적합합니다.
  • SPICE 시뮬레이터, 3D 뷰어, Gerber 뷰어, PCB 계산기 등 통합 설계 도구를 제공하며, 모든 주요 운영체제에서 실행 가능합니다.
  • 전 세계 자원봉사 소프트웨어/전기 엔지니어 팀이 개발하며, 전문 디자이너를 위한 무료 오픈소스 전자 설계 도구를 목표로 합니다.

KiCad는 Microsoft Windows, Apple macOS, 그리고 많은 주요 Linux 배포판을 포함한 다양한 운영 체제에서 실행됩니다. (근데 아무래도 윈도우가 가장 괜찮은거 같습니다)

설치 과정은 쉬우니까 생략하고요. 실행을 해보면 가장 처음에 이렇게 나옵니다.

회로도 편집기를 선택해봅시다. 아, 먼저 프로젝트부터 생성해줘야 하네요.

  • [파일(File)] > [새 프로젝트(New Project)]를 선택합니다.
  • 프로젝트 이름(예: LED_Blinker)을 입력하고 저장할 폴더를 지정합니다.
  • 새 폴더 안에 .kicad_pro 파일이 생성됩니다.

아, 프로젝트 이름을 LED_Blinker 라고 하면, LED_Blinker 라는 폴더가 생성되고 그 안에 .kicad_pcb, .kicad_sch 파일이 생성되는군요.


Basic Concepts and Workflow

KiCad의 일반적인 작업 흐름은 회로도 작성회로 기판 배치라는 두 가지 주요 작업으로 구성됩니다.

회로도는 어떤 부품이 사용되고 부품 간에 어떤 연결이 이루어지는지를 나타냅니다. 회로도 심볼(Symbol) 은 전자 부품을 회로도에서 그림으로 표현한 것으로, 예를 들어 저항은 지그재그 또는 직사각형으로, 연산 증폭기는 삼각형으로 나타냅니다.

회로도에는 설계의 모든 부품에 대한 심볼이 포함되며, 심볼의 핀들은 와이어로 연결됩니다. 일반적으로 회로도는 회로 기판을 배치하기 전에 먼저 작성됩니다.

기판(board)은 회로도를 물리적으로 구현한 것으로, 부품 풋프린트(footprints)가 보드 위에 배치되고 구리 트랙(track)이 회로도에 표시된 연결을 만듭니다. 기판이 제조되고 조립될 때, 부품은 회로 기판의 해당 풋프린트 위에 납땜됩니다.

🤔 풋프린트(footprints)는 왜 이름이 풋프린트일까요?

  • Footprint는 원래 "발자국"이라는 뜻으로, 부품이 PCB 위에 올려졌을 때 차지하는 물리적 공간이 마치 발자국처럼 보이기 때문에 붙여진 이름입니다. (아하)
  • 부품의 핀(다리)이 기판에 닿아 납땜되는 구리 패드 패턴이 부품이 "서있는" 자리, 즉 발자국의 형태를 연상시킵니다. (오호 그렇군요)
  • 사람의 발자국으로 신발 사이즈와 모양을 알 수 있듯이, 풋프린트를 보면 어떤 부품이 어떤 크기와 핀 배치로 장착되는지 알 수 있어서 은유적 표현이 정착되었습니다.

KiCad는 회로도 작성("회로도 편집기"), 기판 배치("PCB 편집기"), 심볼 및 풋프린트 편집("심볼 편집기", "풋프린트 편집기")을 위한 별도의 창을 제공합니다. KiCad는 사용자들이 기여한 고품질 심볼과 풋프린트로 구성된 대규모 라이브러리를 제공하며, 새로운 심볼과 풋프린트를 생성하거나 기존 것을 수정하는 것도 간단합니다.

KiCad는 프로젝트 기반 작업 방식을 사용한다는 점을 이해하는 것이 중요합니다. KiCad 프로젝트는 프로젝트 파일, 회로도, 기판 레이아웃과 선택적으로 심볼 및 풋프린트 라이브러리, 시뮬레이션 데이터, 구매 정보 등 기타 관련 파일들을 포함하는 폴더입니다. 넷 클래스와 설계 규칙을 포함한 많은 프로젝트 관련 설정이 프로젝트 수준에서 저장됩니다.

연결된 프로젝트 외부에서 기판을 여는 경우 설계 정보가 누락될 수 있으므로, 프로젝트와 관련된 모든 파일을 함께 보관해야 합니다.

PCB Design Workflow

PCB 디자인 프로세스는 "회로 및 PCB 설계 #1: 소개" 에서도 자세히 소개했습니다.

  1. 일반적으로 회로도를 먼저 작성합니다. 이는 회로도에 심볼을 추가하고 심볼 간의 연결을 그리는 것을 의미합니다.
  2. 적절한 심볼이 없는 경우 사용자 정의 심볼을 생성해야 할 수 있습니다. 이 단계에서는 각 부품에 대한 풋프린트도 선택하며, 필요에 따라 사용자 정의 풋프린트를 생성합니다.
  3. 회로도가 완성되고 설계가 전기 규칙 검사(ERC)를 통과하면, 회로도의 설계 정보가 보드 편집기로 전송되고 레이아웃이 시작됩니다. 회로도는 설계에 어떤 부품이 있고 어떻게 연결되는지 설명하며, 보드 편집기는 이 정보를 사용하여 레이아웃을 더 쉽게 만들고 회로도와 PCB 간의 불일치를 방지합니다.
  4. 레이아웃 프로세스는 각 풋프린트를 회로 기판에 신중하게 배치해야 합니다. 부품 배치 후, 회로도의 연결과 트랙 저항, 제어 임피던스 요구사항, 크로스토크 등의 전기적 고려사항을 기반으로 부품 간에 구리 트랙을 그립니다. (어려워...)
  5. 레이아웃이 시작된 후에 회로도를 업데이트해야 하는 경우가 종종 있습니다. 회로도 변경사항은 보드 설계로 쉽게 가져올 수 있습니다. 그 반대의 경우도 종종 발생합니다. 보드 레이아웃에서 이루어진 설계 변경사항을 회로도로 다시 보내 두 설계를 일관되게 유지할 수 있습니다.
  6. 보드 레이아웃이 완료되고 보드가 설계 규칙 검사(DRC)를 통과하면, PCB 제조업체에서 보드를 제조할 수 있도록 제조 출력물이 생성됩니다.

Tutorial Part 1: Project

새 디자인을 시작할 때 가장 먼저 해야 할 일은 새 프로젝트를 만드는 것입니다. 파일 → 새 프로젝트를 클릭해서 프로젝트를 생성해줍니다. 저는 led_blinker 라는 프로젝트를 만들었습니다.

왼쪽의 프로젝트 파일 창에는 새 프로젝트의 파일 목록이 표시됩니다. 확장자가 .kicad_pro인 프로젝트 파일, 확장자가 .kicad_sch인 회로도 파일, 확장자가 .kicad_pcb인 보드 파일이 있습니다. 이 파일들은 모두 같은 프로젝트 이름을 공유합니다.

-backups 디렉토리도 있을 수 있습니다. KiCad는 저장할 때 자동으로 프로젝트 백업을 생성하며, 선택적으로 고정된 시간 간격으로도 백업을 생성합니다. 백업 설정은 Preferences → Preferences → Common → Project Backup으로 이동하여 구성할 수 있습니다.


Tutorial Part 2: Schematic

심볼 라이브러리 테이블 설정

회로도 편집기를 처음 열면 전역 심볼 라이브러리 테이블을 구성하는 방법을 묻는 대화 상자가 나타납니다. 심볼 라이브러리 테이블은 KiCad에 어떤 심볼 라이브러리를 사용할 것인지와 그것들이 어디에 있는지를 알려줍니다.

KiCad와 함께 기본 라이브러리를 설치했다면(권장), 기본 옵션을 선택하십시오.

KiCad가 예상되는 설치 위치에서 라이브러리를 찾을 수 없는 경우 이 옵션이 비활성화됩니다. 이 경우 사용자는 두 번째 옵션인 "Copy custom global symbol library table"을 선택해야 합니다. 하단의 폴더 버튼을 클릭하고 아래에 제공된 위치로 이동하십시오. sym-lib-table 파일을 선택하십시오.

기본 라이브러리 테이블 파일의 위치는 운영 체제에 따라 다르며 설치 위치에 따라 달라질 수 있습니다. 다음은 각 운영 체제의 기본 위치입니다:

  • Windows: C:\Program Files\KiCad\9.0\share\kicad\template\
  • Linux: /usr/share/kicad/template/
  • macOS: /Applications/KiCad/KiCad.app/Contents/SharedSupport/template/

회로도 편집기 기본 사항

회로도 편집기를 처음 실행하면 이러한 화면이 나옵니다.

회로도를 이동하려면 마우스 가운데 버튼이나 오른쪽 버튼으로 클릭하고 드래그하면 됩니다. 마우스 휠이나 F1, F2로 확대/축소할 수 있습니다. 노트북 사용자는 터치패드에 맞게 마우스 제어 설정을 변경하면 편리하며, 이는 Preferences → Preferences… → Mouse and Touchpad에서 설정할 수 있습니다.

기본적으로 KiCad는 "Center and Warp Cursor on Zoom" 설정을 활성화합니다. 이 기능이 켜져 있으면 확대/축소 시 마우스 커서가 자동으로 화면 중앙으로 이동하여 확대/축소 영역이 항상 중앙에 유지됩니다. 이 기능은 독특하지만 익숙해지면 많은 사용자가 유용하다고 느낍니다.

기본 확대/축소 동작이 불편하면 Mouse and Touchpad 환경설정에서 기능을 비활성화할 수 있습니다.

회로도 편집기 화면 왼쪽의 도구 모음에는 기본 디스플레이 설정이 포함되어 있습니다. 화면 오른쪽의 도구 모음에는 회로도 편집 도구가 포함되어 있습니다.

KiCad의 대부분의 도구에는 기본 단축키가 지정되어 있거나, 사용자 지정 단축키를 지정할 수 있습니다. 모든 단축키를 보려면 도움말 → 단축키 목록…​을 클릭하세요.

회로도 시트 설정

회로도를 그리기 전에 회로도 시트를 설정하세요. "File → Page Settings"을 클릭하세요. 회로도에 제목과 날짜를 지정하고, 원하는 경우 용지 크기를 변경하세요.

위와 같이 설정해주면, 회로도 시트 하단에 보면 제목과 날짜, 개정 번호가 나와 있는 것을 알 수 있습니다.

회로도에 심볼 추가

회로도에 몇 가지 심볼을 추가하여 회로 만들기를 시작해봅시다. 화면 오른쪽 도구 모음에서 "심볼 배치(A)"를 통해 추가할 수 있습니다.

이 작업을 수행하면 이전에 표시되지 않았던 경우 풋프린트 라이브러리 테이블 설정 대화 상자가 나타납니다. 이 대화 상자는 앞서 설명한 심볼 라이브러리 테이블 설정 대화 상자와 동일하지만, 심볼 대신 풋프린트를 위한 것입니다.

첫번째 기본 옵션을 선택하면 됩니다. 이 옵션이 비활성화되어 있다면, 두 번째 옵션을 통해서 심볼 라이브러리 테이블 설정 지침에 제공된 위치로 이동해서 fp-lib-table 파일을 선택할 수 있습니다.

심볼 선택 대화 상자에는 사용 가능한 심볼 라이브러리와 그 안에 포함된 부품 심볼이 나열됩니다. 수동 부품, 다이오드 및 기타 일반 심볼과 같은 기본 장치는 Device 라이브러리에서 찾을 수 있습니다. 특정 LED와 같은 특정 장치는 다른 라이브러리에서 찾을 수 있습니다.

Device 라이브러리로 스크롤하여 확장한 다음 LED 심볼을 선택하십시오. 그런 다음 회로도에 심볼을 배치하십시오.

다음으로, 전류 제한을 위한 저항을 추가합니다. 다시 심볼 선택에 들어가서 R을 입력해서 검색해보세요. 역시 Device 라이브러리에서 찾을 수 있습니다. R은 IEC 스타일의 직사각형 저항 기호입니다. ANSI 스타일의 지그재그 기호를 선호하는 사용자는 R_US를 사용할 수 있습니다.

마지막으로 LED에 전원을 공급할 배터리를 추가하세요. Device 라이브러리에 Battery_Cell 라는 심볼이 있습니다.

심볼 선택 및 이동 (조작법)

심볼을 이동 시켜보겠습니다. 각 기호를 선택한 후 이동하고 회전하면 됩니다.

선택 도구가 활성화된 상태에서 객체를 클릭하면 선택됩니다. 다른 도구가 활성화되어 있지 않을 때는 선택 도구가 기본 도구로 사용됩니다. 만약 다른 도구가 활성화되어있다면 ESC를 통해 종료할 수 있습니다.

'Shift + Click' 을 하면 기존에 선택한 항목을 유지한 채, 새로운 항목을 추가로 선택할 수 있습니다. 'Ctrl + Click' 하면 이미 선택된 항목에서 특정 항목을 선택 해제할 수 있습니다.

드래그 선택도 가능합니다. 왼쪽에서 오른쪽으로 드래그하면 선택 상자로 완전히 둘러싸인 객체가 선택되고, 오른쪽에서 왼쪽으로 드래그하면 부분적으로 둘러싸인 객체도 선택됩니다. (아하). Shift, Ctrl 를 드래그 선택과 함께 사용하여 각각 선택 항목을 추가, 빼기 할 수 있습니다.

선택한 객체는 M키를 눌러 이동하고 R키를 눌러 회전합니다. G를 사용하여 객체를 이동할 수도 있습니다. 연결되지 않은 심볼을 이동할 때는 G와 M이 동일하게 동작하지만, 와이어가 연결된 심볼의 경우 G는 심볼을 이동하고 와이어는 연결된 상태를 유지하며, M은 심볼을 이동하고 와이어는 그대로 둡니다. (아하...)

심볼들을 아래와 같이 연결하기 쉽게 이쁘게 배치시켜줍니다.

회로도 배선

모든 심볼 핀에는 작은 원이 있는데, 이는 연결되지 않았음을 나타냅니다. 오른쪽 도구 모음에서 '선 그리기(W)'를 통해 와이어를 그려봅시다.

다음으로, 회로도에 전원 및 접지 기호를 추가합니다. 이렇게 간단한 회로도에서는 꼭 필요한 것은 아니지만, 큰 회로도인 경우 이해하기 쉽게 해줍니다. Power 심볼 라이브러리에는 다양한 전원 및 접지 심볼이 있습니다. 화면 오른쪽에 "전원 심볼 배치(P)"를 통해 쉽게 추가할 수 있습니다.

VCC 기호와 GND 기호를 추가한 후 전선을 이용해 회로에 연결합니다.

마지막으로 LED와 저항 사이의 전선에 라벨을 붙입니다. 간단한 회로에서는 필요하지 않을 수 있지만, 중요한 네트에는 라벨을 붙이는 것이 좋습니다. 오른쪽 도구 모음에서 "네트 라벨 배치(L)"을 클릭하고 라벨 이름(ex. led)를 입력한 후, 회로도 와이어와 겹치도록 라벨을 배치합니다. 필요에 따라 라벨을 회전하고 정렬할 수 있습니다.

같은 이름의 라벨이나 전원 심볼은, 선으로 연결하지 않아도 내부적으로 전기적으로 연결된 것으로 간주됩니다. (연결하려는 심볼이 서로 멀리 있는 경우 유용하게 사용됩니다)

주석, 심볼 속성, 풋프린트

#1. Annotation

여기서 번역을 주석이라고 했는데, Comment가 아니라 Annotation 입니다. 즉, 프로그래밍 주석이 아니라, 회로도의 각 심볼에 고유한 참조 지정자를 의미합니다. (예: R1, R2, C1, LED1 등)

기본적으로 심볼을 회로도에 추가하면 자동으로 고유 번호가 할당되며, 왼쪽 툴바의 "자동으로 주석 달기" 버튼으로 이 자동 할당 기능을 켜거나 끌 수 있습니다.

이 가이드에서는 필요하지 않지만 상단 도구 모음의 "회로도 주석 달기" 버튼으로 기호에 수동으로 주석을 달거나 주석을 다시 달 수 있습니다.

#2. Symbol Properties

심볼 속성은 각 구성 요소의 값을 의미합니다. 예를 들어, LED를 선택하고 마우스 오른쪽 버튼을 클릭한 후 속성(E)를 선택합니다(혹은 심볼을 더블클릭). 이 프로젝트에서는 빨간색 LED를 사용하므로 value 필드를 "red" 로 변경합니다.

실제 프로젝트에서는 여기에 LED 제조업체의 부품 번호를 입력하는 것이 더 나을 수 있습니다. 각 기호의 속성에서 참조 지정자를 개별적으로 편집할 수 있습니다.

이 프로젝트에서는 3V 리튬 코인 셀 배터리를 사용하므로 BT1의 value를 "3V"로, 저항 값을 "1k"로 변경하세요.

#3. Footprint Assignment

마지막으로, 각 부품에 풋프린트를 할당합니다. 이는 각 부품이 PCB에 어떻게 부착될지 정의합니다. 일부 심볼에는 풋프린트가 미리 할당되어 제공 됩니다. 부품에는 여러 개의 풋프린트가 있을 수 있으며 사용자는 적절한 풋프린트를 선택해야 합니다.

풋프린트를 할당하는 방법은 여러 가지 방법이 있지만, 가장 편리한 방법 중 하나는 상단 도구 모음에서 "풋프린트 할당" 버튼을 클릭하는 것입니다.

풋프린트 할당 창의 왼쪽에는 사용 가능한 풋프린트 라이브러리가 나열됩니다. 가운데 창에는 회로도의 심볼이 표시됩니다. 모든 심볼에는 풋프린트가 할당됩니다. 오른쪽 창에는 가운데 창에서 선택한 심볼에 대해 선택할 수 있는 풋프린트가 표시됩니다.

심볼에 풋프린트를 할당하려면 가운데 창에서 심볼을 선택하고 오른쪽 창에서 원하는 풋프린트를 두 번 클릭합니다. 풋프린트 이름을 마우스 오른쪽 버튼으로 클릭하고 "선택한 풋프린트 보기"를 선택하면 풋프린트를 미리 볼 수 있습니다.

KiCad에는 많은 풋프린트가 포함되어 있으므로 풋프린트 할당 도구는 해당 심볼과 관련 없는 풋프린트를 필터링하는 여러 가지 방법을 제공합니다.

  • 가장 왼쪽 버튼: 각 심볼에 정의할 수 있는 필터를 활성화합니다. 예를 들어, 연산 증폭기 심볼은 SOIC 및 DIP 풋프린트만 표시하는 필터를 정의할 수 있습니다. 이러한 정의된 필터가 없거나 너무 제한적인 경우가 있으므로, 경우에 따라 이 필터를 끄는 것이 유용할 수 있습니다.
  • 가운데 버튼: 핀 개수를 기준으로 필터링하여 8핀 기호에 대해 8개 패드의 풋프린트만 표시합니다. 이 필터는 거의 항상 유용합니다.
  • 오른쪽 버튼: 선택된 라이브러리를 기준으로 필터링합니다. 라이브러리는 왼쪽 창에서 선택되며, 선택된 라이브러리에 없는 풋프린트는 필터링되지 않습니다. 이 필터는 어떤 라이브러리가 올바른 풋프린트를 포함하는지 알고 있는 경우 유용합니다. (이 필터나 심볼 필터를 사용하는 것이 좋지만, 둘 다 사용하는 것은 좋지 않습니다)
  • 텍스트 상자는 상자 안의 텍스트와 일치하지 않는 풋프린트를 필터링합니다. 상자가 비어 있으면 이 필터는 비활성화됩니다.

필터를 사용하여 각 심볼에 대한 풋프린트를 찾아보세요. 아래 표에 나열되어있습니다.

심볼 참조할당한 풋프린트
BT1Battery:BatteryHolder_Keystone_1058_1x2032
D1LED_THT:LED_D5.0mm
R1Resistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P12.70mm_Horizontal

모든 풋프린트가 할당되면 확인을 클릭하세요.

🤔 풋프린트 할당할 때, 너무 선택지가 다양한데 선택할 때 꿀팁없을까?

  1. 가능하면 부품을 먼저 선택(또는 구매)하고 데이터시트를 확인하세요. 실제 부품의 패키지 명칭(SOT-23, TO-220, 0805 등)이 나와 있으면 그대로 검색합니다. 국내 쇼핑몰(디바이스마트 등)에서 부품 상세정보의 "패키지" 항목을 확인하면 정확한 풋프린트 타입을 알 수 있습니다.
  2. 일반적인 표준을 사용합니다. 저항/커패시터 THT는 R_Axial_P10.16mm, C_Disc_P7.5mm 가 가장 흔한 크기이고, 저항/커패시터 SMD는 0805 또는 1206이 직접 납땜하기 편합니다. 트랜지스터는 SOT-23(SMD), TO-92(THT)가 가장 흔합니다.
  3. 풋프린트 뷰어와 3D 뷰어 활용: 풋프린트 뷰어에서 검색창에 핵심 키워드만 입력에서 3D 뷰어를 켜고 실제 모양과 비교해보세요.

전기 규칙 검사 (ERC)

회로도에서 마지막으로 해야 할 일은 전기 오류를 확인하는 것입니다. KiCad의 전기 규칙 검사기(ERC)는 회로도의 설계가 제대로 작동하는지 확인할 수는 없지만 연결되지 않은 핀, 두 전원 출력의 단락, 전원이 공급되지 않는 전원 입력과 같은 일반적인 연결 문제를 확인할 수 있습니다. 또한 주석이 없는 기호나 회로 레이블의 오타와 같은 다른 오류도 확인합니다.

전기 규칙의 전체 목록을 보고 심각도를 조정하려면 "파일 → 회로도 설정 → 전기 규칙 → 위반 심각도"로 이동하세요.

상단 도구 모음에서 "전기 규칙 검사기(ERC)" 버튼을 클릭한 다음 ERC 실행을 클릭 하여 전기 규칙 검사를 실행합니다.

이 간단한 회로도에서도 KiCad는 두 가지 잠재적 오류를 발견했습니다.

오류는 ERC 창에 나열되어 있으며, 회로도에서는 화살표로 위반 위치를 가리킵니다. ERC 창에서 위반 사항을 선택하면 해당 화살표가 강조 표시됩니다.

각 오류 메시지를 마우스 오른쪽 버튼으로 클릭하여 개별 위반 사항을 제외하거나 전체 위반 사항을 무시할 수 있습니다. 하지만 설계 오류가 아니더라도 위반 사항을 해결하는 것이 좋습니다.

"Input Power pin not driven by any Output Power pins"... 회로에 전원을 받아야 하는 입력 전원 핀 (Input Power Pin) 은 있는데, KiCad 입장에서는 그 전원을 공급하는 출력 전원 핀 (Output Power Pin) 이 없다고 판단하는 상황입니다. 다. 사람 입장에서는 "배터리 연결돼 있으니 당연히 공급되지!" 하고 쉽게 이해되지만, KiCad는 배터리 → VCC로 연결됐다는 정보를 명시적으로 찾지 못하면 경고를 띄웁니다.

KiCad에서 이런 문제를 해결하기 위해 PWR_FLAG 특수 심볼을 제공합니다. 이 심볼을 VCC, GND 넷에 추가하고 다시 실행하세요. 이러면 KiCad이 “이건 공급되는 전원입니다” 라고 이해하게 됩니다. ERC가 위반 사항 없이 통과하면 회로도가 완성됩니다.

재료 목록

마지막 선택 단계는 프로젝트에 사용된 모든 구성 요소를 나열한 자재 명세서(BOM)를 생성하는 것입니다. "도구 → BOM 생성…" 을 클릭합니다.

KiCad에는 BOM 내보내기용 GUI가 있습니다. '편집' 탭 에서 내보낼 심볼 메타데이터와 심볼 그룹화 방식을 설정하고 , '내보내기' 탭 에서 출력 형식을 설정할 수 있습니다. 지금은 기본 설정 그대로 사용해도 괜찮지만, 미리보기 창에서 내보낼 원본 파일을 확인할 수 있습니다. '내보내기' 탭에서 출력 파일을 지정한 후 '내보내기' 버튼을 누르세요.

BOM은 스프레드시트 프로그램에서 열면 아래 이미지와 같이 표시됩니다.


Tutorial Part 3: PCB Board

회로도가 완성되면 프로젝트 창으로 돌아가서 PCB 편집기 버튼을 클릭하거나 보드 파일을 열어 PCB 편집기를 엽니다. PCB 편집기의 탐색 기능은 Schematic 편집기와 동일합니다.

PCB 편집기의 주요 부분은 보드를 설계할 캔버스입니다.

  • 왼쪽 도구 모음에는 트랙, 비아, 패드, 존의 윤곽선/채움 표시 모드에 대한 단위 및 토글을 포함하여 보드에 대한 다양한 표시 옵션이 있습니다.
  • 오른쪽 도구 모음에는 PCB 설계 도구가 있습니다.
  • 맨 오른쪽에는 모양 패널과 선택 필터가 있습니다. 모양 패널은 PCB 레이어, 객체 및 네트의 가시성, 색상 및 불투명도를 변경하는 데 사용됩니다. 활성 레이어는 레이어 이름을 클릭하여 변경합니다.
  • 모양 패널 아래에는 다양한 유형의 PCB 객체를 선택하거나 선택하지 않도록 설정하는 선택 필터가 있습니다. 이 필터는 복잡한 레이아웃에서 특정 항목을 선택하는 데 유용합니다.

보드 설정 및 스택업

보드를 디자인하기 전에 페이지 크기를 설정하고 제목을 작성하세요. "파일 → 페이지 설정…"을 클릭한 다음, 적절한 용지 크기를 선택하고 날짜, 수정 버전, 제목을 입력하세요.

다음으로, "파일 → 기판 설정…" 으로 이동하여 PCB 제조 방식을 정의합니다. 가장 중요한 설정은 스택업, 즉 PCB에 사용될 구리층과 유전체층(및 두께)과 설계 규칙(예: 트랙 및 비아의 크기와 간격)입니다.

스택업을 설정하려면 보드 설정 창의 "보드 스택업 → 물리적 스택업" 페이지를 엽니다. 이 가이드에서는 구리 층 수를 2개로 두지만, 더 복잡한 프로젝트에서는 더 많은 층이 필요할 수 있습니다.

다음으로, "설계 규칙 → 제약 조건" 페이지로 이동합니다. 이 페이지의 설정은 보드 설계의 모든 항목에 적용되는 우선 설계 규칙을 지정합니다. 이 가이드에서는 기본값을 사용해도 괜찮습니다. 하지만 실제 프로젝트에서는 PCB 설계가 제조 가능하도록 PCB 제조 업체의 역량에 맞게 설정해야 합니다.

마지막으로, "설계 규칙 → 네트 클래스" 페이지를 엽니다. 네트 클래스는 특정 네트 그룹과 관련된 설계 규칙 집합입니다. 이 페이지에는 설계의 각 네트 클래스에 대한 설계 규칙이 나열되어 있으며, 각 네트 클래스에 네트 클래스를 할당할 수 있습니다.

트랙 너비와 간격은 레이아웃 중에 설계자가 수동으로 관리할 수 있지만, 네트 클래스는 설계 규칙을 자동으로 관리하고 확인할 수 있는 방법을 제공하므로 권장됩니다.

이 설계에서는 네트 클래스가 지정되지 않았으므로 모든 네트가 Default 네트 클래스에 속합니다.

이 네트 클래스의 기본 설계 규칙은 이 프로젝트에 적용 가능하지만, 다른 설계에는 각각 다른 설계 규칙을 가진 여러 네트 클래스가 있을 수 있습니다. 예를 들어, 보드에 넓은 트랙을 가진 High Current 네트 클래스가 있거나, 50옴 제어 임피던스 트랙에 대한 특정 폭 및 간격 규칙이 있는 50 ohm 네트 클래스가 있을 수 있습니다. (오호...)

Schematic에서 변경 사항 가져오기

회로도는 완성되었지만 레이아웃에 아직 구성 요소가 없습니다. 회로도에서 레이아웃으로 설계 데이터를 가져오려면 "도구 → 회로도에서 PCB 업데이트…" 를 클릭 하거나 F8 키를 누릅니다.

"적용할 변경 사항"의 메시지를 읽어 보세요. 회로도의 세 가지 구성 요소가 보드에 추가된다는 내용입니다. "PCB 업데이트"를 클릭해서 세 개의 풋프린트를 배치합니다.

KiCad에서 회로도 변경 사항을 PCB에 반영하는 것은 수동 작업입니다. 설계자는 회로도 수정 사항을 PCB에 반영할 적절한 시기를 결정합니다. 회로도를 편집할 때마다 설계자는 "회로도에서 PCB 업데이트" 도구를 사용하여 회로도와 레이아웃의 동기화를 유지해야 합니다.

그러니까... 회로도가 메인이고 PCB를 업데이트 하는 구조네요. PCB 수정 다 했더니 회로도 수정 사항이 생겼으면 어쨌거나 회로도를 먼저 수정하고, PCB 업데이트 전에 어떤 부품이 삭제되거나 변경될지 확인하고 동기화를 시킵니다. PCB 수정 전에는 .kicad_pcb 파일을 백업해두는 습관이 중요합니다. 실수로 덮어씌워도 원상복구가 가능합니다.

보드 윤곽선 그리기

이제 세 개의 구성 요소가 배치되었지만, 보드 자체는 정의되지 않았습니다. "Edge.Cuts 레이어"에 보드 윤곽선을 그려 보드를 정의합니다. 보드 외곽선을 굵은 격자로 그리면 보드 크기에 맞는 정확한 숫자를 쉽게 얻을 수 있어 유용합니다. 캔버스 위의 격자 드롭다운 메뉴에서 1mm를 선택하여 굵은 격자로 전환하세요.

오른쪽 도구 모음에서 "사각형 도구"를 선택하고 캔버스를 클릭하여 첫 번째 모서리를 배치한 다음, 다시 클릭하여 반대쪽 모서리를 배치하여 사각형이 세 개의 풋프린트를 대략적으로 둘러싸도록 합니다. 다른 그래픽 도구(선, 호, 원, 다각형, 베지어 또는 이들의 조합)를 사용하여 보드 외곽선을 정의할 수도 있습니다. 유일한 요구 사항은 외곽선이 서로 교차하지 않는 단일 닫힌 모양이어야 한다는 것입니다.

풋프린트 배치

레이아웃 과정의 다음 단계는 보드에 풋프린트를 배치하는 것입니다. 일반적으로 풋프린트 배치 시 몇 가지 고려 사항이 있습니다.

  • 일부 풋프린트에는 커넥터, 표시기(LED 등) 또는 버튼과 스위치와 같이 위치에 대한 정확한 요구 사항이 있을 수 있습니다.
  • 일부 부품은 전기적 고려 사항에 따라 배치해야 할 수 있습니다. 바이패스 커패시터는 관련 IC의 전원 핀에 가깝게 배치해야 하며, 민감한 아날로그 부품은 디지털 간섭으로부터 멀리 떨어져 있어야 합니다.
  • 거의 모든 구성 요소에는 "Courtyard(=안뜰)"이 있습니다. 일반적으로 안뜰은 서로 교차해서는 안 됩니다.
  • 라우팅이 용이하도록 구성 요소를 배치해야 합니다. 연결된 구성 요소는 일반적으로 서로 가까이 배치하고 라우팅 복잡성을 최소화하도록 배열해야 합니다. Ratsnest(래츠네스트)는 다른 풋프린트와 비교하여 풋프린트를 가장 효과적으로 배치하는 방법을 결정하는 데 유용합니다.

🎯 참고. "Courtyard(안뜰)" 개념

Courtyard는 각 부품이 PCB 위에서 실제로 차지하는 물리적 영역을 표시한 경계선입니다 (앞면/뒷면 각각 정의 가능). 부품 조립 시 필요한 최소 여유 공간을 확보하기 위한 것으로, 부품 본체보다 약간 큰 영역으로 설정됩니다. 두 부품의 Courtyard가 겹치면 안 된다는 규칙은 부품들이 물리적으로 충돌하거나 조립 시 간섭이 발생하지 않도록 하기 위한 설계 검증 기준입니다.

🎯 참고. Ratsnest(래츠네스트) 개념

Ratsnest는 아직 배선되지 않은 패드들 간의 논리적 연결을 보여주는 얇은 가상 선입니다 (회로도의 연결 정보를 시각화). 마치 거미줄처럼 보인다고 해서 ratsnest라는 이름이 붙었습니다. 부품을 이동하면 ratsnest 선도 함께 움직이며, 어떤 패드끼리 연결되어야 하는지 실시간으로 보여줍니다. 이 선들이 짧고 단순하게 배치되도록 부품 위치를 조정하면, 실제 배선(트랙)도 짧고 깔끔하게 그을 수 있어서 최적의 레이아웃을 찾는데 유용합니다.


이 가이드의 목적상 유일한 배치 목표는 라우팅 프로세스를 가능한 한 단순하게 만드는 것입니다.

BT1 배터리 홀더를 보드 뒷면으로 옮겨 보세요. 클릭해서 선택한 다음, M을 눌러서 옮깁니다. F를 눌러 반대쪽으로 뒤집으면, 이제 배터리 홀더가 거울처럼 보이고 패드 색상이 빨간색에서 파란색으로 바뀌었습니다. (헉..!)

모든 PCB 레이어는 보드 전면에서 보입니다. 따라서 보드 하단의 풋프린트는 위아래가 뒤집혀 거울에 비친 것처럼 보입니다.

각 PCB 레이어는 고유한 색상을 가지며, 이는 모양 패널의 레이어 탭에 있는 견본으로 표시됩니다. 예를 들어, F.Cu (Front Copper) 레이어의 항목은 빨간색, B.Cu(Back Copper) 레이어의 항목은 파란색입니다.

이제 나머지 두 구성 요소를 배치합니다. 한 번에 하나씩 각 구성 요소를 선택한 다음 M 및 R를 사용하여 이동하고 회전합니다. 각 패드 사이의 랫츠네스트 라인을 확인하여 구성 요소를 가장 간단하게 배치하는 방법을 선택합니다. 잘 배치하면 라인이 엉키지 않습니다.

라우팅 트랙

구성 요소가 제자리에 있으면 이제 패드를 구리 트랙에 연결할 차례입니다. 첫 번째 트랙은 보드의 앞면에 그려지므로 모양 패널의 레이어 탭에서 활성 레이어를 F.Cu로 변경합니다.

오른쪽 도구 모음에서 트랙 경로를 클릭 하거나 X 를 누릅니다. D1 패드의 led를 클릭하고 래츠네스트 선은 R2 패드의 led 에 라우팅되지 않은 연결이 있음을 나타내므로, 해당 패드를 클릭하여 두 패드를 연결하는 트랙을 그립니다. 두 번째 패드를 클릭하면 트랙이 완성됩니다. 핀 사이의 래츠네스트 선은 구리로 연결되었으므로 더 이상 그려지지 않습니다.

이제 보드 뒷면 BT1의 GND 패드부터 시작하여 D1 패드 사이의 트랙을 그립니다.

그 전에, BT1 부품은 PCB 뒷면에만 있는 표면 실장 패드에 연결되어 있습니다. 즉, SMD 부품이라는 뜻이죠. 반면에, D1 부품은 양면에 연결 가능한 스루홀(Through Hole) 패드를 사용합니다. 스루홀은 여러 레이어를 전기적으로 연결할 수 있는 방법 중 하나입니다. 이 경우 D1은 보드 전면에 있는 부품이지만, 스루홀 패드이기 때문에 보드 후면의 트랙에 연결할 수 있습니다.

레이어를 연결하는 또 다른 방법은 비아(via) 를 사용하는 것입니다. PCB 뒷면(B.Cu)에 있는 BT1의 VCC 핀에서 배선을 시작합니다. BT1과 R1 사이쯤에서 키보드 V를 눌러 비아를 추가하면, 자동으로 PCB 앞면(F.Cu)으로 레이어가 전환됩니다. 즉, 배선이 뒷면 → 앞면으로 넘어갑니다. 그리고 PCB 앞면에서 R1의 VCC 핀까지 배선을 이어서 마무리하면 됩니다.

모든 연결이 라우팅되었습니다. 창 왼쪽 하단의 상태 화면에서 라우팅되지 않은 네트의 수가 0으로 표시되어 이를 확인할 수 있습니다.

구리 영역 배치

"Copper zone"은 특정 Net에 연결되는 넓은 구리 영역입니다. 영역은 동일한 망에 속하는 구리 객체에 자동으로 연결되고 다른 망에 속하는 객체는 피합니다. 영역은 트랙보다 낮은 임피던스 연결을 제공하기 때문에 접지 및 전원 연결에 자주 사용됩니다.

Bottom 레이어로 전환하고 오른쪽 툴바에서 Add filled zone (구리 영역 추가) 아이콘을 클릭합니다.

PCB를 클릭하여 영역의 첫 번째 모서리를 배치합니다. '구리 영역 속성' 대화 상자에서 GND 네트를 선택하고 B.Cu 레이어가 선택되었는지 확인하세요.

이후, 나머지 꼭짓점 클릭해서 영역 그리기. 마지막 꼭짓점은 더블 클릭. Zone이 완성되며 자동으로 연결됩니다.

캔버스에 영역 윤곽선이 표시되지만, 영역은 아직 채워지지 않았습니다. 영역에 구리가 없으므로 전기 연결이 이루어지지 않습니다. "편집 → 모든 영역 채우기 (B)" 를 사용하여 영역을 채웁니다. 구리가 영역에 추가되었지만 LED, VCC 패드 또는 트랙은 연결되지 않고 가장자리에 잘립니다. 즉, 같은 네트(GND)의 패드만 자동으로 연결되고 다른 네트(VCC, LED 등)는 피해서 채워집니다.

Thermal Relief는 패드와 구리 영역을 직접 붙이지 않고 얇은 선(스포크) 몇 개로만 연결하는 방식입니다. 열 차단 효과로 납땜 시 열이 빨리 빠져나가지 않아 작업이 쉬워집니다. 쉽게 말하면, GND 같은 전원 면을 깔 때 패드에 "X자 형태"로 연결하면 납땜하기 편하다는 뜻입니다.

🤔 패드와 구리 영역을 직접 붙이지 않고 얇은 선(스포크) 몇 개로만 연결하면 납땜 작업이 쉬어진다고요?

직접 붙이면 큰 구리 영역이 "히트싱크" 역할을 해서 납땜 인두의 열을 빨리 빼앗아갑니다. 열이 빠르게 빠져나가면 패드가 충분히 가열되지 않아 납이 제대로 녹지 않고, 불량 납땜(cold joint)이 발생하거나 부품이 떨어질 수 있습니다. 얇은 스포크 연결은 열 전도를 제한해서 패드에 열이 머물게 하여 납이 잘 녹고 빠르게 납땜할 수 있게 해주지만, 전기는 충분히 잘 통합니다.

아래 이미지를 보면 GND 부분이 십자가 표시로 되어있는데 이게 "Thermal Relief"를 말하는거 같네요.

때로는 채워진 영역으로 인해 복잡한 보드 디자인에서 다른 객체를 보기 어려울 수 있습니다. 왼쪽 도구 모음의 "영역 경계만 표시" 버튼을 사용하여 경계를 제외한 영역을 숨길 수 있습니다. 윤곽선만 표시된 영역은 채워진 상태를 유지합니다.

모양 패널을 사용하여 영역을 투명하게 만들 수도 있고, 모양 패널의 레이어 표시 옵션을 사용하여 비활성화된 레이어를 숨기거나 어둡게 할 수도 있습니다.

설계 규칙 검사

설계 규칙 검사(DRC)는 회로도에 대한 전기 규칙 검사와 동일한 레이아웃 검사입니다. DRC는 회로도와 레이아웃 간의 불일치, 구리 영역의 여유 공간이 부족하거나 서로 단락된 부분, 그리고 아무 것과도 연결되지 않은 트랙과 같은 설계 오류를 검사합니다. 사용자 지정 DRC 규칙을 작성할 수도 있습니다.

검사 대상 설계 규칙의 전체 목록을 보고 심각도를 조정하려면 "파일 → 보드 설정… → 설계 규칙 → 위반 심각도" 로 이동하세요. 제조 출력을 생성하기 전에 DRC를 실행하고 모든 오류를 수정하는 것이 좋습니다.

"검사 → 디자인 규칙 검사기"를 사용하거나 상단 도구 모음의 버튼을 사용하여 DRC 검사를 실행하세요. DRC 실행을 클릭하세요. 검사가 완료되면 오류나 경고가 보고되지 않습니다. DRC 창을 닫으세요.

3D 뷰어

KiCad는 PCB 검사에 유용한 3D 뷰어를 제공합니다. "보기 → 3D 뷰어"를 선택하여 3D 뷰어를 엽니다. 마우스 가운데 버튼으로 위치를 이동시키고, 마우스 왼쪽 버튼으로 궤도를 바꿔볼 수 있습니다. 상단의 LED와 저항, 하단의 배터리 홀더를 확인해봅니다.

레이트레이싱(Raytracing) 모드를 사용할 수 있으며, 속도는 느리지만 더욱 정확한 렌더링을 제공합니다. "환경 설정 → 레이트레이싱"에서 레이트레이싱 모드로 전환하세요.

🎯 레이트레이싱(Raytracing) 모드가 뭐야?

PCB 3D 뷰어의 고품질 렌더링 모드로, 빛의 경로를 시뮬레이션해서 현실적인 반사, 그림자, 재질감을 표현합니다. 일반 OpenGL 모드보다 훨씬 사실적인 시각화를 제공하지만, 계산량이 많아서 렌더링 속도가 느립니다. 완성된 PCB의 최종 모습을 확인하거나 프레젠테이션용 이미지를 만들 때 유용하며, 실제 설계 작업 시에는 빠른 OpenGL 모드를 주로 사용합니다

제작 출력

보드 설계가 완료되면 마지막 단계는 보드를 제조할 수 있도록 제작 출력물을 생성하는 것입니다. "파일 → 플롯…"을 선택하여 플롯 대화 상자를 엽니다. 이 대화 상자에서는 여러 형식으로 설계를 플롯할 수 있지만, 일반적으로 PCB 제조업체에 주문할 때는 Gerber 형식이 적합합니다.

플롯된 파일이 폴더에 저장될 수 있도록 출력 디렉터리를 지정하세요. 필요한 모든 레이어가 선택되었는지 확인하세요. 구리 레이어(*.Cu), 보드 아웃라인(Edge.Cuts), 솔더 마스크(*.Mask), 실크스크린(*.Silkscreen)이 포함됩니다. 페이스트 레이어(*.Paste)는 솔더 페이스 스텐실 제작에 유용합니다. 접착 레이어(*.Adhesive)는 조립 과정에서 부품을 보드에 접착할 경우에만 필요합니다. 다른 레이어도 플롯에 유용할 수 있지만, 일반적으로 PCB 제작에는 필요하지 않습니다.

🤔 무슨 레이이가 좀 많은데... 각각 설명 좀 해주라...

  • 솔더 마스크(.Mask): 구리 표면을 보호하는 초록색(또는 다른 색) 코팅으로, 패드 부분만 구멍이 뚫려서 그곳만 납땜할 수 있게 합니다.
  • 실크스크린(.Silkscreen): PCB 표면에 흰색(또는 다른 색)으로 인쇄되는 텍스트와 기호로, 부품 이름, 값, 극성 표시 등이 표시됩니다
  • 페이스트 레이어(.Paste): SMT(표면실장) 부품 자동 조립 시 솔더 페이스트(납 크림)를 바를 위치를 정의하는 스텐실 제작용 레이어입니다.
  • 접착 레이어(.Adhesive): 웨이브 솔더링(wave soldering) 전에 부품을 PCB에 임시로 고정하기 위한 접착제를 바를 위치를 정의하는 레이어입니다.

🤔 음... 그러면 손으로 납땜할 거면 페이스트 레이어, 접착 레이어는 필요 없겠네?

네. 맞습니다. 수동 납땜이나 THT(Through-Hole) 부품만 사용하는 DIY/프로토타입 프로젝트라면 페이스트와 접착 레이어는 필요 없습니다. 솔더 마스크와 실크스크린은 여전히 필요합니다. 대부분의 풋프린트에 이 레이어들이 기본으로 정의되어 있어도, 제조 시 사용하지 않으면 무시되므로 삭제할 필요는 없습니다.

결론. 손으로 납땜할 거면 페이스트/접착은 무시해도 OK, 하지만 있어도 문제는 없습니다. (아하)


"Plot"을 클릭하여 Gerber 파일을 생성합니다. "Generate Drill Files…"를 클릭한 다음, 보드에 드릴링할 모든 구멍의 위치를 지정하는 파일을 생성합니다. 마지막으로 "Plot" 대화 상자를 닫습니다. 설계가 완료되었습니다.


Tutorial Part 4: Custom Symbols and Footprints

LED를 켜고 끄는 스위치를 추가하면 회로가 개선될 것입니다. 이 스위치를 추가하는 과정에는 스위치 심볼을 그리고, 스위치 풋프린트를 만드는 과정이 필요합니다. 이 가이드에서 사용할 특정 스위치는 SPST 토글 스위치인 "NKK M2011S3A1W03" 입니다. 다른 스위치도 사용할 수 있지만, 핀 번호와 풋프린트 크기를 조정해야 할 수도 있습니다.

💻 참고: https://www.nkkswitches.com/pdf/MtogglesBushing.pdf

라이브러리 및 라이브러리 테이블 기본 사항

심볼과 풋프린트는 라이브러리로 정리됩니다. KiCad는 사용자의 심볼 라이브러리와 풋프린트 라이브러리를 각각 심볼 라이브러리 테이블풋프린트 라이브러리 테이블에 기록합니다. 운영체제 별로 위치는 다음과 같습니다.

  • Windows: %APPDATA%\kicad\9.0\sym-lib-table and %APPDATA%\kicad\9.0\fp-lib-table
  • Linux: ~/.config/kicad/9.0/sym-lib-table and ~/.config/kicad/9.0/fp-lib-table
  • macOS: ~/Library/Preferences/kicad/9.0/sym-lib-table and ~/Library/Preferences/kicad/9.0/fp-lib-table

전역 심볼 및 풋프린트 라이브러리 테이블 외에도 프로젝트 라이브러리 테이블이 있습니다. 전역 테이블에 추가된 심볼과 풋프린트는 모든 프로젝트에서 사용할 수 있는 반면, 프로젝트별 테이블의 심볼과 풋프린트는 해당 프로젝트에서만 사용할 수 있습니다. 사용자는 전역 라이브러리 테이블 또는 프로젝트별 테이블에 자신의 라이브러리를 추가할 수 있습니다.

심볼 라이브러리 테이블은 회로도 편집기 또는 심볼 편집기 창에서 "환경 설정 → 심볼 라이브러리 관리…" 를 통해 확인하거나 편집할 수 있습니다. 풋프린트 라이브러리 테이블은 보드 편집기 또는 풋프린트 편집기에서 "환경 설정 → 풋프린트 라이브러리 관리…" 를 통해 확인하거나 편집할 수 있습니다. 두 라이브러리 테이블 모두 프로젝트 관리자에서도 접근할 수 있습니다.

라이브러리 경로는 경로 대체 변수로 정의되는 경우가 많습니다. 이를 통해 사용자는 라이브러리 테이블을 수정하지 않고도 모든 라이브러리를 새 위치로 이동할 수 있습니다. 변경해야 할 사항은 새 위치를 가리키도록 변수를 다시 정의하는 것뿐입니다. KiCad의 경로 대체 변수는 프로젝트 관리자 또는 편집기 창에서 "환경 설정 → 경로 구성…" 을 통해 편집할 수 있습니다.

유용한 경로 대체 변수 중 하나는 "${KIPRJMOD}"입니다. 이 변수는 항상 현재 프로젝트 디렉터리를 가리키므로 프로젝트 디렉터리에 저장된 프로젝트별 라이브러리를 포함하는 데 사용할 수 있습니다.

전역 또는 프로젝트 라이브러리 만들기

새 심볼이나 풋프린트를 그리는 첫 번째 단계는 저장할 라이브러리를 선택하는 것입니다. 이 가이드에서는 스위치 심볼과 풋프린트를 새 프로젝트별 라이브러리에 저장합니다.

"도구 → 심볼 편집기"를 통해 심볼 편집기를 엽니다. "파일 → 새 라이브러리"를 클릭 하고 프로젝트를 선택합니다.

새 라이브러리의 이름(예: getting-started.kicad_sym)을 선택하고 프로젝트 디렉터리에 저장합니다. 왼쪽의 라이브러리 창에서 비어 있는 새 라이브러리가 선택되어 프로젝트 라이브러리 테이블에 자동으로 추가되었습니다.

"환경 설정 → 심볼 라이브러리 관리…" 에서 프로젝트별 라이브러리 탭을 확인하세요.

새 심볼 만들기

이제 새 라이브러리에 스위치 심볼을 만듭니다. getting-started 라이브러리 창에서 라이브러리를 선택하고 "파일 → 새 심볼…" 을 클릭합니다. 심볼 이름 필드에 M2011S3A1W03 부품 번호를 입력합니다. 스위치 심볼에는 SW로 시작하는 참조 지정자가 있어야 하므로 기본 참조 지정자 필드를 SW로 변경합니다. 다른 모든 필드는 기본값으로 유지해도 됩니다.

라이브러리 창에서 getting-started 라이브러리 아래에 M2011S3A1W03 가 나타납니다. 캔버스에서 십자 표시는 외곽선의 중심을 나타내며, 참조 지정자를 위한 텍스트가 추가되었습니다. 지금은 텍스트를 심볼 중심에서 옮겨서 표시를 방해하지 않도록 하세요.

#1. 심볼 핀

핀을 추가하여 기호를 그리기 시작합니다. 오른쪽 도구 모음에서 '핀 추가' 버튼을 클릭합니다.

이 기호에는 핀 1이 없으므로 핀 번호 2로 시작합니다. '핀 속성' 대화 상자가 나타납니다. 다음과 같이 핀 속성을 설정합니다.

🤔 핀 1이 없다는게 무슨 의미인가요?

모든 부품이 핀 번호를 1부터 시작하는 것은 아닙니다 - 데이터시트에 따라 핀 번호가 2, 3, 4... 또는 A1, B1... 등으로 시작할 수 있습니다. 이 특정 부품은 실제 물리적으로 핀 1이 존재하지 않고 핀 2부터 시작하는 것으로, 데이터시트의 핀 번호를 그대로 따라야 합니다. Mouser 에서 해당 부품 > PCB 심볼을 확인해보면 정말로 1이 아니라 2, 3 부터 시작하네요. - 참고

🤔 전기 유형: 수동(Passive)는 무슨 의미인가요?

핀의 전기적 특성을 정의하는 것으로, Passive는 저항/커패시터/인덕터 같은 수동 소자의 핀을 의미합니다 (전류 방향이 자유롭고 능동 제어 없음). Passive는 "방향 상관없이 전류가 흐르는 수동 소자"입니다. ERC(Electrical Rule Check) 검사 시 사용되며, 예를 들어 Output끼리 직접 연결되면 경고하지만 Passive끼리는 문제없다고 판단합니다. 올바른 타입 설정이 회로 검증에 중요합니다.


확인을 클릭한 후 캔버스를 클릭하여 핀을 배치합니다.

다음으로, 두 번째 핀을 추가하세요. 하지만 이번에는 '핀 추가' 도구를 사용하지 마세요. 대신 Insert를 누르세요. 3번 핀이 2번 핀 바로 아래, 기호에 추가됩니다. (응? 안되는데. 그냥 복붙해...) 이번에는 위치를 X: 200 으로 해줍니다. 나머지 설정은 그대로입니다.

#2. 그래픽 기능

핀을 배치한 후, 원 및 선 도구를 이용하여 심볼을 SPST 스위치처럼 보이게 합니다. 이 단계에서는 더 미세한 격자로 전환하는 것이 유용합니다. 캔버스를 마우스 오른쪽 버튼으로 클릭하고 격자 하위 메뉴에서 더 작은 격자를 선택합니다.

심볼의 그래픽 요소(원, 선 등)는 세밀한 그리드에서 그려서 외형을 예쁘게 만들 수 있지만, 작업 후에는 다시 50 mil 그리드로 돌아와야 합니다. 핀은 반드시 50 mil (1.27mm) 그리드에 정확히 배치해야 하며, 이것이 KiCad의 표준 연결 그리드입니다.

회로도에서 와이어(배선)도 50 mil 그리드를 기준으로 그려지기 때문에, 핀이 이 그리드에 맞지 않으면 와이어가 핀에 제대로 연결되지 않는 문제가 발생합니다.

#3. 심볼 속성

심볼 편집기 상위 구성 툴바에서 심볼 속성 클릭. 값 필드를 M2011S3A1W03로 변경하고 키워드 필드에 "spst switch toggle" 를 추가하여 검색을 통해 심볼을 더 쉽게 찾을 수 있도록 합니다. 이 심볼의 경우 핀 이름은 유용한 정보를 제공하지 않으므로, 핀 이름 표시 체크를 해제하여 심볼을 시각적으로 더 간결하게 만듭니다.

새 풋프린트 만들기

풋프린트 편집기를 열고 "파일 → 새 라이브러리…" 에서 getting-started.pretty 라는 이름의 새 프로젝트별 풋프린트 라이브러리를 만듭니다. 심볼 라이브러리와 마찬가지로 새 풋프린트 라이브러리가 프로젝트 라이브러리 테이블에 추가됩니다.

상단 도구 모음의 "풋프린트 속성" 버튼을 클릭하여 다음 속성을 설정합니다.

  • Footprint name: Switch_Toggle_SPST_NKK_M2011S3A1x03
  • Value: Switch_Toggle_SPST_NKK_M2011S3A1x03
  • Component type: Through hole

#1. 풋프린트 패드

스위치에는 데이터시트에 2번과 3번으로 번호가 매겨진 두 개의 핀이 있으며, 핀 사이의 간격은 4.7mm입니다. 설치 편의를 위해 그리드를 패드 간격에 맞게 조정하십시오. 왼쪽 도구 모음의 "그리드 표시" 버튼을 마우스 오른쪽 버튼으로 클릭하고 "그리드 편집…"을 선택하여 그리드 설정을 엽니다.

하단의 더하기 버튼을 사용하여 새 그리드를 추가합니다. 새 그리드의 X축 크기를 4.7 mm 로 설정합니다.

캔버스로 돌아간 다음, 상단 도구 모음의 그리드 드롭다운 메뉴에서 새 그리드가 선택되어 있지 않으면 새 그리드를 선택합니다.

일반적으로 스루홀 풋프린트는 핀 1이 (0,0) 위치에 있으며, 핀 1이 왼쪽 위를 향하도록 배치됩니다. 하지만 이 스위치의 SPST 버전에는 핀 1이 없으므로 풋프린트에서 (0,0) 위치는 비워지고 패드 2와 3이 각각 (0, 4.7 mm), (0, 9.4 mm) 위치에 배치 할 겁니다. KiCad의 기본 좌표계에서 +Y축은 아래쪽을 향한다는 점에 유의하십시오.

오른쪽 도구 모음에서 '패드 추가' 도구를 사용하여 원점에서 한 칸 아래 (0, 4.7 mm)에 패드를 배치합니다. Esc를 눌러 패드 도구를 종료한 다음, 패드를 두 번 클릭하여 속성을 편집합니다. 패드 번호를 2로 변경하고 위치가 올바른지 확인합니다.

스위치 핀의 크기는 1.17mm x 0.8mm이므로 대각선 길이(핀의 최대 크기)는 1.42mm입니다. 따라서 구멍 직경을 1.42mm + 0.2mm(여유) = 1.62 mm 로, 패드 직경을 1.62mm + 2 * 0.15mm(양쪽 테두리) = 1.92 mm 로 설정하여 충분한 환형 공간을 확보합니다.

🎯 THT 패드의 홀/패드 크기 계산 방법

  • 홀 직경 = 핀 대각선 + 여유(0.2mm): 사각 핀(1.17×0.8mm)의 대각선 1.42mm가 최대 치수이므로, 핀이 회전해도 쉽게 들어가도록 0.2mm 여유를 더합니다 (= 1.62mm)
  • 패드 직경 = 홀 직경 + 양쪽 테두리(2×0.15mm): 홀 주변에 구리 링(annular ring)이 최소 0.15mm씩 남아야 납땜이 가능하고 제조 공차에도 안전합니다. Annular ring은 드릴링 오차가 있어도 구리가 남아있도록 하는 안전 여유로, 너무 작으면 제조 시 구리가 끊어질 수 있습니다

쉽게 말하면, 핀이 들어갈 구멍 + 여유 → 구멍 주변 납땜할 구리 테두리 확보 순서로 계산합니다.


다시 '패드 추가' 도구를 사용하여 다른 패드를 (0, 9.4 mm) 위치에 배치합니다. 패드 번호가 자동으로 증가하고 패드 크기 및 구멍 크기를 포함한 속성이 이전 패드에서 복사되는 것을 확인할 수 있습니다.

두 패드를 모두 배치한 후 살펴보니, 링 모양 부분이 약간 작아 보입니다. 링 크기를 키우면 스위치 납땜이 더 쉬워지고 기계적 강도도 향상됩니다. 패드 2를 편집하여 패드 크기를 1.62mm + 2 * 0.3mm = 2.22 mm 로 변경함으로써 링 두께를 0.15mm에서 0.3mm로 늘리십시오. 패드 크기 필드는 수식을 허용하므로 1.62+2*0.3 을 직접 입력해도 됩니다.

다른 패드에도 동일한 수정 작업을 수행하십시오. 바로 가기를 사용하려면 패드 2를 마우스 오른쪽 버튼으로 클릭하고 " 패드 속성을 다른 패드로 푸시…"를 클릭한 다음 "현재 풋프린트의 패드 변경"을 클릭하십시오.

#2. 풋프린트 그래픽스

좋은 풋프린트는 제작 레이어(F.Fab)에 정확한 부품 윤곽선이 그려져 있고, 실크스크린 레이어(F.Silkscreen)에는 약간 더 큰 윤곽선이 그려져 있으며, 다른 풋프린트와의 겹침을 방지하기 위해 전체 풋프린트를 둘러싸는 F.Courtyard 이 있습니다.

오른쪽 레이어 패널에서 F.Fab을 클릭하면 전면 제작 레이어로 전환됩니다. 제작 윤곽선은 부품의 실제 치수(폭 7.9mm, 높이 13mm)와 정확히 일치해야 합니다. 아래 스크린샷과 같이 선, 사각형 또는 다각형 도구를 사용하여 부품의 윤곽선을 그립니다. 윤곽선을 정확하게 배치하는 한 가지 방법은 패드에서 했던 것처럼 올바른 X 및 Y 간격을 가진 새 그리드를 만드는 것입니다.

그리드 간격과 원점을 다음과 같이 설정하십시오.

  • X 그리드: 7.9 mm
  • Y 그리드: 13 mm
  • X 원점: 7.9 mm / 2 = 3.95 mm
  • Y 원점: 4.7 mm - (13 mm / 2) = -1.8 mm.

음... 그러니까 설정을 아래와 같이 해줍니다. 크기를 먼저 설정하고요. 중심을 (0, 4.7)로 설정하면 나머지는 알아서 적용됩니다. (아... 여기서 제가 실수한게 있네요. F.Fab를 선택해줘야 합니다... )

완성된 제작 도면은 아래와 같으며, 모서리 좌표가 표시되어 있습니다.

다음으로 F.Silkscreen 레이러로 전환합니다. 실크스크린 윤곽선이 부품 윤곽선 바로 바깥쪽에 오도록 하려면, 실크스크린 선은 제작 레이어의 선보다 0.11mm 바깥쪽으로 그려야 합니다 (참고로, 0.11mm는 제작 선 너비 0.10mm의 절반에 실크스크린 선 너비 0.12mm의 절반을 더한 값입니다).

  • X grid: 7.9 mm + 2 * 0.11 mm = 8.12 mm
  • Y grid: 13 mm + 2 * 0.11 mm = 13.22 mm
  • X origin: 8.12 mm / 2 = 4.06 mm
  • Y origin: -1.8 mm - 0.11 mm = -1.91 mm

설정은 다음과 같이 해주면 됩니다.

마지막으로 F.Courtyard 레이어를 선택합니다. Courtyard 윤곽선이 0.25mm의 간격을 두고 부품을 둘러싸도록 하려고 합니다. 풋프린트를 대략적으로 둘러싸는 직사각형을 그립니다. 직사각형을 선택하고 'E' 속성 편집을 클릭한 다음 직사각형의 모서리 좌표를 직접 입력합니다. 모서리 좌표는 다음과 같습니다.

  • Top left: (-4.2, -2.05)
  • Bottom right: (4.2, 11.45)

윤곽선을 완성한 후 아래 그림과 같이 텍스트를 배치하세요. 이제 기본 틀이 완성되었습니다.

고품질 심볼 및 풋프린트 라이브러리를 유지하기 위해 KiCad는 심볼과 풋프린트에 대한 지침인 KiCad 라이브러리 규칙(KLC) 문서를 제공합니다. 개인 라이브러리의 경우 이 규칙을 반드시 따라야 하는 것은 아니지만, 좋은 출발점이 될 수 있습니다. 공식 라이브러리의 풋프린트와 심볼은 KLC를 준수해야 합니다.

회로도에 스위치 추가

이제 풋프린트 작업이 완료되었으므로, 스위치 심볼을 수정하여 해당 풋프린트가 기본적으로 사용되도록 할 수 있습니다.

심볼 편집기로 돌아가서 스위치 심볼을 엽니다. 심볼 속성을 편집합니다. Footprint 필드를 클릭한 다음 나타나는 라이브러리 책 아이콘을 클릭합니다. 프로젝트 풋프린트 라이브러리로 이동하여 스위치 풋프린트를 두 번 클릭합니다. 심볼을 저장합니다.

이제 스위치 풋프린트가 이 심볼에 기본적으로 할당되므로, 심볼을 회로도에 추가할 때마다 풋프린트를 수동으로 선택할 필요가 없습니다.

회로도를 열고 새 기호를 추가한 다음 새 스위치 심볼를 선택합니다. LED와 배터리를 연결하거나 분리하도록 배선합니다.

레이아웃에 스위치 추가

회로도를 저장한 다음 보드 편집기를 열어 레이아웃에 심볼을 추가합니다. 회로도에서 "도구 → PCB 업데이트…"를 사용하여 회로도 변경 사항으로 PCB를 업데이트하고 그림과 같이 스위치 풋프린트를 보드에 배치합니다. 필요한 경우 보드 외곽선과 구리 영역의 크기를 조정합니다. (구리 영역의 크기를 조정하면 영역이 비어 있게 되지만, 필요에 따라 'B'로 다시 채울 수 있습니다)

배선이 복잡하게 얽혀 있는 것을 보면 새로 연결해야 할 부분들을 알 수 있습니다. 배터리와 저항 사이의 연결은 삭제해야 합니다.

먼저 불필요한 트랙을 삭제합니다. 배터리와 저항 사이의 트랙 중 하나를 선택합니다. U 버튼을 여러 번 눌러 선택 영역을 확장하여 배터리와 저항 사이의 모든 세그먼트를 포함하도록 합니다. Delete 버튼을 눌러 연결을 제거합니다.

배터리와 스위치 사이, 그리고 스위치와 저항기 사이에 새로운 트랙을 연결하세요. B 버튼을 눌러 영역을 다시 채우세요. 마지막으로, 수정된 보드가 설계 규칙을 위반하지 않는지 확인하기 위해 DRC를 다시 실행하십시오.

여기서 실수한게 있는데 SW1 풋프린트... 가장 안쪽이 F.Fab 레이어야 합니다. 어쩐지 선이 연결이 안되더라... ㅋ

심볼, 풋프린트 및 3D 모델 연결

구성 요소의 3D 모델은 별도의 파일에 저장됩니다. 구성 요소의 3D 모델 파일 이름은 풋프린트에 저장됩니다. 각 풋프린트에는 원하는 만큼의 3D 모델을 추가할 수 있습니다. 3D 모델 파일 이름은 모델 크기, 회전, 오프셋 및 투명도와 함께 풋프린트 속성의 3D 모델 탭에서 설정할 수 있습니다.

STEP( .step) 및 VRML( .wrl) 3D 모델 형식이 모두 지원됩니다. STEP 파일은 치수 정확도가 필요한 경우에 유용하며, VRML 파일은 시각적으로 더욱 매력적인 렌더링에 사용할 수 있습니다. KiCad 라이브러리의 많은 풋프린트에는 관련 3D 모델이 있으며, 이러한 모델은 VRML 및 STEP 형식으로 제공됩니다.


마치면서

가장 기본적인 KiCad 사용법 튜토리얼에 대해 알아봤습니다. 필요한 기본적인 내용은 거의 다 있는 거 같네요.

profile
행동하는 바보가 돼라. 생각을 즉시 행동으로 옮기는 사람이 되어라

0개의 댓글