Most desk robots feel like terminals: they answer, but they never feel present. The maker has spent two months pushing a robotic desk lamp in the opposite direction, and the result is a companion that stays warm and curious in character, never slipping into dry tech talk. The first version only had a camera and a mic to go on, and its voice came out flat. Both problems get addressed in this update.
The hardware is a 5-DOF articulated arm with a ring light head, driven by STS3215 bus servos fed from a single 12V cable. Motion is the detail that stands out to me: it reads real Present_Position and Present_Load straight off the servo bus, uses those readings for joint-limit and lean-back clamping plus contact and overload stops, then layers critically damped smoothing on top with smooth_damp, a deadband and resampled motion clips. In my view that separation between commanded path and easing is a smart way to get fluid movement.
The new senses come from a Sensirion SEN63C module wired over I2C, reporting particulate levels across several size bands along with temperature, humidity and genuine CO2 readings. The agent queries abstract keys like pm, co2 and temperature, so the sensor hardware can be swapped later, which seems like a wise bit of future-proofing. Events fire only when metrics drift over time rather than on every raw sample, and the HAL caches the latest snapshot in RAM while a background worker polls. The payoff is real: Lamp noticed a room going stuffy after a window was closed during cooking downstairs.
The brain is now modular too, migrated from Hermes to OpenClaw with one setting change, keeping the same voice, quirks and long-term memory. The personality lives in a markdown file parsed every turn, and a USB DAC kills ground noise. One open question: the hardware stays as is for a couple of months while production and shipping take priority, so a v2 is a wait-and-see.