개발 중정식 출시 전입니다. 기능과 데이터가 예고 없이 바뀔 수 있습니다.

자동 삽입 회로 — 내 코드에 없던 부품이 왜 생겼나

디커플링 · 풀업 · 플라이백 · 레벨 시프터 · 보호 소자. 어려운 것은 말없이 채우되, 왜 넣었는지는 반드시 설명합니다.

7분 읽기업데이트 2026년 9월 8일

변환 결과 화면에는 "자동으로 추가된 회로 (N개)" 목록이 있습니다. 코드에는 없던 커패시터, 저항, 다이오드가 넷리스트와 BOM 에 들어가 있습니다. 사용자가 몰라도 되지만, 알고 싶을 때 알 수 있어야 합니다. 교육 제품이기 때문입니다. 이 가이드는 그 목록의 각 항목이 왜 필요한지 설명합니다.

자동으로 추가된 회로 (7개)

┌ C1~C4  디커플링 커패시터 0.1µF                            [왜?]
│        IC 전원핀 옆에서 순간 전류 요동을 흡수합니다.
│        없으면 간헐적 리셋·오동작이 발생합니다.
│
┌ D1     플라이백 다이오드 1N4148  (릴레이 K1)              [왜?]
│        릴레이 코일이 꺼질 때 발생하는 역기전력을 흘려보냅니다.
│        없으면 트랜지스터가 파괴됩니다.
│
┌ U3     레벨 시프터 (3.3V ↔ 5V, I²C)                      [왜?]
│        ESP32는 3.3V, 선택하신 센서는 5V 로직입니다.
│        직결하면 ESP32 GPIO가 손상됩니다.

디커플링 커패시터

IC 가 스위칭할 때마다 전원 핀에서 아주 짧은 순간 큰 전류를 당깁니다. 전원선은 인덕턴스를 가지므로 그 순간 전압이 출렁이고, 심하면 MCU 가 브라운아웃 리셋을 겪습니다. 전원 핀 바로 옆의 0.1 µF 세라믹 커패시터가 그 순간 전류를 대신 공급합니다. 브레드보드에서는 개발보드 안에 이미 있었기 때문에 보이지 않았을 뿐입니다.

  • 규칙: IC 전원 핀당 0.1 µF 1개.
  • ESP32 모듈 3V3 에는 추가로 10 µF 벌크 커패시터. Wi-Fi 송신 순간 수백 mA 의 펄스 전류가 흐르기 때문입니다.
  • 레귤레이터 입출력에는 데이터시트 권장값(AMS1117: 입력 10 µF, 출력 10 µF + 100 nF).

풀업 저항

오픈 드레인 신호선은 스스로 HIGH 를 만들지 못합니다. 누군가 전원 쪽으로 당겨 주어야 하고, 아무도 당기지 않으면 선은 떠서 노이즈에 반응합니다.

  • I²C SDA / SCL — 버스당 정확히 1세트 (2.2 k–10 k). 모듈에 이미 풀업이 실장되어 있으면 중복해서 넣지 않습니다. 총합 저항이 너무 낮으면 MCU 가 LOW 를 끌어내리지 못하므로 ERC 가 버스당 총합을 계산합니다.
  • DS18B20 1-Wire DQ — 4.7 kΩ. 데이터시트 값입니다.
  • ESP32 EN — 10 kΩ 풀업 + 0.1 µF. 전원이 안정된 뒤에 리셋이 풀리도록 RC 지연을 만듭니다. 없으면 부팅이 불안정합니다.
  • ATmega328P RESET — 10 kΩ 풀업. 없으면 노이즈로 임의 리셋됩니다.

플라이백 다이오드

릴레이 코일, DC 모터, 솔레노이드는 유도성 부하입니다. 전류를 끊는 순간 코일은 흐르던 전류를 유지하려고 수십~수백 V 의 역기전력을 만들어 냅니다. 그 전압은 코일을 구동하던 트랜지스터나 GPIO 로 그대로 향합니다. 코일과 병렬로 거꾸로 달린 다이오드(1N4148, 1N4007)가 그 전류에 돌아갈 길을 만들어 줍니다. 릴레이 모듈을 쓰던 분은 모듈 안에 이미 있었습니다. L3 에서 릴레이를 보드에 직접 올리면 직접 넣어야 하고, ibouPCB 가 넣습니다.

레벨 시프터와 분압기

ESP32 · Pico · 라즈베리파이는 3.3 V 로직이고, HC-SR04 나 많은 5 V 아두이노용 모듈은 5 V 로직입니다. 5 V 출력을 3.3 V 입력에 직결하면 GPIO 가 손상됩니다 — 바로는 아니어도 몇 주 뒤에.

  • 단방향 5 V → 3.3 V 입력(HC-SR04 ECHO 등): 저항 분압기 2개. 가장 싸고 충분합니다.
  • 양방향 버스(I²C): MOSFET 기반 양방향 레벨 시프터.
  • 3.3 V → 5 V 출력(WS2812B 데이터 등): 74AHCT125 같은 버퍼. 3.3 V 신호를 5 V 네오픽셀이 못 읽는 경우가 실제로 잦습니다.

보호 소자와 그 밖의 것

부품언제
직렬 저항LED 직결GPIO 전류 한도 안에서 LED 전류를 정합니다
역전압 보호 다이오드 / P-MOSFET외부 전원 입력이 있을 때 (L3)전원을 거꾸로 꽂아도 보드가 살아남습니다
TVS 다이오드외부로 나가는 커넥터 (L3, 제안)사람 손의 정전기(수 kV)가 MCU 에 들어가지 않게 합니다
드라이버 트랜지스터 (MOSFET)GPIO 전류 한도를 넘는 부하AVR GPIO 는 핀당 40 mA, 릴레이 코일은 70 mA 이상입니다
테스트포인트L3조립 후 전원 · 시리얼을 프로브로 확인할 자리

자동 삽입과 제안의 차이

답이 하나뿐인 것은 자동으로 넣습니다(디커플링, 풀업, 플라이백, 분압기). 선택이 필요한 것은 제안만 하고 결정은 사용자에게 남깁니다 — 더 큰 레귤레이터, 주소를 바꿀 수 있는 다른 모듈, 핀 재할당. 어느 쪽이든 목록에 근거(골든 패턴 출처 또는 ERC 규칙)가 붙고, 넷리스트 · BOM · explain.json 에서 확인할 수 있습니다.

레벨에 따른 차이

L2 Shield / HAT 에서는 개발보드가 전원과 리셋을 이미 가지고 있으므로 풀업과 직렬 저항 정도만 추가됩니다. L3 모듈 온보드에서는 개발보드가 사라지므로 전원 트리(레귤레이터 + 입출력 캡), 모듈 지원 회로(EN · IO0), 디커플링, 보호 소자, 테스트포인트가 모두 들어갑니다. 자동으로 추가된 부품 수가 L3 에서 훨씬 많은 이유입니다.