We believe that it's time to bring
Ruby and Robots together.

Next generation robotics framework with
support for 15 different platforms

Get Started

Meet The Code

Artoo's simple code makes telling robots what to do incredibly simple and fun.
All you need to get started is the artoo gem

require 'artoo'


Then hook it up to your robot (in this case, a Sphero)

connection :sphero, adaptor: :sphero, port: '4560'
device :sphero, driver: :sphero

And tell it what to do!

work do
  every(3.seconds) do
    puts "Rolling..."
    sphero.roll 60, rand(360)

Platform Support

Artoo has an extensible system for connecting to hardware devices. The following robotics and physical computing platforms are currently supported:

15 Platforms

More platforms are coming soon!

Artoo also has support for devices that can work across multiple hardware platforms.

8 GPIO drivers

5 I2C drivers

See more drivers here


Artoo includes a RESTful API to query the status of any robot running within a group, including the connection and device status, and device streaming data via websockets.

To activate the API, use the api command like this:

require 'artoo'

connection :loop
device :passthru

api :host => '', :port => '4321'

work do
  puts "Hello from the API running at #{api_host}:#{api_port}..."


Gort is a Command Line Toolkit (CLI) for RobotOps. Gort provides tools to scan for connected devices, upload firmware, and it works perfectly with Gobot. Also included with Gobot is a CLI for generating new robots and adaptors.

You can can learn more about Gobot's CLI in the docs here.