
초소형 ESP32-C3 개발 보드로, 임베디드 보안 연구를 위해 설계되었으며, WiFi 스캔 및 LED 제어 기능을 갖춘 캡티브 포털 예제를 제공합니다. 상세한 하드웨어 빌드 가이드와 펌웨어 플래싱 지침이 포함되어 있습니다.
f32는 USB-C 리셉터클 바로 뒤에 장착되도록 설계된 초소형 ESP32 개발 보드입니다. PCB 크기는 9.85 mm x 8.45 mm에 불과합니다. ESP32-C3FH4 마이크로컨트롤러로 구동되며, 주로 연구 목적과 ESP32에 대한 일종의 스트레스 테스트를 위해 제작되었습니다. 많은 표준 설계 지침을 의도적으로 무시했기 때문입니다. 노출된 GPIO는 단 하나이며 온보드 LED에 연결되어 있으므로, 여기서의 개발은 주로 Wi-Fi/웹에 맞춰질 것입니다.
f32를 테스트하기 위해 사용자가 상호작용할 수 있는 예제 애플리케이션이 만들어졌습니다. 이 애플리케이션은 f32를 캡티브 포털로 전환하여 전원이 켜지면 사용자가 주변 WiFi 네트워크 중에서 선택할 수 있는 개방형 액세스 포인트로 나타납니다. 그러면 사용자는 자동으로 f32의 제어 페이지로 이동하여 LED 켜기, 주변 WiFi 네트워크 스캔과 같은 기본 기능을 사용할 수 있습니다. 또한 장치에 대한 간략한 개요를 제공하는 "정보(About)" 페이지도 있습니다. 아래는 장치와 상호작용하는 스크린샷과 GIF입니다.
캡티브 포털의 메인 페이지. |
WiFi 검색 및 LED 켜짐 상태. |
정보 페이지. |
처음에는 f32가 제대로 작동하지 않는 것 같았습니다. 어떤 네트워크에도 연결할 수 없었고 자체 네트워크를 브로드캐스트할 수도 없었습니다. 이는 확실히 안테나 회로가 부실하거나 아예 없기 때문이라고 100% 확신하지만, 아래 그림과 같이 칩 안테나에 추가로 작은 안테나를 납땜한 후에는 작동하게 만들 수 있었습니다. 이는 첫 번째 리드 위에 떠 있는 형태로 끝 리드에 납땜된 구부러진 전선 조각이었습니다.
화려한 신호 테스트 장비가 없기 때문에 장치에 여전히 연결할 수 있고 LED를 제어할 수 있는지 확인하는 등의 수동 테스트에 의존했습니다. f32를 지상 약 3피트 높이에 두고 가시선 테스트를 한 결과, 약 120피트 거리에서 연결하여 스캔을 수행하고 LED를 제어할 수 있었습니다! 아래의 매우 필요한 그림에서 이를 확인할 수 있습니다.
PCB는 DipTrace로 설계되었으며 PCBWay에서 제작되었습니다. 보드 두께는 0.6mm, 최소 홀 크기는 0.2mm, 최소 트랙/간격은 4/4mil입니다. 제작 당시 배송비 포함 5개 보드에 단 10.75달러였습니다! 아직도 믿기지 않습니다. PCBWay는 조립 서비스도 제공하지만, 저는 집에서 직접 조립하며 고생하기로 선택했습니다. 이렇게 작은 부품들을 다루는 데는 몇 번의 시행착오가 필요했지만, 제게 가장 좋은 방법은 스텐실을 포기하고 플럭스를 가장 친한 친구로 삼는 것이었습니다.
사용된 도구 및 부품:
제작 단계:
hardware 폴더에 있는 거버 파일 f32_gerber.zip을 위에 명시된 사양으로 PCBWay에 보냅니다.f32_bom.pdf에 명시된 부품을 주문합니다. 이 부품들은 DigiKey와 Mouser 모두에서 찾을 수 있으며, 안테나는 예외입니다. 원래 어디서 주문했는지 기억나지 않지만 CrossAir CA-C03인 것으로 생각합니다.
f32_reference.pdf에 따라 윗면 부품을 배치하기 시작합니다.
조립 후 ESP-IDF VSCode 확장 프로그램이나 Arduino를 사용하여 원하는 펌웨어를 업로드하거나 아래 단계에 따라 제 예제 애플리케이션을 업로드할 수 있습니다.
esptool.py에 접근 가능한지 확인하세요.esptool 버전이 v4 이상인지 확인하세요.<PORT>를 장치가 연결된 포트로 교체하세요. 예를 들어 Windows에서는 일반적으로 COM5, Linux에서는 /dev/ttyACM0입니다.esptool.py -p <PORT> -b 460800 --before default_reset --after hard_reset --chip esp32c3 write_flash --flash_mode dio --flash_freq 80m --flash_size 2MB 0x0 firmware/bootloader.bin 0x10000 firmware/f32_internal.bin 0x8000 firmware/partition-table.bin
그것은 여러분이 결정할 문제입니다. 저는 개인적인 연구와 재미있는 학습 경험을 위해 이 프로젝트를 시작했습니다. 몇 년 전에 실수로 01005 부품을 주문한 이후로 항상 이 부품을 사용하는 프로젝트를 하고 싶었습니다. 어떤 용도로 사용하든, 이 설계는 적절한 디커플링 커패시터, 안테나 매칭 회로, USB 종단 저항 등 여러 기본 구성 요소를 의도적으로 생략했다는 점을 기억하세요. 작동은 하지만 의도적으로 최소한의 구성으로 설계되었습니다.
마지막으로, 재미있는 우연의 일치로, ESP32 칩, 안테나, LDO 모두 "C3" 모델입니다!