Robot arm lamp
Summary: Nikolay Tyulkin has created "Watti," an articulated robotic arm lamp driven locally by a Raspberry Pi 5. The project incorporates 24 V BLDC servo motors communicating via CAN bus, ROS 2 for movement control, custom keyframed animation timelines, and programmable addressable LED lighting.
Key Takeaways
- Local Control with Raspberry Pi 5: Software control was ported from a Windows PC directly to a Raspberry Pi 5, allowing motor control, lighting, and animation playback to execute locally using ROS 2.
- Robust Hardware Architecture: Uses RobStride BLDC servo motors powered at 24 V that communicate across a Controller Area Network (CAN) bus.
- Keyframe Animations & LED Lighting: Each joint features independent timelines with position, velocity, torque, and controller parameters, while an addressable LED ring with a 3D-printed diffuser provides customizable lighting.
Detailed Overview
While traditional desk lamps can simply be repositioned by hand, creator Nikolay Tyulkin built a moving, robotic lamp controlled by Raspberry Pi 5 that combines precision engineering with smooth animation.

Hardware & CAN Bus Integration
The lamp operates using RobStride BLDC servo motors powered at 24 V, connected over CAN (Controller Area Network). CAN is an automotive industry standard protocol that allows devices to communicate directly with each other without needing to route all data through a central computer.
During the initial development stages, Nikolay controlled the lamp's physical movements from a Windows PC. However, he has since ported the software over to a Raspberry Pi 5. By leveraging ROS 2 running on the Raspberry Pi 5, all motor control, lighting effects, and movement animations are handled locally.

Animation Timelines & Lighting
While execution happens locally on the Raspberry Pi 5, the animations themselves are created on a separate computer:
- Joint Timelines: Every individual joint on the robot has its own dedicated timeline containing position keyframes, velocity limits, torque limits, and controller parameters.
- Playback: Finished animation profiles are transferred to the lamp for standalone playback.
- Addressable Diffused Lighting: Light is provided by an addressable LED ring housed inside the lamp head alongside a 3D-printed diffuser. Both the brightness and color of the LEDs can be programmatically controlled as part of the movement animations.
Conclusion & Resources
Nikolay Tyulkin’s "Watti" lamp demonstrates how embedded single-board computers like the Raspberry Pi 5 can transform complex multi-axis motor control and ROS 2 robotics into a self-contained device.
Resources
- Project Link: Learn more about Watti on Raspberry Pi