
공식 문서: 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 에 대해 시작해보겠습니다.
KiCad는 회로도 및 PCB 설계를 위한 오픈소스 소프트웨어 입니다.
KiCad는 Microsoft Windows, Apple macOS, 그리고 많은 주요 Linux 배포판을 포함한 다양한 운영 체제에서 실행됩니다. (근데 아무래도 윈도우가 가장 괜찮은거 같습니다)
설치 과정은 쉬우니까 생략하고요. 실행을 해보면 가장 처음에 이렇게 나옵니다.

회로도 편집기를 선택해봅시다. 아, 먼저 프로젝트부터 생성해줘야 하네요.
아, 프로젝트 이름을 LED_Blinker 라고 하면, LED_Blinker 라는 폴더가 생성되고 그 안에 .kicad_pcb, .kicad_sch 파일이 생성되는군요.
KiCad의 일반적인 작업 흐름은 회로도 작성과 회로 기판 배치라는 두 가지 주요 작업으로 구성됩니다.
회로도는 어떤 부품이 사용되고 부품 간에 어떤 연결이 이루어지는지를 나타냅니다. 회로도 심볼(Symbol) 은 전자 부품을 회로도에서 그림으로 표현한 것으로, 예를 들어 저항은 지그재그 또는 직사각형으로, 연산 증폭기는 삼각형으로 나타냅니다.
회로도에는 설계의 모든 부품에 대한 심볼이 포함되며, 심볼의 핀들은 와이어로 연결됩니다. 일반적으로 회로도는 회로 기판을 배치하기 전에 먼저 작성됩니다.

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

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

KiCad는 프로젝트 기반 작업 방식을 사용한다는 점을 이해하는 것이 중요합니다. KiCad 프로젝트는 프로젝트 파일, 회로도, 기판 레이아웃과 선택적으로 심볼 및 풋프린트 라이브러리, 시뮬레이션 데이터, 구매 정보 등 기타 관련 파일들을 포함하는 폴더입니다. 넷 클래스와 설계 규칙을 포함한 많은 프로젝트 관련 설정이 프로젝트 수준에서 저장됩니다.
연결된 프로젝트 외부에서 기판을 여는 경우 설계 정보가 누락될 수 있으므로, 프로젝트와 관련된 모든 파일을 함께 보관해야 합니다.
일반적으로 회로도를 먼저 작성합니다. 이는 회로도에 심볼을 추가하고 심볼 간의 연결을 그리는 것을 의미합니다. 적절한 심볼이 없는 경우 사용자 정의 심볼을 생성해야 할 수 있습니다. 이 단계에서는 각 부품에 대한 풋프린트도 선택하며, 필요에 따라 사용자 정의 풋프린트를 생성합니다.
회로도가 완성되고 설계가 전기 규칙 검사(ERC)를 통과하면, 회로도의 설계 정보가 보드 편집기로 전송되고 레이아웃이 시작됩니다.
회로도는 설계에 어떤 부품이 있고 어떻게 연결되는지 설명하며, 보드 편집기는 이 정보를 사용하여 레이아웃을 더 쉽게 만들고 회로도와 PCB 간의 불일치를 방지합니다. 레이아웃 프로세스는 각 풋프린트를 회로 기판에 신중하게 배치해야 합니다. 부품 배치 후, 회로도의 연결과 트랙 저항, 제어 임피던스 요구사항, 크로스토크 등의 전기적 고려사항을 기반으로 부품 간에 구리 트랙을 그립니다.
레이아웃이 시작된 후에 회로도를 업데이트해야 하는 경우가 종종 있습니다. 회로도 변경사항은 보드 설계로 쉽게 가져올 수 있습니다. 그 반대의 경우도 종종 발생합니다. 보드 레이아웃에서 이루어진 설계 변경사항을 회로도로 다시 보내 두 설계를 일관되게 유지할 수 있습니다.
보드 레이아웃이 완료되고 보드가 설계 규칙 검사(DRC)를 통과하면, PCB 제조업체에서 보드를 제조할 수 있도록 제조 출력물이 생성됩니다.
새 디자인을 시작할 때 가장 먼저 해야 할 일은 새 프로젝트를 만드는 것입니다. 파일 → 새 프로젝트를 클릭해서 프로젝트를 생성해줍니다. 저는 led_blinker 라는 프로젝트를 만들었습니다.

