- ESP32-S3 마이크로컨트롤러를 즉시 부팅 가능한 소형 PC로 전환해 셸, 편집기, 컴파일러, 앱 설치기를 제공하는 데모 프로젝트
-
BreezyBox는 ESP-IDF용 미니 셸 컴포넌트로, UNIX 유사 명령과 vterm, VFS 기능을 포함
- 이 데모는 Waveshare ESP32-S3-Touch-LCD-7B 보드에서 동작하며, 다른 보드에도 쉽게 적용 가능
- 사용자는 포크 후 자신의 보드에서 실행하거나, USB 콘솔을 통해 표준 ANSI 코드 출력을 활용 가능
- MIT 라이선스로 공개되어 있으며, 추가 테스트와 예제 기여를 통해 생태계 확장을 목표로 함
BreezyBox 개요
- ESP32-S3를 리눅스 없이도 PC처럼 사용하는 데모 프로젝트로, 셸·편집기·컴파일러·앱 설치 기능을 제공
- Raspberry Pi와 유사한 사용성을 지향하지만, 서버/데스크톱급 OS의 오버헤드가 없음
- BreezyBox는 ESP-IDF 기반의 미니 셸 컴포넌트로, 간단한 명령 실행 환경을 구성
- ESP32-S3는 DOS 시대 PC와 유사한 자원 구조를 가지며, 무선 통신 기능을 포함
- 프로젝트는 이 칩의 잠재력을 “작고 우아한 기술” 로 표현하며, 코드 부피를 최소화
BreezyBox의 구성
- BreezyBox는 vterm, VFS, CWD 추적, UNIX 유사 명령, 앱 설치기를 포함
- ELF 로더와 동적 링크 기능은 ESP-IDF 컴포넌트에 이미 포함되어 있음
- 이름은 BusyBox에서 착안했으며, FreeRTOS 위에서 동작하는 사용자 영역 계층 형태
- ESP-IDF 프로젝트에 한 줄로 추가 가능하며, 기본 입출력만 있어도 작동
데모 리포지토리 특징
- 이 리포지토리는 BreezyBox의 예시 구현으로, 특정 보드(Waveshare ESP32-S3-Touch-LCD-7B)에 맞춰 구성
- BreezyBox는 디스플레이 및 보드 설정을 사용자 펌웨어에 위임
- 사용자는 코드를 참고해 자신의 보드나 디스플레이에 맞게 수정 가능
-
LVGL 텍스트 라벨 컨트롤을 사용하면 LCD 출력 구현이 간단하며, USB 콘솔에서도 실행 가능
사용 방법
- 리포지토리를 포크 후 클론하여 자신의 보드에서 실행 가능
- 약 40유로의 보드에서 테스트되었으며, 저가형 LCD S3 보드에서도 사용 가능
- USB 콘솔을 이용하면 VSCode의 IDF Monitor나 Tabby에서 ANSI 코드 출력 확인 가능
- 폰트 렌더러는 직접 작성했으나, 이는 30FPS 이상 성능 확보를 위한 선택적 구현
기여 및 확장
- 프로젝트는 MIT 라이선스로 공개되어 자유롭게 수정 및 배포 가능
- 기여 요청 항목
-
ELF 앱 추가: breezyapps 리포지토리의 예시를 참고해 새로운 앱 제작 가능
-
다양한 보드용 펌웨어 예시: C/C++ 기반, GUI 포함, 레트로 게임 포팅 등 다양한 형태 제안
- 목표는 더 많은 사용자가 BreezyBox를 활용하고, 즉시 복제 가능한 예제 생태계를 확장하는 것