COM 포트 번호를 확인하고 정리하는 무료 프로그램, COM Port Widget
COM Port Widget은 방금 꽂은 USB 시리얼 장비가 어느 COM 포트인지 보여 주고, 연결되지 않은 장비가 잡고 있는 COM 번호 예약과 기록을 골라서 정리하는 Windows용 무료 오픈소스(MIT) 위젯입니다.
COM 포트 번호가 COM200, COM300까지 올라가는 이유
펌웨어를 개발하는 PC에는 COM 포트가 금방 쌓입니다. 보드를 새로 꽂아도 어느 번호가 방금 생긴 것인지 알아보기 어렵고, 번호가 COM200이나 COM300까지 올라가기도 합니다.
Windows는 한 번 연결했던 장비의 기록과 COM 번호 예약을 장비를 뽑은 뒤에도 남겨 둡니다. 장비를 꽂고 뽑는 일이 반복되면 이 기록과 예약이 계속 쌓이고, 새 장비는 비어 있는 더 높은 번호를 받습니다.
COM Port Widget은 작은 창으로 COM 포트 목록을 최근 인식 순으로 보여 주고 방금 연결된 포트를 하이라이트합니다. 연결되지 않은 장비의 기록과 예약 번호를 정리하는 기능도 있습니다.
무엇을 하나
연결된 COM 포트를 한 창에 모아 보여 주고, 쌓인 기록은 골라서 정리합니다.
Ctrl+Alt+Shift+C), 항상 맨 위, Windows 시작 시 실행을 지원합니다. 한국어와 영어 화면을 지원하며 기본은 Windows 표시 언어를 따릅니다.Windows 장치 관리자와 COM Port Widget 비교
Windows 장치 관리자의 "포트(COM 및 LPT)" 항목에서도 COM 번호를 확인할 수 있습니다. 두 방법이 보여 주는 내용은 아래와 같이 다릅니다.
| 항목 | Windows 장치 관리자 | COM Port Widget |
|---|---|---|
| 설치 | Windows에 포함되어 있음 | 릴리스 zip을 풀어 exe를 실행. 설치 프로그램 없음 |
| COM 포트 목록 | "포트(COM 및 LPT)" 아래에 장치 이름과 COM 번호 표시 | 인식 시간 내림차순 카드. 번호, 메모, 제조사, 장치 설명, 인식 시간 표시 |
| 방금 꽂은 장치 표시 | 표시 없음 | 최근 5분 안에 인식된 포트를 초록색과 NEW로 표시 |
| 장비 메모 | 메모 기능 없음 | 장비마다 메모를 달 수 있음. 장비를 다른 USB 포트에 꽂아도 같은 장비로 인식되면 유지 |
| 연결되지 않은 장비 | 보기 메뉴에서 숨겨진 장치 표시를 켜야 목록에 나옴 | "연결 안 됨" 그룹에 표시 |
| 기록 없이 예약만 남은 COM 번호 | 목록에 표시되지 않음 | 정리 창에서 선택해 예약만 해제 |
COM 포트 번호 확인과 정리 방법
내려받은 zip을 풀고 ComPortWidget.exe를 실행하면 됩니다. 설치 프로그램은 없습니다. Windows 10 1903 이상에는 .NET Framework 4.8이 들어 있어 따로 설치할 것이 없습니다.
- 01
GitHub Releases에서 ComPortWidget-<버전>-win64.zip을 받아 압축을 풉니다
압축 안에는
ComPortWidget-<버전>폴더가 있고, 그 안에ComPortWidget.exe,LICENSE,NOTICE.md,NOTICE.en.md,THIRD_PARTY_NOTICES.md가 들어 있습니다. 이 폴더를 다운로드 폴더 같은 공용 폴더가 아니라 따로 두고 실행하십시오. 릴리스에는SHA256SUMS.txt도 함께 올라갑니다. - 02
ComPortWidget.exe를 실행합니다
첫 실행에서 Windows 시작 시 자동 실행 여부를 묻습니다. 설정에서 나중에 바꿀 수 있습니다. 창을 닫아도 트레이에 남고, 종료는 트레이 메뉴의 "종료"에서 합니다.
- 03
목록에서 방금 꽂은 장비의 COM 포트를 찾습니다
가장 최근에 인식된 포트가 맨 위에 오고, 최근 5분 안에 인식된 포트는 초록색 NEW로 표시됩니다. 뽑힌 장비는 접혀 있는 "연결 안 됨" 그룹에 있습니다. 항목을 우클릭하면 포트 이름 복사, 메모 편집, 장치 정보 보기를 고를 수 있습니다.
- 04
장비에 메모를 답니다
메모 줄을 클릭해 "RS485 변환기"처럼 장비를 알아볼 이름을 입력합니다. 저장된 메모는 설정 창의 메모 목록에서 지울 수 있습니다.
- 05
설정 창의 "COM 포트 정리…" 버튼이나 트레이 메뉴에서 정리를 시작합니다
지울 항목을 고르면 지워질 항목, 메모, 마지막 인식 시간, 예상 결과("기록 N개 삭제, 번호 M개 해제")가 나오고 한 번 더 확인합니다. 이어서 UAC 창이 뜨며, 정리하는 동안에는 장비를 꽂거나 뽑지 않습니다. 이 기능은 Windows 10 버전 2004 이상에서 동작합니다.
화면은 --demo 모드이며 장치 이름과 메모는 모두 시연용 가짜 데이터입니다. 이 모드는 파일을 만들지 않고 실제 장치도 조회하지 않습니다.
COM 포트 정리는 무엇을 지우나
지우는 것은 연결되지 않은 USB 시리얼 기록(USB, FTDIBUS)의 장치 기록과 COM 번호 예약입니다. 선택했을 때만 지우는 항목은 연결 중인 장비와 같은 키의 미연결 기록, 연결되지 않은 가상·블루투스 포트 기록, 기록 없이 예약만 남은 번호(예약만 해제)입니다. 기본으로 선택되는 것은 미연결 USB 시리얼 기록뿐입니다.
연결된 장비는 목록에 나오지 않고 어떤 경우에도 처리하지 않습니다. 항목을 지우기 직전에 연결 여부를 다시 확인하며, 연결된 장치가 발견되면 남은 항목 전체를 중단합니다. 그 전에 지워진 항목은 되돌려지지 않습니다. 드라이버 파일, 메모, 인식 기록도 지우지 않습니다.
기록을 지운 장비를 다시 꽂으면 Windows가 새 기록을 만들고 비어 있는 번호를 줍니다. 이전과 같은 번호를 받는다는 보장은 없습니다. 지운 기록은 되돌릴 수 없습니다. 실행 전에 ComDB 원본과 삭제 대상 정보를 %APPDATA%\ComPortWidget\backup-<시각>.json에 저장하지만 조사용이며 앱에 되돌리기 기능은 없습니다.
지워질 번호를 쓰던 프로그램이나 설정(터미널 프로그램의 포트 설정, 스크립트에 적은 COM 번호 등)이 영향을 받는지는 사용자가 판단해야 하며, 정리 결과의 책임은 사용자에게 있습니다. 마지막 연결 확인과 삭제 호출 사이에 같은 장치가 꽂히면 그 기록이 지워질 수 있는 등 남아 있는 한계는 저장소의 NOTICE.md에 적었습니다.
자주 묻는 질문
어떤 Windows 버전에서 쓸 수 있나요?
Windows 10 버전 1903 이상, 64비트입니다. .NET Framework 4.8이 이 버전부터 Windows에 들어 있어 따로 설치할 것이 없습니다. COM 포트 정리 기능은 장치 기록 삭제에 쓰는 pnputil /remove-device가 Windows 10 버전 2004부터 있어 그 버전 이상이 필요합니다.
처음 실행하면 SmartScreen 경고가 뜨는 이유는 무엇인가요?
실행 파일에 코드 서명이 없기 때문입니다. "Windows의 PC 보호" 같은 경고가 뜰 수 있으며, "추가 정보"에서 "실행"을 선택할 수 있습니다. 릴리스에 함께 올라가는 SHA256SUMS.txt의 값과 PowerShell의 Get-FileHash 출력을 비교해 받은 파일을 확인할 수 있습니다.
정리할 때 UAC 창에 "확인할 수 없는 게시자"가 표시되는 이유는 무엇인가요?
장치 기록 삭제에는 관리자 권한이 필요하고, 위젯 본체는 일반 권한으로 실행됩니다. 정리를 실행하면 위젯이 같은 ComPortWidget.exe를 정리 전용 모드로 다시 실행하면서 UAC로 승격합니다. exe에 코드 서명이 없어서 UAC 창에는 ComPortWidget.exe가 "확인할 수 없는 게시자"로 표시됩니다. 정리 전용 모드는 창을 만들지 않고, 계획 파일을 다시 검증한 뒤 선택한 항목만 처리하며 시스템 DLL은 System32에서만 읽습니다.
exe는 왜 전용 폴더에 두라고 하나요?
COM 포트를 열지 않습니다. 장치 정보는 레지스트리와 장치 관리 API에서 읽으므로 터미널 프로그램, 플래셔, 디버거가 쓰는 포트에 영향을 주지 않습니다.
네트워크를 쓰거나 데이터를 보내나요?
네트워크를 쓰지 않으며 텔레메트리, 업데이트 확인, 오류 보고가 없습니다. 메모, 직접 관측한 연결·해제 시각, 설정은 %APPDATA%\ComPortWidget\data.json에 저장됩니다. 처리되지 않은 오류가 나면 같은 폴더의 crash.log에 남기며 어디에도 보내지 않습니다. 프로그램이 비정상 종료하면 Windows 오류 보고가 설정에 따라 Microsoft로 보고서를 보낼 수 있습니다.
메모는 장비를 따라가나요?
메모는 장비 키에 붙습니다. USB 장치가 고유 시리얼을 보고하면 COM 번호가 바뀌거나 다른 USB 포트, 다른 허브에 꽂아도 같은 키로 인식되어 메모가 유지됩니다. 정리 기능으로 Windows 기록을 지워도 메모는 남습니다. 시리얼이 없는 장비는 같은 USB 포트에서만 유지됩니다. 여러 제품이 같은 값을 쓰는 것으로 알려진 기본 시리얼도 시리얼이 없는 것으로 처리합니다.
제조사 칸의 회사 이름은 장비를 만든 회사인가요?
제조사 칸은 USB 장치가 알리는 VID(제조사 번호)에 대응하는 USB 칩 제조사를 보여 줍니다. 장비를 만든 회사와 다를 수 있습니다. 예를 들어 CP2102N 칩을 쓴 자체 제작 보드는 Silicon Labs로, FTDI 칩을 쓴 변환기는 FTDI로 나옵니다. 내장 표에 없는 VID는 VID 1234처럼 번호로 표시합니다.
상업적으로 사용해도 되나요?
예. COM Port Widget은 MIT 라이선스 오픈소스입니다. 개인·상업적 사용 모두 무료이며, 소스 코드를 수정하거나 다시 배포하는 것도 라이선스 조건 안에서 가능합니다. 릴리스 exe에는 서드파티 코드와 Microsoft 구성 요소가 들어 있지 않고, Windows에 들어 있는 .NET Framework 4.8을 사용합니다.
소스 코드가 공개되어 있나요?
예. GitHub 저장소에 소스 코드 전체가 MIT 라이선스로 공개되어 있습니다. .NET SDK와 .NET Framework 4.8 개발자 팩으로 직접 빌드할 수 있고, 미리 빌드된 Windows 실행 파일은 릴리스 zip으로 제공됩니다.
다운로드
최신 버전과 소스 코드는 GitHub 저장소에서 받을 수 있습니다. 릴리스 zip(약 98 KiB)에는 Windows 64비트용 ComPortWidget.exe(약 210 KiB)가 들어 있고, SHA256SUMS.txt가 함께 제공됩니다.
COM Port Widget은 아래 회사나 제품과 제휴, 후원, 보증 관계가 없으며 이름은 장치를 설명하는 용도로만 나옵니다. 목록에 나오는 제조사 이름은 USB 장치가 알리는 VID(제조사 번호)에 대응하는 칩 제조사이며, 장비를 실제로 만든 회사와 다를 수 있습니다. FTDI는 Future Technology Devices International Ltd.의, Silicon Labs는 Silicon Laboratories Inc.의, Espressif는 Espressif Systems의, WCH는 Nanjing Qinheng Microelectronics Co., Ltd.의, Adafruit는 Adafruit Industries의, STMicroelectronics는 STMicroelectronics의, Prolific은 Prolific Technology Inc.의, Arduino는 Arduino S.r.l.의, SEGGER는 SEGGER Microcontroller GmbH의, Arm은 Arm Limited의, Microsoft, Windows, .NET Framework는 Microsoft Corporation의 상표입니다. 그 밖의 이름은 각 소유자의 상표입니다. 이 소프트웨어는 있는 그대로 제공되며 어떤 보증도 하지 않습니다.
이런 일도 합니다
㈜너드바나는 2015년 출발해 2018년 법인으로 전환한 임베디드 하드웨어·펌웨어·소프트웨어 위탁 개발 회사입니다. 회로 설계·PCB 설계, 펌웨어 개발, 응용 소프트웨어 개발을 수행합니다.
개발 과정에서 만든 도구 일부를 오픈소스로 공개하고 있으며, AI 기반 임베디드 개발·디버깅 자동화도 연구하고 있습니다. 하드웨어·펌웨어 개발이 필요하시면 문의해 주세요.
