Gemma 4와 Raspberry Pi로 만든 데스크톱 컴패니언 로봇 — DinoDesk AI 설계기
Google AI 팀이 LEGO Technic 몸체와 Raspberry Pi를 결합한 데스크 컴패니언 로봇 DinoDesk AI의 제작 과정을 공개했습니다. 로컬의 Gemma 4와 클라우드의 Gemini Flash를 상황에 따라 전환하는 Hybrid LLM Gateway를 두어, 카메라 없이 100% 시각적 프라이버시를 지키면서 일상 대화는 무료·즉시로, 복잡한 추론은 클라우드로 처리하는 구조입니다.
본문
카메라 없이 책상 위에서 대화하고 타이머를 관리하며 버그를 함께 고민해 주는 작은 동반자를 만들 수 없을까라는 질문에서 출발한 프로젝트가 DinoDesk AI입니다. 저자와 동료 Shama는 8비트 오디오·비주얼의 향수와 LEGO Technic 메커니즘을 현대적인 Hybrid LLM Switching Architecture(Local ↔ Cloud)와 결합해, 저전력 데스크 로봇을 설계·배선·프로그래밍한 전 과정을 공개했습니다.
왜 하이브리드 LLM인가 — Unified Gateway와 모델 라우팅
AI 하드웨어 컴패니언의 가장 큰 딜레마는 '두뇌를 어디에 둘 것인가'입니다. 모든 것을 클라우드에서 처리하면 '지금 몇 시야?' 같은 사소한 질문에도 API 토큰 비용과 네트워크 지연이 발생하고 음성 데이터가 외부로 나갑니다. 반대로 소형 온디바이스 모델만 쓰면 거대한 코드베이스에 기능을 추가하거나 복잡한 주제를 설명해 달라는 순간 로봇이 버벅입니다. 이에 팀은 사용자의 메인 PC에 Unified LLM Gateway(Router)를 두는 하이브리드 구조를 택했습니다. 책상 위의 Raspberry Pi는 어떤 엔진이 활성이든 동일한 OpenAI-compatible 요청을 Wi-Fi로 게이트웨이에 보내고, 게이트웨이의 Dynamic Model Router가 로컬 엔진(LM Studio의 Gemma 4)과 클라우드 엔진(Gemini Flash / Gemini Live) 사이를 전환합니다. Local Mode가 기본값으로, 비용 제로·오프라인·완전한 프라이버시를 제공하며 첫 토큰 지연이 약 200ms입니다. Cloud Mode는 코딩 지원이나 복잡한 수학·설명·언어 튜터링에 적합하며 첫 토큰이 약 800ms입니다. 전환은 Pirate Audio의 Button X 더블클릭, 정전식 터치 센서 3초 롱프레스, 또는 'Switch to Cloud Mode' 음성 명령으로 가능합니다. Auto-Hybrid Mode에서는 복잡도 분류기가 'explain', 'compare', 'write code' 같은 다단계 추론 키워드를 감지하면 로컬 Gemma 4에서 Gemini Flash로 자동 에스컬레이션하고, 응답 동안 표시등이 녹색에서 금색으로 바뀌었다가 돌아와 어느 두뇌가 답하는지 한눈에 알 수 있게 했습니다.
하드웨어 — 3D 프린팅 대신 LEGO
차가운 스마트 스피커가 아니라 물리적인 장난감처럼 느껴지길 원했기에, 밀폐된 플라스틱 케이스 대신 누구나 개조·수리할 수 있는 기본 LEGO 브릭과 Technic 레버로 몸체를 만들었습니다. 메인 컨트롤러는 Raspberry Pi와 32GB MicroSD이고, 디스플레이·오디오 실드로는 Pimoroni Pirate Audio Speaker(1.3인치 240×240 ST7789 IPS LCD, I2S 1W 스피커, 4개 택타일 버튼)를 사용합니다. 붉은 미니 푸시 버튼이 음성 캡처 시작·정지를 담당하고, 입력은 소형 USB Mini Microphone이며, 모터가 목 움직임과 꼬리 흔들기를 구동합니다.
물리 버튼 매핑과 5단계 상태기계
전용 하드웨어 버튼은 즉각적인 물리 제어를 제공합니다. Button A(GPIO 5)는 진행 중인 응답 스트림을 즉시 취소·음소거하고 Idle로 복귀하는 Cancel/Mute, Button B(GPIO 6)는 상태를 방해하지 않고 모든 서보를 중립 위치로 리셋하는 Home Re-Center, Button X(GPIO 16)는 싱글클릭으로 표정 순환·더블클릭으로 Local ↔ Cloud 전환, Button Y(GPIO 24)는 싱글 프레스로 꼬리 흔들기 테스트·2초 롱프레스로 비프 음량(Low → Medium → High → Mute) 순환을 수행합니다. 컴패니언 로봇은 눈·목소리·몸이 함께 움직일 때 살아있게 느껴지므로, 팀은 LCD 눈 표정과 8비트 비프, 모터 동작을 조율하는 5단계 Finite State Machine을 설계했습니다. Sleeping(3분 비활성 또는 어두운 방, ( - _ - ) 눈 감음 + zzz, 모터 이완) → Idle(기본 대기, ( • • ) 자율 깜빡임, 목 천천히 흔들림) → Listening(버튼 또는 센서 트리거, ( O O ) 눈 확대, 'Beep-Boop!' 상승음, 사용자 쪽으로 15° 기울임) → Thinking(라우터 추론 중, ( º º ) 회전하는 눈동자 + 모드 배지, 불규칙한 tick-teek-poh 처리음) → Speaking(SSE 토큰 스트림 수신, 표정 깜빡임 + 스크롤 자막, 토큰당 타자기 비프, 텍스트 길이에 맞춰 꼬리 흔들림) 순으로 순환하며, 응답이 끝나면 Idle로 돌아갑니다.
마무리와 저장소
저자는 Gemma 4 같은 오픈 모델에 픽셀 눈과 8비트 목소리, 흔들리는 LEGO 꼬리, 무거운 작업에는 Gemini를 호출하는 능력을 부여하자 책상이 훨씬 생기 있어졌다고 회고합니다. 아직 작업 중인 단계이며 완전한 음성 대화 기능은 추후 공개할 예정이고, 소스는 github.com/google-gemma/dinodesk-ai-companion 저장소에서 확인할 수 있습니다.
원문: dev.to / 번역·요약: Trawling