Week Thirteen: Other People's Robots
The first community-built Beam Bots driver arrives with full uFactory xArm support, someone picks up the bb_policy proposal for learned behaviours, and Elixir 1.20 is knocking on the door.
A framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns.
PubSub, request/response services, lifecycle nodes, parameter systems—ROS2 reinvents what the BEAM already provides. Beam Bots brings robotics to Elixir's battle-tested foundation.
PubSub for inter-node communication
Services for request/response
Actions for long-running tasks
Lifecycle nodes for state management
Parameter system for configuration
Phoenix.PubSub, Registry, process messaging
GenServer.call/3
Supervised Task with progress messages
GenServer with state transitions
ETS
Everything you need to build reliable robot systems, powered by OTP supervision and Elixir's expressive syntax.
~u sigil: ~u(90 degree), ~u(0.5 meter), ~u(10 newton_meter).
This pan-tilt camera mount definition shows how Beam Bots' DSL mirrors physical robot structure. The nesting in the code directly reflects the kinematic chain.
Because it's built on Elixir macros, you can metaprogram your robots—use loops to avoid repetition, or write DSL extensions that transform definitions at compile time.
defmodule PanTiltCamera do
use BB
topology do
link :base_link do
visual do
cylinder do
radius ~u(0.03 meter)
height ~u(0.02 meter)
end
end
joint :pan_joint do
type :revolute
origin do
z ~u(0.015 meter)
end
limit do
lower ~u(-170 degree)
upper ~u(170 degree)
end
link :pan_link do
joint :tilt_joint do
type :revolute
limit do
lower ~u(-45 degree)
upper ~u(90 degree)
end
link :camera_link
end
end
end
end
end
end
Updates, tutorials, and insights from the Beam Bots project.
The first community-built Beam Bots driver arrives with full uFactory xArm support, someone picks up the bb_policy proposal for learned behaviours, and Elixir 1.20 is knocking on the door.
Two quiet weeks while servo driver architecture gets reworked behind the scenes. Plus: Gus shows off the Nerves Starter Kit and gives Beam Bots a shoutout.
The SO-101 example app goes public with simulation mode, two gnarly servo bugs get squashed, and the dependency garden gets weeded.
This project is made possible by the generous support of our sponsors.