왼쪽의 프로젝트 파일 창에는 새 프로젝트의 파일 목록이 표시됩니다. 확장자가 .kicad_pro인 프로젝트 파일, 확장자가 .kicad_sch인 회로도 파일, 확장자가 .kicad_pcb인 보드 파일이 있습니다. 이 파일들은 모두 프로젝트 이름을 공유합니다.
-backups 디렉토리도 있을 수 있습니다. KiCad는 저장할 때 자동으로 프로젝트 백업을 생성하며, 선택적으로 고정된 시간 간격으로도 백업을 생성합니다. 백업 설정은 Preferences → Preferences → Common → Project Backup으로 이동하여 구성할 수 있습니다.
회로도 편집기를 처음 열면 전역 심볼 라이브러리 테이블을 구성하는 방법을 묻는 대화 상자가 나타납니다. 심볼 라이브러리 테이블은 KiCad에 어떤 심볼 라이브러리를 사용할 것인지와 그것들이 어디에 있는지를 알려줍니다.
KiCad와 함께 기본 라이브러리를 설치했다면(권장), 기본 옵션을 선택하십시오.

KiCad가 예상되는 설치 위치에서 라이브러리를 찾을 수 없는 경우 이 옵션이 비활성화됩니다. 이 경우 사용자는 두 번째 옵션인 "Copy custom global symbol library table"을 선택해야 합니다. 하단의 폴더 버튼을 클릭하고 아래에 제공된 위치로 이동하십시오. sym-lib-table 파일을 선택하십시오.
기본 라이브러리 테이블 파일의 위치는 운영 체제에 따라 다르며 설치 위치에 따라 달라질 수 있습니다. 다음은 각 운영 체제의 기본 위치입니다:
처음 실행하면 이러한 화면이 나옵니다.

회로도를 이동하려면 마우스 가운데 버튼이나 오른쪽 버튼으로 클릭하고 드래그하면 됩니다. 마우스 휠이나 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 심볼을 선택하십시오. OK를 클릭하고 다시 클릭하여 회로도에 심볼을 배치하십시오.

다음으로, 전류 제한을 위한 저항을 추가합니다. 다시 심볼 선택에 들어가서 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에는 많은 풋프린트가 포함되어 있으므로 풋프린트 할당 도구는 해당 심볼과 관련 없는 풋프린트를 필터링하는 여러 가지 방법을 제공합니다.

필터를 사용하여 각 심볼에 대한 풋프린트를 찾아보세요. 아래 표에 나열되어있습니다.
| 심볼 참조 | 할당한 풋프린트 |
|---|---|
| BT1 | Battery:BatteryHolder_Keystone_1058_1x2032 |
| D1 | LED_THT:LED_D5.0mm |
| R1 | Resistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P12.70mm_Horizontal |
모든 풋프린트가 할당되면 확인을 클릭하세요.

🤔 풋프린트 할당할 때, 너무 선택지가 다양한데 선택할 때 꿀팁없을까?
회로도에서 마지막으로 해야 할 일은 전기 오류를 확인하는 것입니다. KiCad의 전기 규칙 검사기(ERC)는 회로도의 설계가 제대로 작동하는지 확인할 수는 없지만 연결되지 않은 핀, 두 전원 출력의 단락, 전원이 공급되지 않는 전원 입력과 같은 일반적인 연결 문제를 확인할 수 있습니다. 또한 주석이 없는 기호나 회로 레이블의 오타와 같은 다른 오류도 확인합니다.
전기 규칙의 전체 목록을 보고 심각도를 조정하려면 "파일 → 회로도 설정 → 전기 규칙 → 위반 심각도"로 이동하세요.
상단 도구 모음에서 "전기 규칙 검사기(ERC)" 버튼을 클릭한 다음 ERC 실행을 클릭 하여 전기 규칙 검사를 실행합니다.

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

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