ESP32 C3 Super Mini MOSFET 모듈
ESP32 C3 Super Mini와 MOSFET 모듈로 12V 부하를 켜고 끄고, PWM으로 전력 수준을 조절하는 방법을 배웁니다.

필요한 하드웨어
| 1 | × | ESP32 C3 Super Mini | 아마존 | |
| 1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
| 1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
| 1 | × | (옵션) DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 | |
| 1 | × | MOSFET Module (AOD4184, LR7843 or FR120N) | 아마존 | |
| 1 | × | 12V LED 스트립 | 아마존 | |
| 1 | × | (또는) 12V DC 선풍기 | 아마존 | |
| 1 | × | 12V 전원 어댑터 | 아마존 | |
| 1 | × | DC Power Jack (for the 12V load) | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 |
MOSFET 모듈에 대하여
이 모듈이 해결하는 문제:
- ESP32 C3 Super Mini의 GPIO 핀은 3.3V를 내보내며 전류도 아주 작습니다
- 12V LED 스트립, 팬, DC 모터, 펌프, 솔레노이드 밸브, 히터는 그보다 훨씬 많은 전력이 필요합니다
- MOSFET 모듈을 사용하면 작은 3.3V 신호로 큰 12V 전원 경로를 제어할 수 있습니다
세 가지 버전, 같은 보드 설계:
- AOD4184 (D4184로도 판매됨), LR7843, FR120N
- 크기, 핀, 배선, 코드가 모두 같습니다
- MOSFET 칩만 다릅니다
주요 사양:
| AOD4184 | LR7843 | FR120N | |
|---|---|---|---|
| MOSFET 칩 | AOD4184A (N채널) | IRLR7843 (N채널) | IRFR120N (N채널) |
| 최대 부하 전압 (MOSFET 정격) | 40V DC | 30V DC | 100V DC |
| 최대 전류 (MOSFET 정격) | 50A | 161A | 9.4A |
| 온 저항 RDS(on) | 약 7 mΩ | 약 3.3 mΩ | 약 210 mΩ |
| 실사용 전류, 방열판 없음 | 약 10–15A | 약 15A | 약 2A |
세 가지 모두 같은 점:
- 제어 신호: 3.3V 또는 5V 로직, 액티브 HIGH
- 절연: PC817 포토커플러
- PWM: 지원하며, 약 1 kHz 이하로 유지합니다
- 부하 종류: DC 전용
- 필요한 라이브러리: 없음 — 내장 analogWrite()를 사용합니다
MOSFET 모듈 핀아웃

