ESP32는 환상적인 소형 보드입니다. 15분 만에 Wi-Fi 데드존을 해결하거나 완벽한 소형 여행용 라우터로 변환할 수도 있습니다. 하지만 ESP32 보드는 겉보기엔 비슷해 보여도 내부적으로는 매우 다를 수 있으며, 이러한 차이로 인해 프로젝트가 완전히 중단될 수도 있습니다.

저는 여러 개의 ESP32를 가지고 있지만, 항상 모두 똑같다고 생각하며 구매해 왔습니다. 알고 보니 잘못된 보드를 선택하는 것이 큰 차이를 만들 수 있었습니다. 특히 메모리가 필요하거나 작업 부하가 큰 프로젝트를 진행할 때는 더욱 그렇습니다.

관련 글

모든 ESP32 보드가 동일하게 만들어진 것은 아닙니다

주요 하드웨어 차이를 숨기는 명명 체계의 혼란

혼란은 이름 자체에서 시작됩니다. ESP32 제품군을 만든 Espressif는 ESP32라는 이름 아래 여러 세대의 칩을 출시했습니다. 겉모습은 같지만 자세히 보면 S2, S3, C3 등과 같은 접미사로 구분됩니다.

사람들이 흔히 ESP32-S라고 말할 때는 보통 ESP32-S2(또는 종종 ESP32-S3)를 의미합니다. 이는 단순한 하드웨어 수정 버전이 아닙니다. 각각 고유한 기능과 하드웨어 요구 사항을 가진 완전히 다른 칩입니다.

2016년에 출시된 오리지널 ESP32는 최대 240MHz로 작동하는 Tensilica Xtensa LX6 프로세서를 기반으로 한 듀얼 코어 칩이며, 520KB의 SRAM과 Wi-Fi 및 Bluetooth(Classic 및 BLE)를 모두 갖추고 있습니다. ESP32-S2는 LX7 프로세서를 기반으로 한 싱글 코어 칩으로, 320KB의 SRAM만 있으며 무엇보다 Bluetooth 기능이 전혀 없습니다. 반면 ESP32-S3는 듀얼 코어 LX7 프로세서와 함께 Bluetooth 5.0(BLE만 지원)을 추가했습니다. 결정적으로 외부 RAM과 관련해서는 완전히 다른 칩이며, 종종 최대 8MB(또는 그 이상)의 PSRAM을 탑재하여 큰 차이를 만들어냅니다.

안타깝게도 각 칩을 단순히 "ESP32 모듈"이라고 표기하는 제품 설명만으로는 이러한 차이를 알 수 없습니다.

PSRAM이 모든 것을 바꿉니다

프로젝트의 성공 여부를 결정짓는 기능

정말 혼란스러운 상황은 ESP32 AdBlocker와 같은 프로젝트를 다룰 때 발생합니다. ESP32를 DNS 싱크홀로 만들어 광고와 추적기를 차단하려면 시중에서 구할 수 있는 아무 ESP32 보드가 아니라, 최소 4MB의 PSRAM이 탑재된 보드가 필요합니다.

이 글도 확인해 보세요:  블루투스 LC3 코덱이란? SBC보다 더 나은 코덱인가요?

PSRAM은 칩의 사용 가능한 메모리를 온다이(on-die) SRAM보다 훨씬 더 확장해 주는 외부 RAM의 일종입니다. ESP32 AdBlocker의 GitHub 문서에는 전체 크기의 차단 목록을 호스팅하려면 8MB PSRAM이 탑재된 ESP32-S3가 필요하며, 4MB PSRAM이 탑재된 표준 ESP32는 목록이 잘릴 수 있다고 명시되어 있습니다. 두 버전 모두 기술적으로는 작동하지만, PSRAM이 있어야만 가능합니다.

바로 여기서 문제가 발생합니다. ESP32 보드라고 해서 모두 PSRAM이 탑재된 것은 아니며, 따라서 해당 프로젝트에 사용할 수 있을지 없을지 알 수 없습니다. 또한 이와 같은 작업 부하에서 S3는 오리지널 ESP32보다 약 2배 빠르며, 프로젝트 문서에 따르면 도메인 검색 시간이 50마이크로초 미만입니다.

