

ESP32 S3 의 보드에는 보통 2개의 USB 포트가 있다.
한 개는 USB OTG 용으로 업로드와 디버그로 사용되고 PC에서 USB 장치로 인식한다.
다른 한개는 USB 시리얼 포트로 인식된다.
USB 포트가 두 개 있더라도 제조사에 따라서 다르니 주의해야 한다.
내가 갖고 있는 위 쪽 이미지의 보드는 좌측이 USB OTG 포트이지만 아래쪽 사진은 espressif 공식 문서의 보드인데 반대로 되어있다.
업로드는 USB OTG 포트로 진행해야 가능하다.
때문에 별다른 설정 없이 Arduino 프레임워크에서 Serial.print()함수를 쓰게 되면
업로드한 포트에서는 시리얼 메세지가 보이지 않고 반대쪽 USB 포트에 연결해야 시리얼 메시지를 볼 수 있다.

두개의 포트를 구별하는 방법은 USB OTG 포트는 "직렬 장치" 처럼 간단하게 표시되어 있고 USB to UART(Serial) 포트는 CH343이나 CP210X 같은 USB - Serial 칩 이름이 표시되므로 구분할 수 있다.
때문에 시리얼 모니터로 디버그라도 하려면 OTG - UART 양쪽 USB 포트를 계속해서 번갈아 가면서 업로드와 모니터를 반복하는게 불편한 점이다.
USB 케이블을 양쪽으로 연결 해놓고 한쪽으로 업로드, 한쪽으로 시리얼 모니터를 연결해서 사용하면 별 문제가 없지만 USB 케이블을 하나만 사용하여 개발하기엔 불편하므로 USB OTG 포트로 시리얼 메세지를 출력할 수 있는 방법이 있다.
Arduino IDE기준
코드 상단에 아래의 flag 설정을 선언한다.
Platformio 기준
platformio.ini 파일에 build_flags를 아래와 같이 설정해주면 된다.
이 방법의 한계는 부팅 시 자동으로 출력되는 메시지는 표시되지 않는다.
'ESP32 > ESP32-S3' 카테고리의 다른 글
| ESP-IDF ESP32 (ESP32-S3) 이산화 탄소 농도 센서 MH-Z19B 읽기 (1) | 2025.04.20 |
|---|---|
| ESP-IDF ESP32 (ESP32-S3) 스태핑 모터 RMT 제어 DM556 모터 드라이버 (5) | 2025.04.20 |