Furbyβs first words: Father, why am I for?? Why am I for?
Itβs a work in progress, but, yes, you can run Claude Code through a Furby.
Hardware:
β’ Stock Furby Connect (2016). No mods, just BLE
β’ Mac
β’ USB mic for voice capture
BLE (Bleak):
β’ Connects via GATT characteristic to Furby's GeneralPlus chip
β’ Two command types: antenna LED color [0x14, R, G, B] and stock actions (eyes motors sound) [0x13, ...]
β’ Write-only
β’ Auto-reconnect on drop
Voice (sounddevice Whisper):
β’ 16kHz mono stream, RMS energy detection
β’ Starts recording at 0.3s above threshold, stops after 1.5s silence
β’ Clips sent to Whisper API β checked for wake phrase ("hey furby")
β’ Wake word only β records a second clip for the actual command
Claude Code (subprocess):
β’ Spawns claude -p "<command>" with stream-json output
β’ --dangerously-skip-permissions (no terminal to confirm)
β’ Whitelisted tools: Read, Write, Edit, Bash, Grep, Glob
Resumes session for conversation context
β’ Parses stdout line by line β system, assistant, result events
Furby reactions:
β’ Every Claude event maps to a stock Furby action antenna color
β’ Thinking β giggle purple
β’ Writing files β hollywood lights green
β’ Bash β ninja dream yellow
β’ Success β stars gold
β’ Error β eyes squeezed red
β’ 12 more
Working on custom DLC eyes now:
β’ 64x64 pixel art uploaded to Furby's flash over BLE at ~4KB/s
β’ Terminal prompt, magnifying glass, loading spinner, checkmark, X mark
β’ 6-bit palette-indexed, packed 4px per 3 bytes
I have a massive Furby-induced headache. Do not recommend trying this at home.