[ESP32] 펌웨어(Firmware) 라이팅 - 하드웨어 기본 연결

ESPRESSIF|2025. 9. 5. 13:45

하드웨어 연결 - UART0 디버그 포트 연결

 

1) UART0 RX, UART0 TX, GND 가 UART-USB전환보드를 통하여 PC에 연결

2) PC에서 COM port 인식 확인

3) 전원 : 외부 전원 혹은 UART-USB전환 보드에서 전원을 인가하여도 됩니다.

4) 모든 전원 및 전압 레벨은 반드시 3.3V이어야 합니다. 

5) USB-UART전환 보드는 수동형과 자동형이 있습니다. 

 

* 수동형 : EN핀과 BOOT핀 연결이 없는 보드, Flow control사용 불가, 수동으로 펌웨어 라이팅 모드 진입 필요

 

* 자동형 : EN핀과 BOOT핀 연결이 있는 보드, Flow control사용, 자동으로 펌웨어 라이팅 진행

  (참고 사이트 : https://devicein.tistory.com/103)

 

EN핀과 BOOT핀의 역활

 

1) EN핀의 역활 : EN핀이 High에서 ESP32가 동작하고, Low에서 OFF 상태 입니다. 리셋시 Low => High로 하면됩니다. 

2) BOOT 핀의 역활

  -  Low유지하고 리셋 (전원인가)하여 부팅하면 펌웨어 라이팅 모드로 진입

  -  High (혹은 Floating)에서 전원 인가시 정상 동작으로 부팅

  -  BOOT핀은 칩 종류 핀번호가 다릅니다.  (DATA SHEET의 Bootstrap pin 참고)

      ESP32, ESP32-S2,ESP32-S3 - GPIO0

      ESP32-C3, ESP32-C6 - GPIO9

 

연결 확인

 

1) Boot pin을 Low로 하고 전원을 인가하면, Booting로그가 나옵니다.(Baud : 115200)

부팅로그가 나오지 않으면, Hardware문제 입니다. (전원, EN핀 처리문제, 케이블 문제 등)

펌웨어가 없어도 부팅로그는 나와야 합니다. 

 

(ESP32 부팅로그 예, GPIO0 - Low에서 전원인가시)

 

펌웨어 라이팅 모드 진입 방법

 

자동 다운로드형 UART-USB전환보드 사용시 : Boot 핀을 강제로 Low로 할 필요 없고, 연결만 되면 됩니다. PC프로그램에서 자동으로 Boot핀을 Low로 하고 리셋을 처리 합니다. 

 

수동 UART-USB 전환 보드 사용시 

1) Boot 핀 Low 유지

2) 전원 리셋 (EN핀 리셋 혹은 전원 전원 리셋)

3) 이 후 Boot핀은 Low든 High든 상관 없습니다. 


원리 : Boot 핀(GPIO0)이 Low에서 EN핀(Chip PU)이 올라가면서 부팅이 이루어 집니다. (펌웨어 라이팅 모드 진입 일반 동작은 GPIO0이 High로 한후 리셋하면 됩니다.)

 

VDD3.3V는 EN핀(Chip PU)가 올라가기 이전에 안정화를 맞추어야 합니다.

그러므로, EN핀의 R/C delay값은 중요하며, 반드시 부팅 sequence가 맞는지 확인을 하여야 합니다. 

연결 예시 (자동형)