r/robots • u/deebuildsthings • 19m ago
Real-life Robots Building a Lamp that talks to you
Enable HLS to view with audio, or disable this notification
Lamp is a desk lamp with a body: five STS3215 bus servos (base, arm, head) with position and load feedback, a wide-angle camera, a mic array, a speaker and a ring light. It runs an open-source OS that lets an AI agent, such as Claude Code, Codex, Hermes or OpenClaw, see, talk and move through it.
We started the repo on 24 March. October has been our busiest month since: 4,092 commits on the main development branch, more than double April, the previous high at 1,615. The hardware is fixed for now while we focus on production, so the work was software, plus what it takes to build many lamps instead of one. Here's what changed.
1. A way to program it
A common question is whether you can modify it with Claude Code. There's now a documented path for that. docs/develop.md takes about 10 minutes: a fake lamp that runs on your laptop, so you don't need the hardware, Python and JavaScript SDKs, pairing, and lamp-mcp.
Skills moved to format 2. You check a skill, push it, sign it with your own key, and share it. Lamp refuses a package that is unsigned, changed, or renamed.
2. Knowing who said what
Lamp can ties each line to the face and voice that said it, and keeps each person's memory separate. If you talk to it before it recognizes you, those lines are attached to you once it does.
It only keeps what you said about yourself. Not its own words, not your questions. "Forget everything" now asks once and runs only on the same person's yes. Forgetting one specific thing went from 9 s to under 400 ms on a 10 MB memory store.


3. Camera permissions per skill
A skill gets the camera image only after the owner allows that specific skill. Checking whether someone is in the room is a separate, smaller permission that doesn't include the image. Installing a skill by hand in place of a Store skill removes the permission. Onboarding also asks once whether Lamp may notice facial expressions, and stores only a yes.
4. Giving way to a hand
The servos report real position and load, and Lamp now uses that to tell a push from a fault. If a joint is carried away from its goal, Lamp treats it as a hand, stops what it was doing, and doesn't look around again for 30 s unless asked.
Onboarding has a step for this: hold the base, tilt the head, let go when told. If an arm strains three times, Lamp sits down, rests for 30 minutes, then gets back up.
5. Skills don't touch hardware
· New lamps calibrate their servos at the factory before the first run
· A new Orange Pi image boots straight into setup
· lampOS 0.0.4 and 0.0.5 shipped on 22 Oct, including a fix for a button that could get stuck in a held state
· The Fusion 360 file for the current body is in the repo.
· Speech starts streaming within 400 ms of the first part of an answer
· The evening glow stays at least one level below your own light
· "Tap to talk" is now "Press to talk".
Not Done Yet
Naming two people in the same room, add-ons, and ignoring lines meant for someone else in a busy room are built but off by default until they pass on real lamps. Mood reading is at 39% on our internal tracker, and we don't count it as done.
