DRC 설정과 자주 발생하는 실수 방지 대책
1 분
- DRC의 기본 개념과 역할
- 자주 발생하는 DRC 오류와 원인·대처법
- DRC 기본 설정 항목 (실무 필수 규칙)
- 툴별 설정 예시 및 운용 포인트
- 자동 검사 운용 플로우 (실무 예시)
- 놓치기 쉬운 체크포인트와 대책
- 최종 체크리스트
- 마무리 및 실전 어드바이스
프린트 기판(PCB) 설계에서 제조 불량과 실장 오류를 예방하기 위해 반드시 필요한 것이 DRC(Design Rule Check, 설계 규칙 검사)입니다. DRC는 설계 데이터가 제조 가능한 범위 내에 있는지를 자동으로 검사하는 기능으로, 설계 실수를 조기에 발견하여 재작업을 줄여줍니다.
이 글에서는 초보자도 이해할 수 있도록 용어를 설명하면서, 자주 발생하는 실수·실무에서 바로 쓸 수 있는 DRC 설정 예시·툴별 운용 포인트·최종 체크리스트까지 상세히 소개합니다.
DRC의 기본 개념과 역할
DRC는 CAD(기판 설계 소프트웨어) 상에서 설정한 규칙을 바탕으로, 배선 폭·클리어런스(간격)·드릴 직경·솔더 마스크 개구 등의 위반 항목을 자동으로 검출하는 기능입니다.
여기서 검출되는 오류는 "제조 불가"·"실장 불량"으로 이어지는 치명적인 것이 대부분이기 때문에, 출력 전에 반드시 모두 해소해야 합니다.
주요 용어 해설