PSRAM이 없는 베어본 ESP32-S2와 같은 잘못된 보드를 구매하면 프로젝트가 제대로 실행되지 않습니다. Arduino IDE에서 필요한 변경 사항을 적용하여 코드를 보드에 플래싱할 수 있더라도, 프로젝트를 제대로 실행할 하드웨어가 부족하기 때문입니다. 보드가 시리얼 모니터에 유용한 오류 메시지를 보고하기도 전에 충돌하여 부팅 루프에 빠질 가능성이 높기 때문에 명확한 오류를 확인하기도 어렵습니다.

온라인 제품 설명은 상황을 더 어렵게 만듭니다

혼란스러운 사양, 오해의 소지가 있는 라벨, 곳곳에 누락된 세부 정보

문제는 Espressif의 명명 방식뿐만이 아닙니다. 소매업체들은 ESP32 Devkit, ESP32-S Devkit, ESP32-S3 Devkit 등 일관성 없는 포괄적 용어를 사용하여 혼란을 가중시키고 있으며, 이 모든 것이 동일한 검색 결과에 나타납니다.

같은 칩 세대 내에서도 PSRAM 차이가 존재합니다. 오리지널 ESP32는 PSRAM이 있는 버전과 없는 버전으로 나뉩니다. WROVER 모듈에는 포함되어 있지만, 더 흔하고 저렴한 WROOM에는 없습니다. 따라서 기술적으로는 올바른 오리지널 ESP32 보드를 구매했더라도 PSRAM이 필요한 프로젝트에는 사용할 수 없는 상황이 발생할 수 있습니다. ESP32는 홈 네트워크에 많은 도움을 줄 수 있지만, 잘못된 제품을 구매하면 소용이 없습니다.

가장 좋은 방법은 보드를 구매하기 전에 프로젝트의 하드웨어 요구 사항을 읽는 것입니다. 일반적으로 WROVER 버전의 오리지널 ESP32는 4MB PSRAM을 탑재하고 있어 대부분의 중간 복잡도 프로젝트에 적합합니다. 8MB PSRAM이 탑재된 ESP32-S3는 DNS 싱크홀 및 대규모 데이터 세트 프로젝트에 가장 좋은 선택이며, ESP32-S2는 Bluetooth가 필요 없는 USB OTG 및 전력 민감형 애플리케이션에 더 적합합니다. C3 또는 C5 버전은 단순하고 저전력인 센서 역할 등 다른 모든 곳에서 잘 작동합니다.

이 글도 확인해 보세요:  암호화폐 추세 반전이란 무엇인가요? 추세 반전이 일어나기 전에 어떻게 발견할 수 있을까요?

구매 전 ESP 확인하기

비용과 좌절을 줄여주는 빠른 체크리스트

따라서 다음(또는 첫 번째) ESP32 보드를 구매하기 전에 세 가지를 자문해 보십시오. 프로젝트에 Bluetooth가 필요한가요? 그렇다면 ESP32-S2는 완전히 배제하십시오. 프로젝트에 PSRAM이 필요한가요? 그렇다면 WROVER 또는 온보드 PSRAM이 명시된 S3 보드를 명확히 찾으십시오. 마지막으로, 프로젝트 하드웨어 노트에 특정 보드나 칩 변형을 사용하라고 명시되어 있다면 제품 제목보다 해당 내용을 신뢰하십시오.

관련 글

ESP32 생태계는 매우 흥미로우며, 어떤 버전을 선택하든 이 작은 보드들은 많은 일을 할 수 있습니다. 하지만 저렴한 비용 뒤에는 대부분의 튜토리얼에서 명확히 설명하지 않는 명명 체계의 재앙이 숨어 있습니다. 구매 전 5분만 투자하여 문서를 읽어보세요. 그러면 새 보드가 도착하기를 기다리는 동안 손에 든 완벽하게 작동하지만 기술적으로는 잘못된 보드를 보며 좌절하는 일을 피할 수 있을 것입니다.

By 이지원

상상력이 풍부한 웹 디자이너이자 안드로이드 앱 마니아인 이지원님은 예술적 감각과 기술적 노하우가 독특하게 조화를 이루고 있습니다. 모바일 기술의 방대한 잠재력을 끊임없이 탐구하고, 최적화된 사용자 중심 경험을 제공하기 위해 최선을 다하고 있습니다. 창의적인 비전과 뛰어난 디자인 역량을 바탕으로 All Things N의 잠재 독자가 공감할 수 있는 매력적인 콘텐츠를 제작합니다.