인프런 커뮤니티 질문&답변
32강 ERC에러
해결된 질문
작성
·
7
답변 1
0
안녕하세요, 답변 남겨드립니다.
올려주신 화면처럼 “footprint 라이브러리에 없다”는 경고가 여러 개 뜨는 것은 충분히 정상적으로 발생할 수 있는 상황이고, 강의 화면과 다르게 보이는 가장 흔한 이유는 현재 심볼의 Footprint 필드가 KiCad가 인식하는 형식으로 “라이브러리 닉네임:풋프린트이름” 형태로 지정되어 있지 않기 때문입니다. 지금 경고 문구에 라이브러리 이름이 비어 있는 것처럼 보이는 점이 핵심인데, 예를 들어 Footprint가 “CAP_0.1uF-50V-10%-0805”처럼 풋프린트 이름만 단독으로 들어가 있으면 KiCad는 이것을 “(빈 닉네임)의 라이브러리에서 CAP_0.1uF…를 찾으라”고 해석하고, 당연히 빈 닉네임 라이브러리가 설정되어 있지 않으니 “현재 설정에 footprint 라이브러리 ''가 없다”는 경고를 반복해서 냅니다. 반대로 강의에서는 Footprint가 “Capacitor_SMD:C_0805_2012Metric” 같은 형태로 지정되어 있거나, 강의용 커스텀 .pretty 라이브러리가 이미 프로젝트에 등록되어 있어서 같은 경고가 안 뜬 경우가 많습니다.
해결은 두 갈래 중 하나로 정리됩니다. 하나는 Footprint 문자열을 KiCad 표준 형식으로 다시 매핑하는 방법이고, 다른 하나는 실제로 커스텀 풋프린트 라이브러리를 프로젝트에 등록해 주는 방법입니다. 실무에서는 전자가 가장 안전하고 재현성이 좋습니다. 예를 들어 0.1 uF 0805 캐패시터라면 전기적 사양(0.1 uF, 50 V, 10%)은 부품 선택과 BOM에서 중요한 것이지, 풋프린트 선택의 기준은 패키지 크기(0805)와 패드 형상입니다. 그래서 Footprint는 “Capacitor_SMD:C_0805_2012Metric”처럼 패키지 중심으로 잡고, 값(Value)이나 별도 필드에 “0.1uF 50V X7R 10%”를 넣는 식이 납땜/조달/검증 관점에서 안정적입니다. 0805는 대략 2.0 mm x 1.25 mm 바디 크기이고, 0603은 대략 1.6 mm x 0.8 mm라서, 풋프린트가 한 단계만 틀려도 패드 길이/간격이 달라져 리플로우에서 브리징이나 텀스톤 확률이 체감상 확 올라갑니다. 이런 종류의 “전기적 표기(50V, 10%)가 풋프린트 이름에 들어가 있는 커스텀 네이밍”은 라이브러리 관리가 잘 되어 있을 때만 장점이 있고, 강의 파일을 다른 PC나 다른 KiCad 설치 환경에서 열면 지금처럼 라이브러리 경고가 대량으로 터지기 쉽습니다.
실제로 고치는 절차는 KiCad 기준으로 “도구 메뉴에서 Assign Footprints를 열어서 각 부품에 표준 라이브러리 풋프린트를 다시 지정”하는 방식이 가장 빠릅니다. 캐패시터 0805는 Capacitor_SMD 라이브러리의 C_0805 계열, 저항 0603은 Resistor_SMD의 R_0603 계열로 맞추고, STM32F103C8T6는 패키지가 LQFP-48(피치 0.5 mm, 바디 7 mm x 7 mm)이므로 “Package_QFP:LQFP-48_7x7mm_P0.5mm” 같은 것으로 맞추는 식입니다. 8 MHz 크리스탈도 실제 구매 부품이 3225(3.2 mm x 2.5 mm)인지 5032(5.0 mm x 3.2 mm)인지에 따라 풋프린트가 달라서, 예를 들어 3225 타입이면 “Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm” 계열로 잡아주시는 게 조립 불량을 줄이는 쪽입니다. 이렇게 “라이브러리닉:풋프린트” 형태로 재지정하면 지금의 라이브러리 경고는 대부분 사라집니다.
커스텀 라이브러리를 계속 쓰고 싶으시면, 해당 풋프린트(.pretty 폴더)를 “Preferences의 Manage Footprint Libraries”에서 프로젝트 라이브러리로 추가하고, 라이브러리 닉네임을 예를 들어 “SamLib” 같은 것으로 지정한 뒤, Footprint 필드도 “SamLib:CAP_0.1uF-50V-10%-0805”처럼 닉네임이 포함되도록 맞춰주셔야 합니다. 닉네임 등록만 하고 Footprint 문자열에 닉네임이 비어 있으면 지금과 같은 경고가 계속 납니다.
추가로 화면에 보이는 두 개의 에러 중 “Input Power pin not driven by any Output Power pins”는 전원 네트가 실제로는 공급되고 있는데 ERC가 “구동하는 Power output 핀”을 못 찾을 때 흔히 뜹니다. 예를 들어 3V3 레일이 레귤레이터 출력인데 그 레귤레이터 심볼의 핀 타입이 Power output이 아니라 Passive로 되어 있거나, USB 5V 같은 외부 인가 전원을 단순 라벨로만 처리하면 발생합니다. 이때는 해당 전원 레일에 PWR_FLAG를 넣어 “이 네트는 구동된다”고 선언하거나, 레귤레이터/커넥터의 출력 핀 타입을 Power output으로 맞추면 깔끔하게 없어집니다. “Unconnected wire endpoint”는 말 그대로 선이 300 mil 정도 떠 있는 스텁이 있어서 나는 경고이니, 의도한 연결이 아니면 그 선을 지우고, 의도한 연결이면 실제 핀이나 라벨까지 붙여서 전기적으로 닫아주시면 됩니다. “Global label not connected anywhere else”는 전역 라벨을 한 군데만 써서 생기는 경고인데, SWDIO/SWCLK 같은 디버그 신호를 나중에 다른 시트로 뺄 예정이어서 임시로 달아둔 경우라면 무시해도 되고, 한 시트 내부에서만 쓸 거면 전역 라벨 대신 로컬 라벨로 바꾸면 경고가 사라집니다.
결론적으로, 지금 경고들은 “비정상”이라기보다 “풋프린트 지정 방식과 라이브러리 설정이 강의 환경과 다르다”에서 비롯된 것이고, PCB로 넘어가서 Update PCB from Schematic을 할 때 풋프린트 미지정/미해결이 남아 있으면 부품이 누락되거나 Unknown footprint로 떠서 레이아웃 진행 자체가 꼬일 수 있으니, 배선 전에 Footprint 매핑을 표준 라이브러리 기준으로 한 번 정리해 두시는 것을 권장드립니다.





