정보기술 · 정보통신 ·
일회용 전자담배로 웹서버 구축한 개발자 화제
24KB 저장공간·3KB 메모리로도 웹사이트 호스팅 성공..."창의적 재활용" 주목
폐기물에서 발견한 마이크로컨트롤러로 웹서버 개발
[한국정보기술신문] 해외 한 개발자가 일회용 전자담배에 탑재된 마이크로컨트롤러를 활용해 완전히 작동하는 웹서버를 구축했다고 발표해 화제가 되고 있다. 개발자 보그단(Bogdan)은 자신의 블로그를 통해 친구와 가족들로부터 수집한 폐기 전자담배에서 PUYA 마이크로칩을 발견하고 이를 웹서버로 개조한 과정을 상세히 공개했다.
보그단은 처음에는 단순히 배터리를 재활용할 목적으로 전자담배를 분해했지만, 최근 일회용 전자담배들이 USB-C 포트와 충전 배터리를 탑재하는 등 고도화되면서 내부에서 예상보다 성능이 뛰어난 칩을 발견하게 됐다고 설명했다.
극한의 하드웨어 사양으로 웹사이트 호스팅 실현
이번 프로젝트에 사용된 마이크로컨트롤러는 PUYA PY32F002B 칩으로, 24MHz ARM Cortex-M0+ 프로세서와 24KB 플래시 저장공간, 3KB 정적 메모리(RAM)라는 극도로 제한된 사양을 갖추고 있다. 개발자는 "10년 된 스마트폰도 구글을 제대로 로드하기 어려울 정도로 낮은 성능이지만, 나는 이를 매우 빠른 웹서버로 본다"고 설명했다.
웹서버 구축을 위해 보그단은 임베디드 ARM 마이크로컨트롤러용 시스템 콜인 '세미호스팅(semihosting)' 기술과 다이얼업 모뎀 시절 사용됐던 SLIP(Serial Line Internet Protocol) 프로토콜을 활용했다. 또한 메모리 효율성을 고려해 uIP라는 경량 IP 스택을 선택했다.
성능 최적화로 실용적 웹서버 완성
초기 구현에서는 핑(ping) 응답시간이 1.5초에 달하고 50%의 패킷 손실률을 보였으며, 간단한 웹페이지 로딩에도 20초 이상이 소요됐다. 하지만 개발자는 데이터 전송 방식을 개선하고 링 버퍼를 추가해 읽기 작업을 캐싱하는 방식으로 성능을 대폭 개선했다.
최종 완성된 웹서버는 핑 응답시간 20ms, 패킷 손실률 0%, 전체 페이지 로딩시간 160ms를 기록하며 실용적인 수준의 성능을 달성했다. 현재 시스템은 플래시 메모리의 20.82%(5,116바이트), RAM의 44.92%(1,380바이트)를 사용하고 있어 추가 기능 구현에도 충분한 여유 공간을 확보했다.
이 프로젝트는 단순히 웹페이지를 제공하는 것을 넘어 JSON API 엔드포인트를 통해 서버 측 코드 실행도 지원한다. 개발자는 메인 페이지 요청 횟수와 마이크로컨트롤러의 고유 ID를 제공하는 API를 예시로 구현했다.
보그단은 "React 같은 대용량 프레임워크는 불가능하지만, 이 블로그 포스트 전체를 호스팅하기에는 충분한 저장 공간"이라며 극한의 제약 조건에서도 의미 있는 웹서비스 구축이 가능함을 입증했다. 이번 프로젝트는 전자폐기물의 창의적 재활용 방안과 동시에 최소한의 자원으로도 웹서비스 개발이 가능함을 보여주는 사례로 주목받고 있다.
한국정보기술신문 정보기술분과 최수하 기자 news@kitpa.org