- 클리어런스 — 도체 간, 또는 도체와 패드 사이의 최소 이격 거리
- 트레이스 폭(배선 폭) — 동박 라인의 굵기. 흘릴 수 있는 전류량과 제조성에 영향
- 비아(via) — 층 간을 연결하는 홀. 2층 기판의 스루홀은 기판을 관통하는 타입
- 솔더 마스크 — 납땜을 방지하는 녹색 등의 보호 피막
자주 발생하는 DRC 오류와 원인·대처법
클리어런스 부족 (배선·패드가 너무 가까움)
원인: 제조업체의 최소 클리어런스 규칙을 충족하지 못함. 넷 클래스(신호별 규칙)가 설정되지 않음.
대처: 제조 사양에 맞춰 최소 클리어런스를 DRC에 설정하고, 넷 클래스로 전원·신호별 규칙을 분리하여 관리합니다.
배선 폭 부족 (전원 라인 및 고전류 라인)
원인: 흘리고자 하는 전류에 비해 배선이 너무 가늘어 전류 용량 부족.
대처: 전원 및 대전류 라인은 트레이스 폭을 굵게 설정합니다(예: 0.5mm 이상). 적절한 폭은 온라인 배선 폭 계산 툴로 확인할 수 있습니다.
드릴 직경·비아 크기 설정 오류
원인: 최소 드릴 직경 미달 설계, 비아 인패드(패드 내 비아 배치)를 무처리로 배치.
대처: 제조업체의 최소 드릴 직경(예: 0.2~0.3mm)을 확인하고, 비아 인패드가 필요한 경우 충전(via fill) 및 평탄화 처리를 지정합니다.
실크가 패드 또는 비아에 겹침
원인: 실크 레이어의 클리어런스 설정 부족.
대처: 실크와 동박의 최소 이격 거리를 DRC에 설정하고, 극성 마크나 부품 번호는 패드에서 충분히 이격하여 배치합니다.
솔더 마스크 개구 오류 (과도 피복·과도 개방)
원인: 마스크 확장(solder mask expansion) 설정 오류.
대처: 마스크 확장 값을 제조업체 권장치에 맞추고, 좁은 피치 부품은 페이스트 마스크와 함께 확인합니다.
외형선 미결합·중복
원인: 외형(보드 아웃라인)이 여러 선이나 단선으로 정의되어 있음.
대처: 외형은 단일 연속선으로 출력하고, Gerber 출력 전 뷰어로 확인합니다.
DRC 기본 설정 항목 (실무 필수 규칙)
아래는 대부분의 프로젝트에서 필수적으로 적용해야 하는 DRC 설정 항목입니다. 수치는 일반적인 기준값이며, 반드시 제조업체 사양에 맞게 조정하세요.
일반 규칙 (기준값)
- 최소 배선 폭: 0.15~0.2mm (4~8mil) — 가늘면 제조 시 단선 또는 전류 용량 부족 발생
- 최소 클리어런스: 0.15~0.2mm — 간격 불량 시 쇼트·솔더 브리지 원인
- 최소 드릴 직경: 0.2~0.3mm (제조업체 의존) — 소경 홀은 드릴 파손 및 도금 불량 위험
- 최소 실크 선 폭: 0.15mm — 가늘면 인쇄 시 깨짐 발생
- 마스크 확장(solder mask expansion): 0.05~0.1mm — 수축 및 위치 편차에 대한 여유
- 애뉴라 링(랜드 여육): 0.1mm 이상 — 홀 주변 동박이 부족하면 납땜 강도·도금 불안정
넷 클래스 (신호별 규칙) 예시
- 전원(Power): 배선 폭 0.5~1.0mm, 클리어런스 0.2mm — 전압 강하·발열 억제를 위해 굵게 설정
- 일반 신호(Signal): 배선 폭 0.2mm, 클리어런스 0.2mm — 전류가 작으므로 세게 설정해도 충분
- 고속 신호(High-speed): 임피던스 제어가 필요한 경우 스택업(층 구성 검토)과 목표 임피던스를 명시
툴별 설정 예시 및 운용 포인트
KiCad 운용 포인트
KiCad에서는 "기판 설정" → "설계 규칙"에서 규칙을 정의합니다. 넷 클래스를 생성하여 전원과 신호별로 폭과 클리어런스를 할당하고, 수시로 DRC를 실행하여 작은 실수를 조기에 잡는 운용 방식이 효과적입니다.
Altium Designer 운용 포인트
Altium은 상세한 규칙 설정과 실시간 DRC 기능이 강력합니다. 스택업(층 구성)과 임피던스 규칙을 명확히 정의하고, OutJob에 DRC 리포트를 통합하여 릴리즈 시 자동으로 검증하는 운용을 권장합니다. 중요도(Severity)를 설정하여 치명적 위반 항목은 릴리즈 불가로 처리하는 것이 좋습니다.
기타 CAD (EasyEDA 등)
대부분의 CAD는 DRC 기능을 갖추고 있습니다. 제조업체의 MRC(Manufacturing Rule Check)에 가까운 설정을 적용할 수 있는 경우에는 DRC와 함께 MRC도 실행하면 더욱 안심할 수 있습니다. 툴마다 용어와 설정 위치가 다르기 때문에, 프로젝트 템플릿을 작성하여 표준화하면 실수를 줄일 수 있습니다.
자동 검사 운용 플로우 (실무 예시)
- 프로젝트 시작 시 제조업체의 설계 규칙(데이터시트)을 입수하여 DRC 템플릿을 작성한다.
- 부품 배치 완료 후 넷 클래스를 할당하고 1차 DRC를 실행한다 (조기 발견 목적).
- 배선 완료 후 전 항목 DRC를 실행하고 중대 오류를 모두 해소한다.
- Gerber 출력 전 최종 DRC와 MRC를 실행하고 리포트를 저장하여 제조처에 첨부한다.
- 제조업체의 DFM(Design for Manufacturing) 피드백은 즉시 반영하고 재DRC를 실행한다.
놓치기 쉬운 체크포인트와 대책
GND 베타 고립 (아일랜드)
넓은 베타가 분리되어 작은 고립 영역(아일랜드)이 되면 납땜이나 열 특성에 문제가 발생합니다. DRC에서 "최소 폴리곤 면적"과 "접속성"을 체크하고, 필요하면 스루홀이나 서멀 릴리프로 연결합니다.
실크 폰트 및 아웃라인 문제
래스터 폰트가 정상적으로 변환되지 않아 뭉개지는 경우가 있습니다. 아웃라인 폰트를 사용하거나 실크를 패스화하여 확인하세요.
비아 인패드 미처리
BGA 등에서 비아 인패드를 사용하는 경우, 충전 처리 및 평탄화를 지정하지 않으면 실장 불량이 됩니다. DRC에서 비아 인패드의 존재를 검출하고, 제조 지시 사항을 명확히 기재합니다.
최종 체크리스트

