피드로 돌아가기
I Built a $15 Smart Home Controller (and Why Phones Are Bad Dashboards)
Dev.toDev.to
Infrastructure

15달러 하드웨어로 구현한 UX 중심 스마트 홈 컨트롤러 설계

I Built a $15 Smart Home Controller (and Why Phones Are Bad Dashboards)

The Refactored Road2026년 4월 4일6intermediate

Context

스마트 홈 제어 시 모바일 앱의 복잡한 진입 경로로 인한 낮은 사용성 발생. 앱 실행과 메뉴 탐색 과정이 실제 물리 버튼 조작보다 비효율적인 구조. 실시간 상태 확인과 즉각적인 제어가 가능한 전용 물리 인터페이스 필요성 대두.

Technical Solution

  • ESP32 기반의 Cheap Yellow Display(CYD)를 활용한 저전력 독립 제어 단말기 구축
  • YAML 기반 ESPHome의 MQTT 토픽 구조 한계를 극복하기 위해 PlatformIO와 C++ 기반의 커스텀 펌웨어로 전환
  • TFT_eSPI 및 espMqttClient 라이브러리를 사용한 디스플레이 렌더링과 MQTT 통신 최적화
  • 320x240 저해상도 환경에서 가독성을 높이기 위해 색상 기반 상태 배지와 컨텍스트 기반 액션 버튼 설계
  • 디스플레이(40MHz)와 터치 컨트롤러(2.5MHz)의 SPI 클럭 차이 해결을 위해 HSPI와 VSPI 하드웨어 버스 분리
  • MQTT 콜백의 비동기 업데이트로 인한 SPI 충돌 방지를 위해 불리언 플래그 기반의 메인 루프 갱신 방식 도입

Impact

  • 하드웨어 구축 비용 20유로 미만 달성
  • 전력 소모량 약 0.5W 수준의 저전력 구동
  • 디스플레이 해상도 320 x 240 픽셀 최적화

Key Takeaway

임베디드 환경의 공유 리소스 접근 시 비동기 콜백 내 직접 제어보다 상태 플래그를 통한 동기화 처리가 시스템 안정성 확보에 필수적임.


SPI 버스 공유 시 주변 장치 간 클럭 속도 차이를 확인하고, 상이할 경우 물리적 버스 분리 또는 속도 재설정 로직을 구현할 것

원문 읽기