신호 헤더 (2핀, 2.54mm 간격 — 브레드보드에 맞음):
- PWM — 제어 입력; ESP32 C3 GPIO 핀에 연결합니다
- GND — 신호 그라운드; ESP32 C3 GND에 연결합니다
전원 나사 단자 (3개 단자):
- + — 부하 전원 공급 장치의 양극 (예: 12V)이면서 부하의 양극 선입니다. 두 선 모두 이 단자 하나에 넣습니다 (또는 먼저 서로 연결합니다)
- LOAD — 부하의 음극 선; 스위칭되는 쪽입니다 (MOSFET 드레인)
- − — 부하 전원 공급 장치의 음극 (그라운드)
※ 주의:
인쇄된 라벨은 제작 배치마다 조금씩 달라질 수 있습니다. 항상 가지고 있는 보드의 실크 인쇄를 확인하세요.
내부 동작 원리
신호의 경로:
- 연결 순서: GPIO4 → PWM 핀 → 작은 저항 → PC817 안의 LED → 빛 → PC817 안의 포토트랜지스터 → MOSFET 게이트
- 게이트 풀다운: PC817이 꺼져 있는 동안 저항이 게이트를 0V로 유지합니다
- 로우 사이드 스위치: N채널 MOSFET은 LOAD와 − 사이에 있습니다. 부하는 +와 LOAD 사이에 있습니다
- 절연된 그라운드: ESP32 C3 쪽과 12V 쪽은 모듈에서 연결되어 있지 않습니다. 신호 GND와 부하 GND는 서로 분리되어 있습니다
세 가지 입력 상태 한눈에 보기:
| PWM 핀의 입력 | PC817 LED | MOSFET | 부하가 받는 전력 (12V 전원) |
|---|---|---|---|
| LOW (0V) | 꺼짐 | OFF (열린 스위치) | 0V, 전력 없음 |
| HIGH (3.3V) | 켜짐 | 완전히 ON (닫힌 스위치) | 약 12V, 최대 전력 |
| PWM 신호 | 신호에 따라 깜박임 | 매우 빠르게 ON / OFF | 12V 펄스, 평균은 듀티 사이클로 결정 |
상태 1 — GPIO LOW → 부하 OFF
- 코드: analogWrite(MOSFET_PIN, 0) 또는 digitalWrite(MOSFET_PIN, LOW)
- 포토커플러: 핀이 0V이므로 LED에 전류가 흐르지 않습니다. LED는 꺼진 상태입니다
- 게이트: 포토트랜지스터가 꺼진 상태이므로 풀다운 저항이 게이트를 0V로 유지합니다
- MOSFET: OFF — LOAD와 −가 연결되지 않습니다
- 부하: 부하의 − 선이 그라운드로 이어지지 않습니다. 전류가 없고 부하 양단 전압은 0V입니다
상태 2 — GPIO HIGH → 부하 ON
- 코드: analogWrite(MOSFET_PIN, 255) 또는 digitalWrite(MOSFET_PIN, HIGH)
- 포토커플러: 몇 mA가 LED로 흘러 LED가 켜집니다 (칩 안에 숨겨져 있음)
- 게이트: 포토트랜지스터가 도통됩니다. 게이트는 부하 전원의 약 절반을 받습니다 — 12V에서 약 6V입니다
- MOSFET: 닫힌 스위치처럼 완전히 ON입니다. 저항은 몇 mΩ (AOD4184, LR7843) 또는 약 0.2Ω (FR120N)입니다
- 전류 경로: 어댑터 + → + → 부하 → LOAD → MOSFET → − → 어댑터 −
- 부하: 거의 12V 전체, 최대 전력
- 3.3V로 충분한 이유: LED에는 작은 전류만 필요합니다. 5V 보드에서도 작동합니다
상태 3 — PWM 신호 → 일부 전력
- 핀이 하는 일: 초당 약 500–1000번 LOW/HIGH로 전환합니다
- MOSFET이 하는 일: 모든 변화를 따라갑니다 — HIGH 구간에서는 ON, LOW 구간에서는 OFF
- 부하가 받는 것: 12V 펄스. 평균 전압과 전력 = 듀티 사이클 × 최대값
- 듀티 사이클: 핀이 HIGH인 시간의 비율입니다. analogWrite()에서는 듀티 = 값 / 255입니다
12V 전원 예시:
| analogWrite() 값 | 듀티 사이클 | ON 시간 | 평균 전압 | 전력 |
|---|---|---|---|---|
| 0 | 0% | 없음 | 0V | 없음 |
| 64 | 25% | 시간의 1/4 | 약 3V | 약 1/4 |
| 128 | 50% | 시간의 절반 | 약 6V | 약 1/2 |
| 191 | 75% | 시간의 3/4 | 약 9V | 약 3/4 |
| 255 | 100% | 항상 | 12V | 최대 |
- LED 스트립: 더 어둡게 보입니다. 깜박임이 너무 빨라 눈으로는 알 수 없습니다
- 모터, 팬, 펌프: 더 느리게 돕니다. 회전하는 질량이 펄스를 부드럽게 해 줍니다
- 주파수: 약 500 Hz–1 kHz로 유지합니다. PC817은 느립니다. 너무 빠르면 MOSFET이 완전히 스위칭되지 않고, 펄스가 지저분해지며, MOSFET이 뜨거워집니다
- 아래 코드에서: 전력이 10%에서 100%까지 10% 단위로 올라갑니다
WARNING
- 부하 전원은 6V 이상이어야 합니다. 게이트 전압 분배 때문에 5V 부하 전원은 잘 작동하지 않습니다. 부하가 몇 A 이상 흐르면 9V 이상을 사용하세요.
- DC 전용입니다. 이 모듈에 AC 주전원을 절대 연결하지 마세요.
- 보드에 플라이백 다이오드가 없습니다. 모터, 펌프, 솔레노이드, 릴레이 코일에는 부하 양단에 다이오드(예: 1N5819 또는 1N4007)를 추가하세요: 띠(캐소드)는 부하 +에, 다른 쪽 끝(애노드)은 부하 −에 연결합니다.
- 12V를 ESP32 C3 Super Mini의 어떤 핀에도 연결하지 마세요.
MOSFET 모듈과 ESP32 C3 Super Mini 사이의 배선 다이어그램
MOSFET 모듈을 ESP32 C3 Super Mini에 연결하는 방법은 다음과 같습니다:
| 출발 | 도착 |
|---|---|
| ESP32 C3 Super Mini GPIO4 | 모듈 PWM |
| ESP32 C3 Super Mini GND | 모듈 GND |
| 12V 어댑터 + (DC 전원 잭 경유) | 모듈 + |
| LED 스트립 + | 모듈 + (어댑터 +와 같은 단자) |
| LED 스트립 − | 모듈 LOAD |
| 12V 어댑터 − (DC 전원 잭 경유) | 모듈 − |

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 신호 쪽: 짧은 점퍼 와이어 두 개뿐입니다
- 전원 쪽: 나사 단자만 사용합니다 — 12V 선이 ESP32 C3에 닿지 않습니다
- 다른 부하는? 아래 배선 예시를 참고하세요
배선 예시: 더 많은 12V 부하
LED 스트립은 하나의 예일 뿐입니다. 다섯 가지 부하를 더 연결하는 방법은 다음과 같습니다.
모든 부하에서 같은 점:
- ESP32 C3 쪽: GPIO4 → PWM, GND → GND. 이 부분은 바뀌지 않습니다
- 전원: 어댑터 + → 모듈 +, 어댑터 − → 모듈 −
- 부하: 부하 + → 모듈 + (어댑터 +와 공유), 부하 − → 모듈 LOAD
- 전압: 어댑터 전압 = 부하 전압 (12V 부하 → 12V 어댑터). 6V 미만은 안 됩니다
- 전류: FR120N은 작은 부하용입니다 (방열판 없이 약 2A). 더 큰 부하에는 AOD4184 또는 LR7843을 사용하세요
- 코드: 변경 없음. 솔레노이드는 페이드를 빼고 HIGH와 LOW만 사용하세요
빠른 개요:
| 부하 | 플라이백 다이오드 | PWM의 역할 |
|---|---|---|
| 12V DC 모터 | 필요 | 속도 |
| 12V 워터 펌프 | 필요 | 유량 |
| 12V LED 스트립 (단색) | 필요 없음 | 밝기 |
| 12V 솔레노이드 밸브 | 필요 | 없음 — ON/OFF만 가능 |
| 12V 냉각 팬 | 권장 | 속도 |
| 12V 솔레노이드 잠금장치 | 필요 | 없음 — ON/OFF만 가능 |
다이오드 방향: 위 경고 상자와 같습니다 — 띠(캐소드)는 부하 + 선에, 애노드는 부하 − 선에 연결합니다.
DC 모터 (12V)

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 전선: 모터 + → +, 모터 − → LOAD
- 다이오드: 필요
- PWM: 속도를 조절합니다
- 방향: 한 방향만 가능합니다. 반대로 돌리려면 L298N 같은 모터 드라이버를 사용하세요
워터 펌프 (12V)

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 전선: 펌프 + → +, 펌프 − → LOAD
- 다이오드: 필요
- PWM: 유량을 조절합니다
- 주의: 물 없이 작동시키지 마세요
LED 스트립, 단색 (12V)

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 전선: 스트립 + (보통 12V로 표시됨) → +, 스트립 − → LOAD
- 다이오드: 필요 없음 — 코일이 없습니다
- PWM: 밝기를 조절합니다
- 전류: 긴 스트립은 전류를 더 많이 사용합니다. 모듈을 고르기 전에 확인하세요
- 지원하지 않음: RGB 또는 주소 지정형 스트립
솔레노이드 밸브, 상시 닫힘 (12V)

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 전선: 밸브 + → +, 밸브 − → LOAD
- 다이오드: 필요
- 제어: HIGH = 열림, LOW = 닫힘. PWM 없음
냉각 팬 (12V)

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 전선: 빨강 → +, 검정 → LOAD, 노랑 (있는 경우) → 연결하지 않고 비워 둡니다
- 다이오드: 권장 — 저렴하고 안전합니다
- PWM: 속도를 조절합니다. 일부 팬은 낮은 듀티에서 돌지 않으므로 약 30% 이상에서 시작하세요
솔레노이드 잠금장치 (12V)

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 전선: 잠금장치 + → +, 잠금장치 − → LOAD
- 다이오드: 필요
- 제어: 100% 또는 0%만 가능하며, 밝기 조절 같은 단계 조절은 안 됩니다
- 발열: 잠금을 풀 만큼만 짧게 ON 펄스를 주세요. ON 상태로 두면 뜨거워집니다
MOSFET 모듈을 위한 프로그래밍 방법
MOSFET 모듈로 부하를 켜고 끄고 전력을 조절하는 코드는 다음과 같습니다:
- PWM 핀에 연결된 GPIO를 선택합니다:
- 출력으로 설정하고 부하를 OFF 상태로 시작합니다:
- 최대 전력 ON (255 = 듀티 100%):
- 퍼센트로 전력 수준을 설정합니다:
- PWM 주파수: ESP32 C3의 analogWrite()는 기본적으로 1 kHz로 동작합니다. PC817에는 충분히 느리므로 변경할 필요가 없습니다.
- 단순 ON/OFF만 필요하다면? digitalWrite(MOSFET_PIN, HIGH)와 digitalWrite(MOSFET_PIN, LOW)도 사용할 수 있습니다.
ESP32 C3 Super Mini 코드 - MOSFET 모듈
빠른 단계
이 코드가 하는 일:
- 부하를 2초 동안 완전히 ON으로 합니다
- 부하를 2초 동안 완전히 OFF로 합니다
- 0.5초마다 전력을 10%에서 100%까지 10% 단위로 올립니다
- 같은 방식으로 전력을 90%에서 0%까지 내립니다
- 1초 기다린 후 반복합니다
- 각 상태를 9600 보드레이트로 시리얼 모니터에 출력합니다
- 이 보드를 처음 사용하시나요? 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 읽어 보세요.
- 위의 표와 다이어그램에 나온 대로 배선합니다. 12V 어댑터는 아직 꽂지 마세요.
- USB Type-C 케이블로 ESP32 C3 Super Mini를 PC에 연결합니다.
- Arduino IDE를 엽니다. ESP32C3 Dev Module 보드와 올바른 COM 포트를 선택합니다.
- 코드를 복사하여 Arduino IDE에 붙여넣습니다.
- Upload를 클릭합니다.
- 업로드가 시작되지 않으면 BOOT 버튼을 누른 채로 RESET을 눌렀다 떼고, BOOT를 놓은 다음 다시 시도합니다.
- 12V 어댑터를 꽂습니다.
- 시리얼 모니터를 열고 9600 보드레이트로 설정합니다.
- LED 스트립을 지켜봅니다: 최대 밝기, 꺼짐, 천천히 밝아짐, 천천히 어두워짐 순서로 변합니다.
시리얼 모니터 출력
추가 지식
어떤 모듈을 사야 할까요?
- LR7843: 저항이 가장 낮아 큰 전류에서도 가장 시원합니다. 전류를 많이 쓰는 12V/24V 부하(밝은 LED 스트립, 큰 모터)에 가장 좋습니다. 최대 30V.
- AOD4184: 무난한 만능형입니다. 강한 전류로 최대 40V까지 가능합니다. 12V, 24V, 36V 부하에 맞습니다.
- FR120N: 전압이 가장 높지만(최대 100V) 저항도 가장 높습니다. 방열판 없이 약 2A의 작은 부하에만 사용하세요. 24V/48V 작은 부하에 맞습니다.
- 큰 숫자에 대하여: 50A와 161A는 칩의 한계이지 보드의 한계가 아닙니다. 이 작은 보드에서는 열이 실제 한계입니다. 몇 분 후 칩을 만져 보고, 뜨거우면 방열판을 추가하세요.
MOSFET 모듈과 릴레이 중 무엇을 쓸까요?
- MOSFET 모듈: 조용하고, 움직이는 부품이 없으며, 매우 빠르고, PWM이 가능하며, 수명이 깁니다 — DC 부하 전용
관련 튜토리얼:
- ESP32 C3 Super Mini - LED - 페이드 — 작은 LED에 적용한 같은 PWM 개념