- 최신 Rev으로 설계하고 있는가
- 제조업체의 최소 배선 폭·클리어런스·드릴 직경을 DRC에 반영하였는가
- 넷 클래스를 정의하고 전원·신호별로 규칙을 할당하였는가
- Gerber 출력 전 DRC와 MRC를 실행하고 리포트를 저장하였는가
- 실크가 패드나 비아에 겹치지 않는가
- 솔더 마스크와 페이스트 마스크 개구가 적절한가
- 외형선이 결합되어 있고, 장공(long hole)·슬롯이 올바르게 지정되어 있는가
- 비아 인패드나 충전 처리가 필요한 부분에 제조 지시를 기재하였는가
- 임피던스 제어가 필요한 경우 스택업과 목표값을 명기하였는가
- DRC에서 발생한 오류의 스크린샷과 수정 이력을 저장하였는가
마무리 및 실전 어드바이스
DRC는 "설계 실수를 마지막에 잡는 최후의 보루"가 아니라, 설계 프로세스 초기 단계부터 활용해야 하는 툴입니다. 넷 클래스 활용, 제조업체 사양의 템플릿화, 정기적인 DRC 실행을 습관화함으로써 제조 불량과 납기 지연을 대폭 줄일 수 있습니다. 최종적으로는 Gerber 출력 전 DRC와 MRC를 필수 공정으로 편입하고, 제조업체와의 소통으로 의문점을 해소한 뒤 발주하시기 바랍니다.
지속적인 성장
PCB 애뉼러 링(Annular Ring) 설계: 계산과 공차 분석
PCB 비아와 도금 스루홀(PTH)을 설계할 때 애뉼러 링까지 공차를 포함해 계산하고 있나요? EDA의 기본 패드 크기나 이전 설계를 그대로 사용하면 드릴 위치 편차, 레이어 정합 오차와 에칭 보정으로 실제 남는 구리 폭이 예상보다 좁아질 수 있습니다. 애뉼러 링(annular ring)은 드릴 홀 주위를 둘러싼 고리 모양의 구리 영역입니다. 도금된 홀 배럴과 각 레이어의 패드를 전기적·기계적으로 연결하므로, 크기가 부족하면 브레이크아웃이나 간헐적인 단선으로 이어질 수 있습니다. 핵심 요약 공칭 애뉼러 링 폭은 (패드 직경 - 드릴 직경) ÷ 2로 계산합니다. 실제 잔여 폭은 드릴 위치, 레이어 정합, 적층과 에칭 공차의 영향을 받습니다. IPC 합격 기준과 제조를 안정적으로 만드는 설계 목표값은 같은 개념이 아닙니다. 제조사의 최신 홀·패드 능력과 DFM 결과를 기준으로 최종 치수를 정해야 합니다. 애뉼러 링 폭을 결정하는 기본 계산 공칭 애뉼러 링 폭은 다음과 같이 계산합니다. 애뉼러 링 ......
PCB 동박 패턴의 역할과 표면처리 선택 가이드
PCB 동박 패턴과 트레이스는 기판 위에서 전류와 신호가 흐르는 경로입니다. 외부로 노출되는 패드와 접점의 표면처리는 납땜성, 접촉 특성, 보관성과 내식성에 영향을 줍니다. ENIG, HASL, 침지은, OSP, 침지주석은 각각 장점과 제한이 있으므로 조립 방식과 패드 피치, 사용 환경에 맞춰 선택해야 합니다. 이 글에서는 PCB 동박 패턴의 전기적 역할, 대표적인 표면처리 방식과 전송선로·안테나·방열 구조 등 설계 활용 사례를 살펴봅니다. 핵심 요약 표면처리는 주로 솔더 마스크로 덮이지 않은 패드와 접점의 노출 동박을 보호합니다. 표면처리 선택은 비용뿐 아니라 평탄도, 납땜 공정, 보관 조건과 최종 용도를 기준으로 해야 합니다. 트레이스 폭·두께·간격과 기준면은 저항, 인덕턴스, 커패시턴스와 임피던스를 결정합니다. RF·고속 신호와 안테나 설계에서는 표면처리의 도체 손실 영향도 함께 검토합니다. PCB 동박 패턴에 맞는 표면처리 선택 PCB 표면 실장 패드와 노출 동박의 표면처리는 조립성과 ......
STM32 CAN 통신 예제: CubeMX와 HAL로 송수신 구현하기
핵심 요약 Classic CAN과 CAN FD의 프레임 및 비트 타이밍 차이를 설명합니다. NUCLEO-G491RE와 Jetson TX2를 CAN 트랜시버로 연결합니다. CubeMX 필터·인터럽트 설정과 HAL 기반 송수신 코드를 구현합니다. 종단저항, CANH·CANL, candump와 오류 응답을 이용한 점검 방법을 다룹니다. Nucleo-G491RE 보드와 Jetson 보드를 이용한 CAN 버스 통신 이 글에서는 STM32 CAN 통신 예제로 NUCLEO-G491RE와 Jetson TX2를 연결하고, Classic CAN과 CAN FD의 비트 타이밍·필터·수신 인터럽트·응답 송신을 단계별로 구현합니다. 브레드보드에서 트랜시버와 종단저항, CANH·CANL 연결을 검증한 뒤 커넥터와 테스트 포인트를 작은 CAN 인터페이스 PCB로 정리하면 반복 시험과 배선 점검이 쉬워집니다. PCB 제작시Gerber 파일은 JLCPCB PCB 서비스에 업로드하고 온라인 견적에서 제작 가능 여부와 비용을 확......
STM32 PWM 제어 가이드: 주파수·듀티비 설정과 모터 제어 예제
핵심 요약 타이머 Prescaler와 ARR을 이용한 PWM 주파수·듀티비 계산 방법을 정리합니다. NUCLEO-G491RE에서 서보모터와 DC 모터를 PWM으로 제어합니다. 단일 채널 및 A/B상 인코더를 읽어 회전 방향과 RPM을 계산합니다. CubeMX 설정, HAL 코드와 VCP 출력 결과를 실제 실습 이미지로 확인합니다. Nucleo-G491RE 보드와 DC 모터/인코더를 이용한 실습 이 글에서는 STM32 PWM의 주파수·듀티비 계산 원리를 익히고, NUCLEO-G491RE의 타이머와 카운터를 이용해 서보모터·DC 모터를 구동하며 단일 채널 및 A/B상 인코더를 읽습니다. 브레드보드에서 모터 드라이버와 인코더 동작을 확인한 뒤 전원·신호 커넥터와 테스트 포인트를 작은 인터페이스 PCB로 정리하면 배선 오류를 줄이고 재현성을 높일 수 있습니다. PCB 제작시Gerber 파일은 JLCPCB PCB 서비스에 업로드하고 온라인 견적에서 제작 가능 여부와 비용을 확인할 수 있습니다. 타이머/......
STM32 ADC 사용법: 전압 측정, 인터럽트·DMA와 DAC 피드백
핵심 요약 STM32 ADC의 해상도, 샘플링과 디지털 값을 전압으로 환산하는 원리를 설명합니다. NUCLEO-F446RE에서 Polling, Interrupt, DMA 방식으로 ADC 데이터를 수집합니다. TEMT6000 조도 센서와 다중 채널 ADC 설정 및 Circular DMA 처리를 구현합니다. DAC 출력과 LED 조명 피드백을 연결해 간단한 실시간 제어를 확인합니다. 이 글에서는 STM32 ADC의 기본 원리와 전압 계산 방법을 살펴보고, NUCLEO-F446RE에서 TEMT6000의 밝기 값을 Polling·인터럽트·DMA로 읽어 DAC 기반 LED 조명 피드백까지 구현합니다. 브레드보드에서 센서와 LED 드라이버의 동작을 확인한 뒤 커넥터와 테스트 포인트를 작은 인터페이스 PCB로 정리하면 배선 오류를 줄이고 같은 실험 환경을 반복하기 쉽습니다. PCB 제작시에Gerber 파일은 JLCPCB PCB 서비스에 업로드하고 온라인 견적에서 제작 가능 여부와 비용을 확인할 수 있습니다......
STM32 UART 통신 예제: 송수신, 인터럽트 및 DMA 구현 가이드
핵심 요약 Polling, Interrupt, DMA 수신 방식의 차이와 CPU·버퍼의 역할을 비교합니다. NUCLEO-G491RE, NUCLEO-F446RE와 BH1750을 연결해 실제 센서 데이터를 전송합니다. 115200 bps, 8-N-1, TX/RX 교차 연결과 공통 GND 설정을 단계별로 확인합니다. DMA Normal 및 Circular 모드와 Receive-to-Idle 처리 방법을 예제로 구현합니다. Virtual COM, 인터럽트 및 DMA로 센서 데이터 송수신 하기 NUCLEO-G491RE, NUCLEO-F446RE, BH1750 1. 이번 글에서 만들 시스템 STM32 UART 통신 예제를 처음 배울 때는 문자열 하나를 보내는 예제부터 시작하는 경우가 많습니다. 문자열이 터미널에 출력되면 통신이 된 것처럼 보입니다. 하지만 실제 임베디드 시스템에서는 센서가 계속 데이터를 만들고, 다른 MCU가 그 데이터를 놓치지 않고 받아 처리해야 합니다. 이번 글에서는 Nucleo-G4......